单片机复习题答案版.docx
《单片机复习题答案版.docx》由会员分享,可在线阅读,更多相关《单片机复习题答案版.docx(19页珍藏版)》请在冰豆网上搜索。
单片机复习题答案版
课后题部分(精选)
1.1什么是微处理器、CPU、微机、单片机?
答:
微处理器:
指小型计算机或微型计算机的控制和处理部分;微机:
具有完整运算及控制能力的计算机,其中央处理器单元称为CPU。
单片机:
将微处理器、一定量的ROM和RAM及I/O口、定时器等电路集成在一片芯片上构成单片微型计算机。
1.6将下列十六进制数转换成二进制数和十进制数。
答:
1、5AH2、0AE7.D2H3、12BEH4、0A85.6EH
1.8什么叫源码、反吗、补码?
答:
计算机中的带符号数有三种表示方法,即源码、反码和补码。
证书的符号位用0表示,负数的符号位用1表示,。
这种表示方法称为源码。
反码可由源码得到:
如果是正数,则反码于源码相同;如果是负数,则其反码除符号为1外,其他各位数取反。
这种表示方法称为反码。
补码可由反码得到:
如果是正数,则其补码和反码相同;如果是负数,择期补码为反码加1。
这种表示方法为补码。
2.289C51的EA端有何用途?
答:
/EA端接高电平时,CPU只访问片内flashRom并执行内部程序,存储器。
/EA端接低电平时,CPU只访问外部ROM,并执行片外程序存储器中的指令。
/EA端保持高电平时,CPU执行内部存储器中的指令。
2.3.89C51的存储器分哪几个空间?
如何区别不同空间的寻址?
答:
ROM(片内ROM和片外ROM统一编址)(使用MOVC)(数据传送指令)(16bits地址)(64KB)
片外RAM(MOVX)(16bits地址)(64KB)
片内RAM(MOV)(8bits地址)(256B)
2.4.简述89C51片内RAM的空间分配。
答:
片内RAM有256B
低128B是真正的RAM区
高128B是SFR(特殊功能寄存器)区
2.6.如何简捷地判断89C51正在工作?
答:
用示波器观察8051的XTAL2端是否有脉冲信号输出(判断震荡电路工作是否正常?
)
ALE(地址锁存允许)输出是fosc的6分频
用示波器观察ALE是否有脉冲输出(判断8051芯片的好坏?
)
观察PSEN(判断8051能够到EPROM或ROM中读取指令码?
)
因为/PSEN接外部EPROM(ROM)的/OE(输出允许)端子
2.17位地址7CH与字节地址7CH如何区别?
位地址7CH具体在片内RAM中的什么位置?
答:
用不同的寻址方式来加以区分,即访问128个位地址用位寻址方式,访问低128字节单元用字节寻址和间接寻址。
具体地址为2F的第五位,即为7C。
6、 MOVA,40H;直接寻址(40H)→A
MOVR0,A;寄存器寻址(A)→R0
MOVP1,#0F0H;立即数寻址0F0→P1
MOV@R0,30H;直接寻址(30H)→(R0)
MOVDPTR,#3848H;立即数寻址3848H→DPTR
MOV40H,38H;直接寻址(38H)→40H
MOVR0,30H;直接寻址(30H)→R0
MOVP0,R0;寄存器寻址(R0)→P0
MOV18H,#30H;立即数寻址30H→18H
MOVA,@R0;寄存器间接寻址((R0))→A
MOVP2,P1;直接寻址(P1)→P2
最后结果:
(R0)=38H,(A)=40H,(P0)=38H,(P1)=(P2)=0F0H,(DPTR)=3848H,(18H)=30H,(30H)=38H,(38H)=40H,(40H)=40H,(48H)=38H
注意:
→左边是内容,右边是单元
8、
MOVA,DATA;直接寻址2字节1周期
MOVA,#DATA;立即数寻址2字节1周期
MOVDATA1,DATA2;直接寻址3字节2周期
MOV74H,#78H;立即数寻址3字节2周期
如果想查某一指令的机器码,字节数或周期数可查阅书本后面的附录A
9、
MOVA,@R0;((R0))=80H→A
MOV@R0,40H;(40H)=08H→(R0)
MOV40H,A;(A)=80→40H
MOVR0,#35H;35H→R0
最后结果:
(R0)=35H(A)=80H,(32H)=08H,(40H)=80H
25、MOVR2,#31H;数据块长度→R2
MOVR0,#20H;数据块首地址→R0
LOOP:
MOVA,@R0;待查找的数据→A
CLRC;清进位位
SUBBA,#0AAH;待查找的数据是0AAH吗
JZL1;是,转L1
INCR0;不是,地址增1,指向下一个待查数据
DJNZR2,LOOP;数据块长度减1,不等于0,继续查找
MOV51H,#00H;等于0,未找到,00H→51H
RET
L1:
MOV51H,#01H;找到,01H→51H
RET
31、MOVR2,#08H;数据块长度→R2
MOVR0,#30H;数据块目的地址→R0
MOVDPTR,#2000H;数据块源地址→DPTR
LOOP:
MOVXA,@DPTR;传送一个数据
MOV@R0,A
INCDPTR;指向下一个数据
INCR0;
DJNZR2,LOOP;数据块长度减1,没传送完,继续传送
RET
1、什么是中断和中断系统?
其主要功能是什么?
答:
当CPU正在处理某件事情的时候,外部发生的某一件事件请求CPU迅速去处理,于是,CPU暂时中止当前的工作,转去处理所发生的事件,中断服务处理完该事件以后,再回到原来被终止的地方,继续原来的工作。
这种过程称为中断,实现这种功能的部件称为中断系统。
功能:
(1) 使计算机具有实时处理能力,能对外界异步发生的事件作出及时的处理
(2) 完全消除了CPU在查询方式中的等待现象,大大提高了CPU的工作效率
(3) 实现实时控制
2、试编写一段对中断系统初始化的程序,使之允许INT0,INT1,TO,串行口中断,且使T0中断为高优先级中断。
解:
MOVIE,#097H
MOVIP,#02H
13、89C51单片机有五个中断源,但只能设置两个中断优先级,因此,在中断优先级安排上受到一定的限制。
试问以下几种中断优先顺序的安排(级别由高到低)是否可能:
若可能,则应如何设置中断源的中断级别:
否则,请简述不可能的理由。
⑴定时器0,定时器1,外中断0,外中断1,串行口中断。
可以,MOVIP,#0AH
⑵串行口中断,外中断0,定时器0,外中断1,定时器1。
可以,MOVIP,#10H
⑶外中断0,定时器1,外中断1,定时器0,串行口中断。
不可以,只能设置一级高级优先级,如果将INT0,T1设置为高级,而T0级别高于INT1.
⑷外中断0,外中断1,串行口中断,定时器0,定时器1。
可以,MOVIP,#15H
⑸串行口中断,定时器0,外中断0,外中断1,定时器1。
不可以
⑹外中断0,外中断1,定时器0,串行口中断,定时器1。
不可以
⑺外中断0,定时器1,定时器0,外中断1,串行口中断。
可以,MOVIP,#09H
3、89C51定时器有哪几种工作模式?
有何区别?
答:
有四种工作模式:
模式0,模式1,模式2,模式3
(1) 模式0:
选择定时器的高8位和低5位组成一个13位定时器/计数器。
TL低5位溢出时向TH进位,TH溢出时向中断标志位TF进位,并申请中断。
定时时间t=(213-初值)×振荡周期×12;计数长度位213=8192个外部脉冲
(2) 模式1:
与模式0的唯一差别是寄存器TH和TL以全部16位参与操作。
定时时间t=(216-初值)×振荡周期×12;计数长度位216=65536个外部脉冲
(3) 模式2:
把TL0和TL1配置成一个自动重装载的8位定时器/计数器。
TL用作8位计数器,TH用以保存初值。
TL计数溢出时不仅使TF0置1,而且还自动将TH中的内容重新装载到TL中。
定时时间t=(28-初值)×振荡周期×12;计数长度位28=256个外部脉冲
(4) 模式3:
对T0和T1不大相同
若设T0位模式3,TL0和TH0被分为两个相互独立的8位计数器。
TL0为8位计数器,功能与模式0和模式1相同,可定时可计数。
TH0仅用作简单的内部定时功能,它占用了定时器T1的控制位TR1和中断标志位TF1,启动和关闭仅受TR1控制。
定时器T1无工作模式3,但T0在工作模式3时T1仍可设置为0~2。
4、89C51内部设有几个定时器/计数器?
它们是由哪些特殊功能寄存器组成?
答:
89C51单片机内有两个16位定时器/计数器,即T0和T1。
T0由两个8位特殊功能寄存器TH0和TL0组成;T1由TH1和TL1组成。
5、定时器用作定时器时,其定时时间与哪些因素有关?
作计数器时,对外界计数频率有何限制?
答:
定时器用作定时器时定时时间与定时器的工作模式,初值及振荡周期有关。
作计数器时对外界计数频率要求最高为机器振荡频率的1/24。
15、单片机8031的时钟频率为6MHz,若要求定时值分别为0.1ms,1ms,10ms,定时器0工作在模式0、模式1和模式2时,其定时器初值各应是多少?
解:
(1) 0.1ms
模式0:
T0低5位01110B=0EH
T0高8位:
11111110B=FEH
模式1:
模式2:
(2) 1ms
模式0:
T0低5位01100B=0CH
T0高8位:
11110000B=F0H
模式1:
模式2:
在此情况下最长定时为512μs,无法一次实现定时1ms,可用0.1ms循环10次
(3) 10ms
模式0:
T0低5位11000B=18H
T0高8位:
01100011B=63H
模式1:
模式2:
在此情况下最长定时为512μs,无法一次实现定时10ms,可用0.1ms循环100次
1、什么是串行异步通信,它有哪些作用?
答:
在异步串行通信中,数据是一帧一帧(包括一个字符代码或一字节数据)传送的,每一帧的数据格式参考书。
通信采用帧格式,无需同步字符。
存在空闲位也是异步通信的特征之一。
3、简述串行口接收和发送数据的过程。
答:
串行接口的接收和发送是对同一地址(99H)两个物理空间的特殊功能寄存器SBUF进行读和写的。
当向SBUF发“写”命令时(执行“MOVSBUF,A”),即向缓冲期SBUF装载并开始TXD引脚向外发送一帧数据,发送完便使发送中断标志位TI=1。
在满足串行接口接收中断标志位RI(SCON.0)=0的条件下,置允许接收位REN(SCON.4)=1,就会接收一帧数据进入移位寄存器,并装载到接收SBUF中,同时使RI=1。
当发读SBUF命令时(执行“MOVA,SBUF”),便由接收缓冲期SBUF取出信息通过89C51内部总线送CPU。
4、89C51串行口有几种工作方式?
有几种帧格式?
各工作方式的波特率如何确定?
答:
89C51串行口有4种工作方式:
方式0(8位同步移位寄存器),方式1(10位异步收发),方式2(11位异步收发),方式3(11位异步收发)。
有2种帧格式:
10位,11位
方式0:
方式0的波特率≌fosc/12(波特率固定为振荡频率1/12)
方式2:
方式2波特率≌2SMOD/64×fosc
方式1和方式3:
方式1和方式3波特率≌2SMOD/32×(T1溢出速率)
如果T1采用模式2则:
5、若异步通信接口按方式3传送,已知其每分钟传送3600个字符,其波特率是多少?
答:
已知每分钟传送3600个字符,方式3每个字符11位,则:
波特率=(11b/字符)×(3600字符/60s)=660b/s
8、若晶振为11.0592MHz,串行口工作与方式1,波特率为4800b/s。
写出用T1作为波特率发生器的方式字和计数初值。
解:
MOVTMOD,#20H;定时器T1工作于模式2
MOVTH1,#0FAH;赋定时器计数初值
MOVTL1,#0FAH
9、为什么定时器T1用作串行口波特率发生器时,常选用工作模式2?
若已知系统时钟频率和通信用的波特率,如何计算其初值?
答:
因为工作模式2是自动重装初值定时器,编程时无需重装时间参数(计数初值),比较使用。
若选用工作模式0或工作模式1,当定时器T1溢出时,需在中断服务程序中重装初值。
已知系统时钟频率fosc和通信用的波特率fbaud,可得出定时器T1模式2的初值
一、课后习题(上课划定部分,占40%)
二、单项选择题
1、MCS-51单片机在访问外部数据存储器时,其地址指针可采用(A)
A.DPTR B.PC C.PSW D.SP
2、8051单片机有________中断源。
(C)
A.3个 B.4个 C.5个 D.6个
3、要用传送指令访问MCS-51程序存储器,它的指令操作码助记符应是(D)
A.PUSH B.MOV C.MOVXD.MOVC
4、用MCS-51串行口扩展并行I/O口,串行口工作方式应选择(A)
A.方式0 B.方式1 C.方式2 D.方式3
5、51单片机执行MOVC指令时,相关的信号状态是( C )。
A.
有效为低电平,
有效为低电平 B.
无效为高电平,
有效为低电平
C.
有效为低电平,
无效为高电平D.
有效为高电平,
无效为高电平
7、下列指令不是变址寻址方式的是( C )。
A.JMP @A+DPTR B.MOVC A,@A+PC C.MOVX A,@DPTRD.MOVC A,@A+DPTR
8、MCS-51单片机的堆栈区应建立在( A )。
A.片内数据存储区的低128字节单元B.片内数据存储区
C.片内数据存储区的高128字节单元D.程序存储区
9、MCS-51单片机定时器工作方式0是指的( C )工作方式。
A.8位B.8位自动重装C.13位D.16位
10、当需要从MCS-51单片机程序存储器取数据时,采用的指令为(B)。
A.MOVA,@R1B.MOVCA,@A+DPTR C.MOVXA,@R0D.MOVXA,@DPTR
11、当MCS-51单片机接有外部存储器,P2口可作为(D)。
A.数据输入口B。
数据的输出口 C.准双向输入/输出口D.输出高8位地址
12、MCS—5l单片机的堆栈区是设置在(C)中。
A.片内ROM区B.片外ROM区 C.片内RAM区D.片外RAM区
13、片内RAM的20H~2FH为位寻址区,所包含的位地址是(B)。
A.00H一20HB.00H~7FHC.20H~2FHD.00H~FFH
14、在寄存器间接寻址方式中,间址寄存器中存放的数据是(B)。
A.参与操作的数据B.操作数的地址值C.程序的转换地址D.指令的操作码
15、MOVA,20H指令的寻址方式为( B )。
A立即数寻址 B直接寻址 C 寄存器寻址 D寄存器间接寻址
16、工作寄存器区设定为2组,则( C )
A.RS1=0,RS0=0B.RS1=0,RS0=1C.RS1=1,RS0=0D.RS1=1,RS0=1
17、将外RAM中的数据送至ACC,执行指令为C
A.MOVCA,@A+DPTRB.MOVA,@R0
C.MOVXA,@DPTRD.MOVCA,@A+PC
18、T0的中断服务程序入口地址为( B )
(A)0003H(B)000BH(C)0013H(D)001BH
19、启动T1运行的指令是( D )
(A)SETBET0(B)SETBET1(C)SETBTR0(D)SETBTR1
20、CPU允许串行口中断的指令为( B )
(A)SETBEX0(B)SETBES(C)SETBET0(D)SETBET1
21、8051系统中,同一优先级的几个中断源中( A )优先权最高。
(A)INT0(B)T0(C)INT1(D)T1
22、在程序状态字PSW中,( D )位是奇偶校验位。
(A)C(B)AC(C)OV(D)P
23、某异步通讯接口的波特率为4800,则该接口每秒钟传送( A )。
(A)4800位(B)4800字节(C)9600位(D)9600字节
24、判断是否溢出时用PSW的(B)标志位,判断是否有进位时用PSW的(A )标志位。
A.CY B.OV C.P D.RS0 E.RS1
25、当单片机从8155接口芯片内部RAM的20H单元中读取数据时,应使用(D)类指令。
A.MOVA,20H B.MOVXA,@Ri C.MOVCA,@A+DPTR D.MOVXA,@DPTR
26、子程序的返回和中断响应过程中的中断返回都是通过改变PC的内容实现的,而PC内
容的改变是( C )完成的。
A.通过POP命令 B.通过MOV指令 C.通过RET或RETI指令 D.自动
27、单片机复位后,SP、PC、I/O口的内容为(C)
A.SP=07H PC=00H P0=P1=P2=P3=FFH
B.SP=00H PC=0000H P0=P1=P2=P3=00H
C.SP=07H PC=0000H P0=P1=P2=P3=FFH
D.SP=00H PC=00H P0=P1=P2=P3=00H
28、8031定时/计数器共有四种操作模式,并由TMOD寄存器中M1M0的状态决定,当M1M0的状态为10时,定时/计数器被设定为(C)
A.13位定时/计数器 B.16位定时/计数器
C.自动重装8位定时/计数器 D.T0为2个独立的8位定时/计数器,T1停止工作
29、8031有四个工作寄存器区,由PSW状态字中的RS1、RS0两位的状态来决定,单片机
复位后,若执行SETBRS1指令,此时只能使用(C )区的工作寄存器。
A.0区 B.1区 C.2区 D.3区
30、MCS—51单片机的复位信号是(A)有效。
A.高电平B.低电平C.脉冲D.下降沿
31、能够用紫外光擦除ROM中程序的只读存储器称为(C)。
A.掩膜ROMB.PROMC.EPROMD.EEPROM
32、在片外扩展一片2764程序存储器芯片要(B)地址线。
A.8根B.13根C.16根D.20根
三、填空题
1.程序状态字PSW是一个_8__位的寄存器,用于寄存_程序运行中各种状态信息。
2.51单片机的堆栈栈顶由__堆栈指针_SP_来指示,复位时其位置在__07H的RAM__单元。
3.P2口的功能为___扩展外部存储时,作输出高8位地址_和_作为一般I/O口使用__。
4.计算机中按功能把总线分为数据总线、_地址__总线和___控制___总线。
5.当MCS-51引脚ALE信号有效时,表示在P0口稳定地送出了_低8位___地址。
6.MCS-51单片机片内RAM的寄存器区共有__32__个单元,分为__4__组寄存器。
7.MCS-51单片机有___2_____个16位可编程定时器/计数器,有__4______种工作方式。
8.异步串行数据通信的帧格式由起始位、__数据位____、奇偶校验位和停止位组成。
9.8051单片机的内部硬件结构包括了:
运算器、控制器、存储器、和定时器以及并行I/O口、串行口、中断控制系统、时钟电路、位处理器等部件,这些部件通过总线相连接。
10.MCS-51的堆栈只可设置在片内RAM,堆栈寄存器sp是 8位寄存器。
11.MCS-51单片机的P0~P4口均是并行I/O口,其中的P0口和P2口除了可以进行数据的输入、输出外,通常还用来构建系统的外扩ROM和RAM,在P0~P4口中,P0为真正的双向口,P1P2P3为准双向口;P3口具有第二引脚功能。
12.定时器/计数器的工作方式3是指的将TO拆成两个独立的8位计数器。
而另一个定时器/计数器此时通常只可作为波特率发生器使用。
13.假定(SP)=40H,(39H)=30H,(40H)=60H。
执行下列指令:
POPDPH,POPDPL后,DPTR的内容为6030H,SP的内容是38H。
14.若由程序设定RS1、RS0=11,则工作寄存器R0-R7的直接地址为_18H-1FH_。
15.MCS—5l单片机的最大程序寻址空间是 64K ,该空间的地址范围为:
0000H 至0FFFFH。
16.8051单片机有__一____个8位CPU,128个__字节_片内数据存储器,其中有_4__组工作寄存器区,片外数据存储器的最大寻址范围为_64K_字节;有四个_8__位并行I/O接口,有___1___个全双工串行I/O接口,2个__16____位定时器/计数器,工作方式由_TMOD_____特殊功能寄存器设定;有___5___个中断源,其中有__2___个定时器/计数器中断请求源。
17.MCS-51是指单片机的(系列号 )号,8031、8051是指单片机的(型 )号。
18.MCS-51共有(111 )条指令,可分为几种不同的寻址方式。
如:
MOVA,@Ri
属于(寄存器间接 )寻址方式,MOVC,bit属于(位 )寻址方式。
19单片机位寻址区的单元地址是从(20H )单元到(2FH )单元,若某位地址是09H,它所在单元的地址应该是(21H )。
20.8031有两个16位可编程定时/计数器,其中定时作用是指对单片机(对内部fosc/12 )脉冲进行计数,而计数器作用是指对单片机(外部 )脉冲进行计数。
21.当P1口做输入口输入数据时,必须先向该端口的锁存器写入(FF ),否则输入数
据可能出错。
22.单片机串行通信时,若要发送数据,就必须将要发送的数据送至(SBUF )单元,若要接收数据也要到该单元取数。
23.单片机串行通信时,其波特率分为固定和可变两种方式,在波特率可变的方式中,可采用(定时器T1 )的溢出率来设定和计算波特率。
24.若由程序设定RS1、RS0=10,则工作寄存器R0~R7的直接地址为_10-17H____。
25.若累加器A中的数据为01110010B,则PSW中的P=__0_______
26.MCS—51单片机外部中断请求信号有电平方式和边沿触发方式,在电平方式下,当采集到INT0、INT1的有效信号为低电平