完整版单片机原理及接口技术张毅刚课后习题答案.docx
- 文档编号:14773164
- 上传时间:2023-06-27
- 格式:DOCX
- 页数:47
- 大小:561.80KB
完整版单片机原理及接口技术张毅刚课后习题答案.docx
《完整版单片机原理及接口技术张毅刚课后习题答案.docx》由会员分享,可在线阅读,更多相关《完整版单片机原理及接口技术张毅刚课后习题答案.docx(47页珍藏版)》请在冰点文库上搜索。
完整版单片机原理及接口技术张毅刚课后习题答案
第1章单片机概述
1.除了单片机这一名称之外,单片机还可称为答:
微控制器,嵌入式控制器。
2.
、和
单片机与普通微型计算机的不同之处在于其将部分集成于一块芯片上。
答:
CPU、存储器、I/O口。
3.8051与8751的区别是。
B.内部数据存储器的类型不同
D.内部寄存器的数目不同
A.内部数据存储单元数目不同C.内部程序存储器的类型不同答:
Co
4•在家用电器中使用单片机应属于微计算机的o
A•辅助设计应用;B•测量、控制应用;C.数值计算应用;D•数据处理应用答:
Bo
5•微处理器、微计算机、微处理机、CPU、单片机它们之间有何区别?
答:
微处理器、微处理机和CPU都是中央处理器的不同称谓;而微计算机、单片机都是一个完整的计算机系统,单片机特指集成在一个芯片上的用于测控目的的单片微计算机。
6.MCS-51系列单片机的基本型芯片分别为哪几种?
它们的差别是什么?
答:
MCS-51系列单片机的基本型芯片分别是8031、8051和8751o它们的差别是在片内程序存储器上。
8031无片内程序存储器,8051片内有4KB的程序存储器ROM,而8751片内集成有4KB的程序存储器EPROM。
7.为什么不应当把51系列单片机称为MCS-51系列单片机?
答:
因为MCS-51系列单片机中的“MCS”是Intel公司生产的单片机的系列符号,而51系列单片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机。
&AT89C51单片机相当于MCS-51系列单片机中的哪一种型号的产品?
答:
相当于MCS-51系列中的87C51,只不过是AT89C51芯片内的4KBFlash存储器取代了87C51片内的4KB的EPROMo
第2章AT89C51单片机片内硬件结构
1.在AT89C51单片机中,如果采用6MHz晶振,一个机器周期为
个时钟振汤周期。
答:
2血
2.AT89C51单片机的机器周期等于
答:
12。
3.内部RAM中,位地址为40H、88H的位,该位所在字节的字节地址分别为
和。
答:
28H;88H。
4.
;片内字节地址为
片内字节地址为2AH单元的最低位的位地址是
88H单元的最低位的位地址是
答:
50H;88H。
5.若A中的内容为63H,那么,P标志位的值为。
答:
P标志位的值为0。
6.AT89C51单片机复位后,R4所对应的存储单元的地址为,因上电时
PSW=。
这时当前的工作寄存器区是组工作寄存器区。
答:
04H;00H;0。
7.内部RAM中,可作为工作寄存器区的单元地址为
答:
00H;1FH。
&通过堆栈操作实现子程序调用,首先要把的内容入栈,以进行断点
保护。
调用返回时,再进行出栈保护,把保护的断点送回到。
答:
PC;PC。
9.AT89C51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为AT89C51单片机的PC是16位的,因此其寻址的范围为KB。
答:
64KB。
10•判断下列项说法是正确的。
A.AT89C51单片机的CPU是由RAM和EPROM组成的
B.区分片外程序存储器和片外数据存储器的最可靠的方法是看其位于地址范围的低端还是高端
C.在AT89C51单片机中,为使准双向的I/O口工作在输入方式,必须保证它被事先预置为1
D.PC可以看成是程序存储器的地址指针答:
A.错;B.错;C.对;D.对。
是正确的。
11•判断以下有关PC和DPTR的结论—
A.DPTR是可以访问的,而PC不能访问
B.它们都是16位寄存器
C.在单片机运行时,它们都具有自动加“1”的功能
D.DPTR可以分为2个8位的寄存器使用,但PC不能答:
A.对;B.对;C.错;D.对。
12•判断下列说法项是正确的。
A•程序计数器PC不能为用户编程时直接访问,因为它没有地址
B.内部RAM的位寻址区,只能供位寻址使用,而不能供字节寻址使用
C.AT89C51单片机共有21个特殊功能寄存器,它们的位都是可用软件设置的,因此,是可以进行位寻址的。
答:
A.对;B.错;C.错。
13.PC的值是—
A.
B.
C.
D.答:
PC是一个不可寻址的特殊功能寄存器单片机的主频越高,其运算速度越快在AT89C51单片机中,一个机器周期等于1s特殊功能寄存器内存放的是栈顶首地址单元的内容
答:
A.对;B.对;C.错;D.错。
1个微处理器(CPU);
128个数据存储器(RAM)单元;
4KBFlash程序存储器;
4个8位可编程并行I/O口(P0口、P1口、P2口、P3口);1个全双工串行口;
2个16位定时器/计数器;
一个中断系统,5个中断源,2个优先级;
21个特殊功能寄存器(SFR)。
15.AT89C51单片机的片内都集成了哪些功能部件?
各个功能部件的最主要的功能是什么?
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)16•说明AT89C51单片机的引脚EA的作用,该引脚接高电平和低电平时各有何种功能?
答:
当EA脚为高电平时,单片机读片内程序存储器(4KBFlash),但在PC值超过0FFFH(即超出4KB地址范围)时,将自动转向读外部程序存储器内的程序。
当EA脚为低电平时,对程序存储器的读操作只限定在外部程序存储器,地址为
0000H〜FFFFH,片内的4KBFlash程序存储器不起作用。
17.64KB程序存储器空间有5个单元地址对应AT89C51单片机5个中断源的中断入口地址,请写出这些单元的入口地址及对应的中断源。
答:
64KB程序存储器空间中有5个特殊单元分别对应于5个中断源的中断服务程序的入口地址,见下表。
表5个中断源的中断入口地址
入口地址
中断源
0003H
外部中断0(皿0)
000BH
定时器0(T0)
0013H
外部中断1(INT1)
001BH
定时器1仃1)
0023H
串行口
18.当AT89C51单片机运行出错或程序陷入死循环时,如何摆脱困境?
答:
按下复位按钮。
第3章AT89C51单片机的指令系统
1.
.作为变址寄存器,以
在基址加变址寻址方式中,以为基址寄存器。
答:
A,PC,DPTRo
组成。
2.指令格式是由和组成,也可仅由
答:
操作码,操作数,操作码。
3.假定累加器A中的内容为30H,执行指令
1000H:
MOVCA,@A+PC
后,把程序存储器单元的内容送入累加器A中。
答:
1031H。
4.在AT89C51单片机中,PC和DPTR都用于提供地址,但PC是为访问
存储器提供地址,而DPTR是为访问存储器提供地址。
答:
程序,数据。
5.在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作
数,而是操作数的。
答:
地址。
6.已知程序执行前有(A)=02H,(SP)=52H,(51H)=FFH,(52H)=FFH。
下述程序执行后,(A)=,(SP)=,(51H)=,(52H)=,(PC)=。
DPH
DPL
DPTR,#4000H
A
B,A
A,@A+DPTR
Acc
A,B
A
A,@A+DPTR
Acc
POP
POP
MOV
RL
MOV
MOVC
PUSH
MOV
INC
MOVC
PUSH
RET
4000H
10H,80H,30H,50H,30H,50H
ORG
DB答:
(A)=50H,(SP)=50H,(51H)=30H,(52H)=50H,(PC)=5030H。
A,#17H17H,A
A,@R0A
7.假定(A)=83H,(R0)=17H,(17H)=34H,执行以下指令后,(A)=ANL
ORL
XRL
CPL答:
(A)=0CBH。
&假设(A)=55H,(R3)=0AAH,在执行指令“ANLA,R5”后,(A)=
(R3)=。
答:
(A)=00H,(R3)=0AAH。
9.女口果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,
答:
(DPH)=3CH,(DPL)=5FH,(SP)=50H。
10.假定,(SP)=60H,(A)=30H,(B)=70H,执行下列指令后,SP的内容
为,61H单元的内容为,62H单元的内容为。
PUSHAcc
PUSHB
答:
(SP)=62H,(61H)=30H,(62H)=70H。
11.判断下列说法项是正确的。
A.立即寻址方式是被操作的数据本身就在指令中,而不是它的地址在指令中
B.指令周期是执行一条指令的时间
C.
指令中直接给出的操作数称为直接寻址答:
13.访问SFR,可使用哪些寻址方式?
答:
只能使用直接寻址方式。
借助本书中的表3-2(指令表),对如下指令代码(十六进制)进行手工反汇
第4章AT89C51单片机汇编语言程序设计
1.已知程序执行前有A=02H,SP=42H,(41H)=FFH,(42H)=FFH。
下述程序执行后,A=;SP=;(41H)=;(42H)=:
DPH
DPL
DPTR,#3000HA
B,A
A,@A+DPTR
Acc
A,B
A
A,@A+DPTR
Acc
3000H
10H,80H,30H,80H,50H,80H
A=80H,SP=40H,(51H)=50H,(52H)=80H,PC=8050H。
PC=_POPPOPMOVRLMOVMOVCPUSHMOVINCMOVCPUSHRETORGDB答:
2.说明伪指令的作用。
“伪”的含义是什么?
常用伪指令的功能如何?
答:
伪指令不属于指令系统中的汇编语言指令,它是程序员发给汇编程序的控制命令。
只有在汇编前的源程序中才有伪指令。
所以“伪”体现在汇编后,伪指令没有相应的机器代码产生。
3.解释手工汇编、机器汇编、交叉汇编、反汇编术语概念。
答:
(1)手工汇编:
手工编程,首先把程序用助记符指令写出,然后通过查指令的机器代码表,逐个把助记符指令“翻译”成机器代码,这种人工查表“翻译”指令的方法称为手工汇编。
(2)机器汇编:
是借助于微型计算机上的软件(汇编程序)来代替手工汇编,完成把助记符指令“翻译”成机器代码的工作。
(3)交叉汇编:
使用微型计算机来完成汇编,而汇编后得到的机器代码却是在另一台计算机(这里是单片机)上运行,称这种机器汇编为交叉汇编。
(4)反汇编:
将二进制的机器代码语言程序翻译成汇编语言源程序的过程。
4.
1000H
EQU1234H
EQU3000H
"MAIN"TAB1,TAB2,70H
下列程序段经汇编后,从1000H开始的各有关存储单元的内容是什么?
ORG
TAB1
TAB2
DB
DW
答:
4D41494E123430000070
5.设计子程序时应注意哪些问题?
答:
在编写子程序时应注意以下问题。
(1)子程序的第一条指令前必须有标号。
(2)使用子程序调用指令时,有两条调用指令可供使用。
1使用绝对调用指令(ACALLaddr11)要注意,被调用的子程序的首地址与本绝对调用指令的下一条指令的高5位地址相同,即只能在同一2KB程序存储区内。
2使用长调用指令(LCALLaddr16)时,addr16为直接调用的子程序的目标地址,也就是说,被调用的子程序可放置在64KB程序存储器区的任意位置。
(3)子程序结构中必须用到堆栈,堆栈通常用来保护断点和现场保护。
(4)子程序返回主程序时,最后一条指令必须是RET指令。
(5)子程序可以嵌套,即主程序可以调用子程序,子程序又可以调用另外的子程序。
6.试编写一个程序,将内部RAM中45H单元的高4位清“0”,低4位置“1”。
答:
参考程序如下:
MOV
A,45H
ANL
A,#0FH
ORL
A,#0FH
MOV
45H,A
7.
查找在内部RAM的30H〜50H单元中是否有OAAH这一数据。
试编写程序,
若有,则将51H单元置为“01H”;若未找到,则将51H单元置为“00H”。
答:
参考程序如下:
START:
MOV
R0,#30H
MOV
R2,#20H
LOOP:
MOV
A,@R0
CJNE
A,#0AAH,NEXT
MOV
51H,#01H
LJMP
EXIT
NEXT:
INC
R0
DJNZ
R2,LOOP
MOV
51H,#00H
EXIT:
RET
&试编写程序,查找在内部RAM的20H〜40H单元中出现“00H”这一数据的次数,并将查找到的结果存入41H单元。
答:
参考程序如下:
START:
MOV
41H,#0
MOV
R0,#20H
MOV
R2,#20H
LOOP:
MOV
A,@R0
JNZ
NEXT
INC
41H
NEXT:
INC
R0
DJNZ
R2,LOOP
9.在内部编写程序,
答:
略:
RET
RAM的21H单元开始存有一组单字节无符号数,数据长度为20H,
要求找出最大数存入MAX单元。
10.若SP=60H,标号LABEL所在的地址为3456H°LCALL指令的地址为2000H,执行如下指令
2000HLCALLLABEL
后,堆栈指针SP和堆栈内容发生了哪些变化?
PC的值等于什么?
如果将指令LCALL直接换成ACALL是否可以?
如果换成ACALL指令,可调用的地址范围是什么?
SP=SP+1=61H(61H)=PC的低字节=03H
SP=SP+1=62H(62H)=PC的高字节=20HPC=3456H
可以
2KB=2048Byte
答:
(1)
(2)
(3)
(4)
第5章AT89C51单片机的中断系统
最低者为
2.若(IP)=00010100B,则优先级最高者为答:
外部中断1;定时器T1。
3.AT89C51单片机响应中断后,产生长调用指令LCALL,执行该指令的过程包括:
首先把的内容压入堆栈,以进行断点保护,然后把长调用指令的
16位地址送,使程序执行转向中的中断地址区。
答:
PC、PC、程序存储器。
4.判断AT89C51单片机对外中断请求源响应的最快响应时间为3个机器周
期
答:
对。
6•中断查询确认后,在下列各种AT89C51单片机运行情况下,能立即进行响应的是。
A.当前正在进行高优先级中断处理
B.当前正在执行RETI指令
C.当前指令是DIV指令,且正处于取指令的机器周期
D.当前指令是MOVA,R3答:
Do
7.在AT89C51单片机的中断请求源中,需要外加电路实现中断撤销的是o
A.电平方式的外部中断
B.脉冲方式的外部中断
C.外部串行中断
D.定时中断
答:
Ao
&下列说法正确的是o
A.同一级别的中断请求按时间的先后顺序响应B.同一时间同一级别的多中断请求将形成阻塞,系统无法响应
C.低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求
D.同级中断不能嵌套
答:
A、C、Do
以允许
其他
CPU将
9•中断服务子程序与普通子程序有哪些相同和不同之处?
答:
RETI指令在返回时,同时清除中断系统中相应的优先级触发器,下次中断,而RET指令则没有这个操作。
除了这一点两条指令不同外,操作都相同。
10.AT89C51单片机响应外部中断的典型时间是多少?
在哪些情况下,推迟对外部中断请求的响应?
答:
略。
11.
IT1
EX1
EA
编写外部中断1为跳沿触发的中断初始化程序段。
答:
SETB
SETB
SETB
12.中断响应的条件是什么?
答:
略。
答:
参见电路如图
ORG
LJMP
ORG
5-10所示,参考程序如下:
0000H
MAIN
0013H
INT_EX1
0030H
LJMP
ORG
MAIN:
CLR
IT0
;采用电平触发,低电平有效中断
SETB
EX1
;允许外部中断1
SETB
EA
WAIT:
LJMP
WAIT
;用原地跳转代替一段用户程序
;以下为外部中断1
服务子程序
INT_EX1:
JNB
P1.2,NEXT1;P1.2=0不是3号中断,跳转NEXT1
LJMP
INT_IR3
;是3号中断,跳转到对应的中断处理程序
NEXT1:
JNB
P1.1,NEXT2;P1.1=0不是2号中断,跳转NEXT2
LJMP
INT_IR2
;跳转到2号中断处理程序
NEXT2:
LJMP
INT_IR1
;跳转到1号中断处理程序
ORG
1000H
INT_IR3:
插入相应中断处理程序
RETI
;中断返回
ORG
1100H
INT_IR2:
插入相应中断处理程序
RETI
;中断返回
ORG
1200H
;中断返回
插入相应中断处理程序
RETI
INT_IR1:
13.某系统有3个外部中断源1、2、3,当某一中断源发出的中断请求使INTi引脚变为低电平时(见图5-10),便要求CPU进行处理,它们的优先处理次序由高到低为3、2、1,中断处理程序的入口地址分别为1000H、1100H、1200H。
试
编写主程序及中断服务子程序(转至相应的中断处理程序的入口即可)。
第6章AT89C51单片机的定时器/计数器
3.定时器/计数器用作定时器模式时,其计数脉冲由谁提供?
定时时间与哪些因素有关?
答:
定时器/计数器用作定时器时,其计数脉冲由系统振荡器产生的内部时钟信号12分频后提供。
定时时间与时钟频率和定时初值有关。
4.定时器/计数器用作计数器模式时,对外界计数频率有何限制?
答:
由于确认1次负跳变要花2个机器周期,即24个振荡周期,因此外部输入的计数脉冲的最高频率为系统振荡器频率的1/24o
SETB
ET0
;允许T0中断
SETB
EA
;CPU开中断
CLR
F0
;设置下一轮定时方式的标志位
WAIT:
AJMP
WAIT
IT0P:
CLR
EA
;CPU关中断
JB
F0,COUNT
;F0=1,转计数方式设置
MOV
TMOD,#00H
;定时器/计数器T0为定时方式0
MOV
TH0,#0FEH
;定时1ms初值赋值
MOV
TL0,#0CH
SETB
EA
RETI
COUNT:
MOV
TMOD,#06H
MOV
TL0,#156
SETB
EA
RETI
6.定时器/计数器的工作方式2有什么特点?
适用于哪些应用场合?
答:
定时器/计数器的工作方式2具有自动恢复初值的特点,适用于精确定时,
如波特率的产生。
ORG
0000H
LJMP
MAIN
ORG
000BH
MAIN:
LJMP
IT0P
MOV
TMOD,#02H
1;疋时器/计数器T0为疋时方式
MOV
TL0,#4AH
;定时364s初值赋值
SETB
TR0
;启动T0,开始计数
SETB
ET0
;允许T0中断
SETB
EA
;CPU开中断
SETB
P1.0
WAIT:
AJMP
WAIT
IT0P:
CLR
EA
CLR
P1.0
;关中断
MOV
R0,#9
DLY:
DJNZ
R0,DLY
;延时36s
MOV
TL0,#4AH
;定时364s初值赋值
SETB
P1.0
SETB
EA
RETI
2
7.编写程序,要求使用TO,采用方式2定时,在P1.0输出周期为4004,占空比为10:
1的矩形脉冲。
答:
根据题意,从P1.0输出的矩形脉冲的高低电平的时间为10:
1,则高低电平
的时间分别为363.63fs和36.37;8。
如果系统采用6MHz晶振,Tcy=2,因此高低电平输出取整,则约为364g和36血。
参考程序如下:
8—个定时器的定时时间有限,如何用两个定时器的串行定时来实现较长时间
的定时?
答:
方法1,在第一个定时器的中断程序里关闭本定时器的中断程序,设置和打开另一个定时器;在另一个定时器的中断程序中关闭本定时中断,设置和打开另一个定时器。
这种方式的定时时间为两个定时器定时时间的和。
方法2,一个作为定时器,在定时中断后产生一个外部计数脉冲(比如由P1.0接
INTO产生),另一个定时器工作在计数方式。
这样两个定时器的定时时间为一个定时器的定时时间乘以另一个定时器的计数值。
9.当定时器TO用于方式3时,应该如何控制定时器T1的启动和关闭?
答:
由T1(P3.5)口控制定时器T1的启动和关闭。
10.定时器/计数器测量某正单脉冲的宽度,采用何种方式可得到最大量程?
若时钟频率为6MHz,求允许测量的最大脉冲宽度是多少?
答:
采用方式1定时工作方式。
最大脉冲宽度为131.O72mSo
11.编写一段程序,功能要求:
当P1.0引脚的电平正跳变时,对P1.1的输入脉
RO、R1
冲进行计数;当P1.2引脚的电平负跳变时,停止计数,并将计数值写入
(高位存R1,低位存R0)o
答:
将P1.1的输入脉冲接入
是普通寄存器还是计数器?
其内容可以随时用指令
12.THx与TLx(x=0,1)
更改吗?
更改后的新值是立即刷新还是等当前计数器计满后才能刷新?
答:
THx与TLx(x=0,1)是由特殊功能寄存器构成的计数器,其内容可以随时用指令更改,更改后的新值立即刷新。
但在读THx、TLx值时,应该先读THx值,后读TLx,再读THx值。
若两次读得THx值相同,则可确定读得的内容正确。
若前后两次读得的THx值有变化,再重复上述过程。
第7章AT89C51单片机的串行口
1.帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式。
答
2.
的。
在串行通信中,收发双方对波特率的设定应该是答:
相等。
3.下列选项中,是正确的。
A.串行口通信的第9数据位的功能可由用户定义
B.发送数据的第9数据位的内容是在SCON寄存器的TB8位中预先准备好的
C.串行通信帧发送时,指令把TB8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 单片机 原理 接口 技术 张毅刚 课后 习题 答案