单片机原理与接口技术习题答案样本.docx
《单片机原理与接口技术习题答案样本.docx》由会员分享,可在线阅读,更多相关《单片机原理与接口技术习题答案样本.docx(30页珍藏版)》请在冰豆网上搜索。
单片机原理与接口技术习题答案样本
单片机原理与接口技术
习
题
集
答
案
第1部分答案
1-1简述冯·诺依曼型计算机的主要特征。
1、采用二进制代替十进制运算
2、存储程序工作方法
3、计算机硬件系统的构成
1-2计算机硬件系统由哪些部件组成?
计算机硬件系统由运算器、控制器、存储器、输入设备和输出设备五个部分。
1-3填空:
(1)100D=01100100=64H
(2)03CH=00111100B=60D
1-4写出下列各数的原码、反码和补码(用二进制数表示)。
21-2159-59127-1271-1
21原码:
00010101
反码:
00010101
补码:
00010101
-21原码:
10010101
反码:
11101010
补码:
11111011
59原码:
00111011
反码:
00111011
补码:
00111011
-59原码:
10111011
反码:
11000100
补码:
11000101
127原码:
01111111
反码:
01111111
补码:
01111111
-127原码:
11111111
反码:
10000000
补码:
10000001
1原码:
00000001
反码:
00000001
补码:
00000001
-1原码:
1000001
反码:
11111110
补码:
11111111
1-5用十进制数写出下列补码的真值:
1FH69H89HFCH97HCDHB3H10H
1FH的真值:
31D
69H的真值:
105D
89H的真值:
-119D
FCH的真值:
-4D
97H的真值:
-105D
CDH的真值:
-51D
B3H的真值:
-77D
10H的真值:
16D
1-6已知X和Y,求(X+Y)补。
(1)X=31D,Y=55D(X+Y)补=01010000B
(2)X=46D,Y=-81D(X+Y)补=11010001B
(3)X=-54D,Y=93D(X+Y)补=00100111B
(4)X=-23D,Y=-67D(X+Y)补=10100110B
(5)X=75D,Y=89D(X+Y)补=10100100B
1-7写出下列各数的8421BCD码。
12345678
1234的BCD码:
0100
5678的BCD码:
1000
1-8简述单片机的主要特点。
1、具有优异的性能价格比
2、集成度高、体积小、可靠性高
3、控制功能强
4、低电压、低功耗
第2部分答案
1、MCS-51单片机内部包含哪些主要部件?
①8位CPU
②4KB的程序存储器(掩膜ROM)
③128B的数据存储器
④片外程序存储器最大寻址能力64KB
⑤片外数据存储器最大寻址能力64KB
⑥32根输入/输出线
⑦1个全双工异步串行接口
⑧2个16位定时/计数器
⑨5个中断源,2个中断优先级
2、在功能上、工艺上、程序存储器的配置上,MCS-51单片机有哪些种类?
工艺:
HMOS工艺和CHMOS工艺。
类型:
基本型和增强型。
配置:
片内无程序存储器、掩膜程序存储器ROM、EPROM。
3、简要说明MCS-51与AT89C51的主要区别是什么?
AT89C51单片机内部有FLASH存储器
4、MCS-51单片机的P0~P3口在结构上有何不同?
P0:
数据总线和低8位地址总线
P1:
通用I/O接口
P2:
高8位地址线
P3:
多功能I/O接口
5、单片机的片内、片外存储器如何选择?
当为低电平时,CPU直接访问外部程序存储器
当为高电平时,CPU要先对内部0~4K程序存储器访问,然后自动延至外部超过4K的程序存储器。
6、片机的晶振频率为12MHz,则单片机的机器周期为多少?
1T机器=12T振=12/fOSC=12/12×10-6=1us
7、状态字寄存器各位的含义如何?
PSW的各位定义为:
CY:
进行标志位(D7位)。
在进行加、减运算时,如果操作结果使累加器A中最高位D7向前有进位或借位,则CY=1,否则CY=0。
在位操作中,CY作位累加器C使用。
AC:
辅助进行位(D6位)。
在加减运算中,当A中的D3位向D4位有进位或借位时,AC=l,否则AC=0。
一般在二-十进制调整时使用。
F0、F1:
用户标志位(D6、D1位)。
这两个是供用户定义的标志位,用户可根据需要对F0、F1赋予一定的含义,由用户用软件方法对其置位或复位,用以控制用户程序的转向。
RS1、RS0:
工作寄存器区选择控制位(D4、D3位)。
用于设定哪一组工作寄存器为当前正在工作的工作寄存器组,即对相同名称的R0~R7改变其物理地址,由用户经过软件方式加以选择。
RS1、RS0的取值与选用工作寄存器的关系如表2-7示。
单片机在开机或复位后,RS1和RS0总是为零状态,也说是说,选择0区为当前工作寄存器组,故单片机复位后的工作寄存器R0~R7的物理地址为00H~07H。
表2-7工作寄存器组选择
RS1RS0
工作寄存器组
地址
寄存器
00
01
10
11
0
1
2
3
00H~07H
08H~0FH
10H~17H
18H~1FH
R0~R7
R0~R7
R0~R7
R0~R7
OV:
溢出标志位。
用于指示累加器A在算术运算过程中是否发生的溢出。
当运算结果超出了8位数能表示的范围,即-128~+127,则OV自动置1,否则OV=0。
在加法运算中,OV=l表示运算结果是错误的,OV=0表示运算正确;在乘法运算中,OV=l表示乘积超过255,即乘积分别在B与A中,OV=0表示乘积只在A中;在除法运算中,OV=l表示除数为0,除法不能进行,OV=0表示除数不为0,除法能够正常进行。
P:
奇偶标志位。
每条指令执行完毕后,由硬件根据A中1的数目对P位自动置位。
若A中1的数目为奇数,则P=1,若A中1的数目为偶数,则P=0。
8、MCS-51单片机的控制信号有哪些?
作用如何?
①(29脚):
外部程序存储器读选通信号。
②ALE/(30脚):
地址锁存允许/编程信号。
8051单片机可寻
③/VPP(31脚):
外部程序存储器访问允许/编程电压输入端。
④RST/VPD(9脚):
复位信号/备用电源输入端。
9、单片机内部数据存储器是怎样划分的?
作用如何?
10、AT89C51单片机有多少特殊功能寄存器?
21
11.什么叫堆栈?
堆栈指示器SP的作用是什么?
单片机初始化后SP中内容是什么?
在程序设计时,为什么要对SP重新赋值?
堆栈就是设置在片内RAM中的一段存储区域,它遵循先入后出的原则。
SP就是一个用来指示栈顶位置的8位寄存器,它指示出堆栈顶部在内部RAM块中的位置。
SP初始化07H,使得堆栈事实上由08H单元开始。
考虑到08H~1FH分属于工作寄存器区1~3,若程序设计要用到这些区,则最好把SP值改到通用RAM区,即2FH或更大值。
可是,如果堆栈指针初始化时设置在这个区域,就要留出足够的字节单元作为堆栈区,以防止在数据存储时,破坏了堆栈的内容。
12、数据指针DPTR和程序计数器PC都是16位寄存器,它们有什么不同之处?
①数据指针DPTR数据指针DPTR是一个16位的寄存器,由2个8位特殊功能寄存器DPH和DPL拼装而成。
DPH作DPTR的高8位,DPL作DPTR的低8位。
因此,DPTR既可作为一个16位寄存器来使用,也能够作为二个独立的8位寄存器DPH和DPL使用。
DPTR用作地址指针用来存放片内、片外ROM和片外RAM的地址,可寻址范围为64K地址空间寻址。
②程序计数器PC程序计数器PC是一个16位加1计数器,用来存放将要执行的指令地址,编码范围为0000H~FFFFH共64K。
13、8031单片机在应用中,P2和P0口能否直接作为输入输出口连接开关、指示灯之类的外围设备?
为什么?
不能,8031单片机芯片内无程序存储器,P0口需用作数据总线和低8位地址总线来扩展外部程序存储器。
14、AT89系列单片机的复位方式有几种?
复位后单片机的状态如何?
有两种复位方式:
手动按钮复位和上电复位
在SFR中,除了端口锁存器、堆栈指针SP和串行口的SBUF外,其余寄存器全部清零,端口琐存器的复位值为0FFH,堆栈指针值为07H,SBUF内为不定值。
内部RAM的状态不受复位影响,在系统启动时,RAM的内容是不定的。
15、AT89系列单片机有哪几种省电方式?
有两种省电方式:
空闲方式和掉电方式
第3部分答案
1、简述下列基本概念:
指令、指令系统、程序、汇编语言指令
指令:
指示计算机执行某种操作的命令。
指令系统:
指一台计算机所具有的全部指令的集合。
程序:
各种指令的有序组合。
汇编语言指令:
用助记符形式书写的指令,汇编语言指令由操作码和操作数两部分组成。
2、MCS-51单片机有那几种寻址方式?
这几种寻址方式是如何寻址
有七种寻址方式:
①立即寻址
②直接寻址
③寄存器寻址
④寄存器间接寻址
⑤变址寻址
⑥相对寻址
⑦位寻址
3、DAA指令有什么作用?
怎样使用?
DAA;这条指令是进行BCD码运算时,跟在ADD或ADDC指令之后,将相加后存放在累加器中的结果进行修正。
修正的条件和方法为:
若(A0~3)>9或(AC)=1,则(A0~3)+06H→(A0~3);
若(A4~7)>9或(CY)=1,则(A4~7)+06H→(A4~7)。
若以上二条同时发生,或高4位虽等于9,但低4位修正后有进位,则应加66H修正。
4、已知A=C9H,B=8DH,CY=1。
执行指令”ADDCA,B”结果如何?
执行指令”SUBBA,B”结果又如果?
A=56H,B=8DH,CY=0;
A=3CH,B=8DH,CY=1.
5、若需访问特殊功能寄存器和片外数据存储器,就采用那些寻址方式?
寄存器间接寻址.
6、在片内RAM中,已知(30H)=38H,(38H)=40H,(40H)=48H,(48)H=90H,试分析下段程序中各条指令的作用,说出按顺序执行完指令后的结果:
MOVA,40H;把40单元的内容送往累加器A
MOVR1,A;把累加器A的内容送往R1
MOVP1,#0F0H;把立即数F0送往P1口
MOV@R1,30H;把30单元的内容送往以R1的内容为地址的单元
MOVDPTR,#1234H;把立即数1234送往DPTR
MOV40H,38H;把38单元的内容送往40单元
MOVR1,30H;把30单元的内容送往R1
MOV90H,R1;把R1的内容送往90单元
MOV48H,#30H;把立即数30送往48单元
MOVA,@R1;把以R1的内容作为地址送往累加器A
MOVP2,P1;把P1口的内容送往P2口
7、试说明下段程序中每条指令的作