单片机复习题.docx
- 文档编号:6317118
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:27
- 大小:72.93KB
单片机复习题.docx
《单片机复习题.docx》由会员分享,可在线阅读,更多相关《单片机复习题.docx(27页珍藏版)》请在冰豆网上搜索。
单片机复习题
一、课后习题
P15,1.6.8.
P47,2.3.4.6.7.11.13.15.16.17.18.20.
P84,6.8.9.11.12.13.21.25.31
P98例4-8,例4-9,例4-10
P1291.2.4.13.例5-3例5-4
P1451.3.4.5.15.例6-5例6-4
P1921.3.4.5.8.9.例7-2例7-3
P2262.3.4.5.8.10.13.15
P2771.8.9.11P276图9-46例题P262图9-29例题
1.1什么是微处理器、CPU、微机和单片机?
微处理器:
指小型计算机或微型计算机的控制和处理部分;微机:
具有完整运算及控制能力的计算机,其中央处理单元称为CPU。
单片机:
将微处理器、一定量的ROM和RAM及I/O口、定时器等电路集成在一片芯片上构成单片微型计算机。
1.6将下列十六进制数转换成二进制数和十进制数
5AH
0AE7.D2H
12BEH
0A85.6EH
1.8什么叫源码、反码及补码?
答:
计算机中的带符号数有三种表示方法,即原码、反码和补码。
正数的符号位用0表示,负数的符号位用1表示。
这种表示方法称为原码。
反码可由原码得到:
如果是正数,则反码与原码相同;如果是负数,则其反码除符号为1外,其他各数位取反。
这种表示方法称为反码。
补码可由反码得到:
如果是正数,则其补码和反码相同;如果是负数,则其补码为反码加1.这种表示方法称为补码。
2.289C51的EA段有何用途?
答:
控制CPU访问片内和片外ROM的引脚
2.389C51的存储器分几个空间?
如何区别不同空间的寻址?
答:
89C51主要分片内ROM、片外ROM\片内RAM、片外RAM;其中访问片内RAM指令为MOV,片外RAM访问指令为MOVX,访问ROM指令为MOVC,若EA接高电平则访问片内ROM,若EA接低电平,则访问片外ROM。
2.4简述89C51片内RAM的空间分配?
答:
片内RAM主要分低128字节,是真正的RAM区;高128字节为特殊功能寄存器(SFR)
2.6如何简捷地判断89C51正在工作?
答:
可用示波器查看ALE端是否有脉冲信号输出。
若有脉冲信号输出,则89C51基本上是好的。
2.789C51如何确定和改变当前工作寄存器组?
答:
PSW中的RS0和RS1为工作寄存器组。
选择控制这两位的值可决定选择哪一组共组寄存器组,改变RS0、RS1的组合,以切换当前选用的寄存器组
2.1189C51单片机的EA信号有何功能?
在使用8031时,EA信号引脚应如何处理?
答:
EA为外部程序储存器地址允许输入端。
当EA接高电平时,CPU只访问片内ROM,接低电平时,CPU,只访问片外ROM。
使用8031时,EA=0
2.13内部RAM低128字节单元分为哪3个主要部分?
各部分主要功能是什么?
答:
00H~1FH地址安排为4组工作寄存器组,每组有8个工作寄存器(R0~R7H),通过对PSW中RS1、RS0的设置,选定哪一组工作寄存器为当前工作寄存器组;后16字节单元(20~2FH),可用位寻址方式访问各位,30~7F为通用RAM。
2.15开机复位后,CPU使用的是哪组工作寄存器?
他们的地址是什么?
CPU如何确定和改变当前工作寄存器组?
答:
开机复位后CPU使用的是第0组寄存器,地址为00~07H,CPU通过确定RS0和RS1的值来决定当前工作寄存器组,也通过改变RS0、RS1的值来改变当前工作寄存器组。
2.17位地址7CH和字节地址7CH如何区别?
位地址7CH具体在片内RAM中的什么位置?
答:
字节地址是片内RAM的单元地址,而为地址是片内RAM中的一位。
7CH字节地址为RAM的7CH单元,而7CH位地址是RAM 2FH的D4位
2.1889C51单片机的时钟周期和振荡周期之间有什么关系?
什么叫机器周期和指令周期?
答:
时钟周期为最基本的时间单位。
机械周期则是完成某一个规定操作所需时间。
一个机械周期包括6个时钟周期,12个振荡周期,即一个时钟周期包括2个振荡周期。
指令周期指完成一条指令所需的时间。
2.20什么叫堆栈?
堆栈指针SP的作用是什么?
89C51单片机堆栈的容量不能超过多少字节?
答:
堆栈是在片内RAM中专门开辟出来的一个区域,数据存取按照后进先出的原则。
管理堆栈区间数据的传送。
堆栈容量不能超过128字节。
3.6在89C51片内RAM中,已知(30H)=38H,(38H)=40H,(40H)=48H,(48H)=90H。
请分析下面各是什么指令,说明源操作数的寻址方式以及按顺序执行每条指令后的结果。
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
注意:
→左边是内容,右边是单元
3.8指出下列指令的本质区别?
MOVA,DATA;直接寻址
MOVA,#DATA;立即数寻址
MOVDATA1,DATA2;直接寻址
MOV74H,#78H;立即数寻址
3.9设R0的内容为32H,A的内容为48H,片内RAM的32H单元内容为80H,40H单元内容为08H。
请指出在执行下列程序段后上述各单元内容的变化。
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
3.11如何访问片外RAM单元,可使用哪些寻址方式?
答:
只能采用寄存器间接寻址(用MOVX指令)
3.12如何访问片内RAM单元,可使用哪些寻址方式?
答:
低128字节:
直接寻址,位寻址,寄存器间接寻址,寄存器寻址(R0~R7)
高128字节:
直接寻址,位寻址,寄存器寻址
3.13如何访问片内外程序存储器,可使用哪些寻址方式?
答:
采用变址寻址(用MOVC指令)
3.21编写程序,若累加器A的内容分别满足下列条件,则程序转至LABEL存储单元。
设A中存的是无符号数。
(1)A≥10
(2)A>10(3)A≤10
答:
(1)A≥10
CJNEA,#0AH,L1;(A)与10比较,不等转L1
LJMPLABEL;相等转LABEL
L1:
JNCLABEL;(A)大于10,转LABEL
或者:
CLRC
SUBBA,#0AH
JNCLABEL
(2)A>10
CJNEA,#0AH,L1;(A)与10比较,不等转L1
RET;相等结束
L1:
JNCLABEL;(A)大于10,转LABEL
RET;(A)小于10,结束
或者:
CLRC
SUBBA,#0AH
JNCL1
RET
L1:
JNZLABEL
RET
(3)A≤10
CJNEA,#0AH,L1;(A)与10比较,不等转L1
L2:
LJMPLABEL;相等转LABEL
L1:
JCL2;(A)小于10,转L2
RET
或者:
CLRC
SUBBA,#0AH
JCLABEL
JZLABEL
RET
3.25试编写程序,查找内部RAM的20H~50H单元中是否有0AAH这一数据。
若有,则将51H单元置为01H;若未找到,则将51H单元清0.
答:
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
3.31编写一个程序,把片外RAM从2000H开始存放8个数传送到片内30H开始的单元中。
答:
MOVR2,#08H;数据块长度→R2
MOVR0,#30H;数据块目的地址→R0
MOVDPTR,#2000H;数据块源地址→DPTR
LOOP:
MOVXA,@DPTR;传送一个数据
MOV@R0,A
INCDPTR;指向下一个数据
INCR0;
DJNZR2,LOOP;数据块长度减1,没传送完,继续传送
RET
5.1什么是中断和中断系统?
其主要功能是什么?
答:
当CPU正在处理某件事情的时候,外部发生的某一件事件请求CPU迅速去处理,于是,CPU暂时中止当前的工作,转去处理所发生的事件,中断服务处理完该事件以后,再回到原来被终止的地方,继续原来的工作。
这种过程称为中断,实现这种功能的部件称为中断系统。
功能:
(1) 使计算机具有实时处理能力,能对外界异步发生的事件作出及时的处理
(2) 完全消除了CPU在查询方式中的等待现象,大大提高了CPU的工作效率
(3) 实现实时控制
5.2试编写一段对中断系统初始化的程序,使之允许INT0、INT1、T0和串行口中断,且使T0中断为高优先级中断。
解:
MOVIE,#097H
MOVIP,#02H
5.489C51共有哪些中断源?
对其中断请求如何控制?
答:
(1)89C51有如下中断源①:
外部中断0请求,低电平有效②:
外部中断1请求,低电平有效③T0:
定时器、计数器0溢出中断请求④T1:
定时器、计数器1溢出中断请求⑤TX/RX:
串行接口中断请求
(2)通过对特殊功能寄存器TCON、SCON、IE、IP的各位进行置位或复位等操作,可实现各种中断控制功能
5.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
6.1定时器模式2有什么特点?
适用于什么场合?
答:
(1)模式2把TL0(或TL1)配置成一个可以自动重装载的8位定时器/计数器。
TL0计数溢出时不仅使溢出中断标志位TF0置1,而且还自动把TH0中的内容重新装载到TL0中。
TL0用作8位计数器,TH0用以保存初值。
(2)用于定时工作方式时间(TF0溢出周期)为,用于计数工作方式时,最大计数长度(TH0初值=0)为28=256个外部脉冲。
这种工作方式可省去用户软件重装初值的语句,并可产生相当精确定时时间,特别适于作串行波特率发生器。
6.389C51定时器有哪几种工作模式?
有何区别?
答:
有四种工作模式:
模式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。
6.489C51内部设有几个定时器/计数器?
它们是由哪些特殊功能寄存器组成?
答:
89C51单片机内有两个16位定时器/计数器,即T0和T1。
T0由两个8位特殊功能寄存器TH0和TL0组成;T1由TH1和TL1组成。
6.5定时器用作定时器时,其定时时间与哪些因素有关?
作计数器时,对外界计数频率有何限制?
答:
定时时间与定时器的工作模式,初值及振荡周期有关。
作计数器时对外界计数频率要求最高为机器振荡频率的1/24。
6.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次
7.1什么是串行异步通信,它有哪些作用?
答:
在异步串行通信中,数据是一帧一帧(包括一个字符代码或一字节数据)传送的,每一帧的数据格式参考书。
通信采用帧格式,无需同步字符。
存在空闲位也是异步通信的特征之一。
7.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。
7.489C51串行口有几种工作方式?
有几种帧格式?
各工作方式的波特率如何确定?
答:
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则:
7.5若异步通信接口按方式3传送,已知其每分钟传送3600个字符,其波特率是多少?
答:
已知每分钟传送3600个字符,方式3每个字符11位,则:
波特率=(11b/字符)×(3600字符/60s)=660b/s
7.8若晶振为11.0592MHz,串行口工作与方式1,波特率为4800b/s。
写出用T1作为波特率发生器的方式字和计数初值。
解:
MOVTMOD,#20H;定时器T1工作于模式2
MOVTH1,#0FAH;赋定时器计数初值
MOVTL1,#0FAH
7.9为什么定时器T1用作串行口波特率发生器时,常选用工作模式2?
若已知系统时钟频率和通信用的波特率,如何计算其初值?
答:
因为工作模式2是自动重装初值定时器,编程时无需重装时间参数(计数初值),比较使用。
若选用工作模式0或工作模式1,当定时器T1溢出时,需在中断服务程序中重装初值。
已知系统时钟频率fosc和通信用的波特率fbaud,可得出定时器T1模式2的初值
8.2存储器可分为哪几类?
各有哪些特点和用途?
8.3假设一个存储器有4096个存储单元,其首地址为0,则末地址为多少?
答:
首地址为0,末地址为FFFH
8.4除地线共用外,6根地址线和11根地址线各可选多少地址?
答:
除地线公有外,6根地址线可选64个地址,11根地址线可选2048个地址。
8.5用到三片74HC373的某89C51应用系统的电路如图所示。
现要求通过74HC373
(2)输出80H,请编写相应程序。
答:
MOV DPTR,#0F2H
MOV A,#80H
MOVX @DPTR,A
8.8图为4片8K*8位存储片芯片的连接图。
请确定每片存储器芯片的地址范围。
8.10说明I2C和SPI两种串行总线接口的传输方法。
他们与并行总线相比各有什么优缺点?
8.13什么是单片机的扩展总线?
并行扩展总线与串行扩展总线各有哪些特点?
目前单片机应用系统中较为流行的扩展总线有哪些?
为什么?
8.15随着单片机技术的发展,为什么并行总线外围扩展方式日渐衰落?
目前外围设备(器件)的主要扩展方式是什么?
答:
由于单片机外围器件要求数据传送速度不高,一般串行数据传送速度都能满足实时性的要求;加之外围器件采用串行扩展方式可以大大简化系统连接方式,并增加系统构成的灵活性,因此,串行扩展总线是目前广泛应用的扩展总线。
广泛应用的串行总线有I2CBUS、SPI、Microwire、1—Wire等。
9.1为什么要消除键盘的机械抖动?
有哪些方法?
答:
通常的按键所用开关为机械弹性开关。
由于机械触点的弹性作用,按键在闭合及断开的瞬间均伴随有一连串的抖动。
键抖动会引起一次按键被误读多次。
为了确保CPU对键的一次闭合仅作一次处理,必须去除键抖动。
去除方法有硬件和软件两种方法。
硬件方法常用RS触发器电路。
软件方法是当键闭合后执行一个5ms-10ms的延时程序,再一次检测键的状态,如仍保持闭合状态,则确认真正有键按下。
9.8在一个89C51系统中扩展一片74LS245,通过光电隔离器件外接8路TTL开关量输入信号。
试画出其有关的硬件电路。
9.9用8051的P1口作8个按键的独立式键盘接口。
试画出其中断方式的接口电路及相应的键盘处理程序。
9.11DAC0832与89C51单片机连接时有哪些控制信号?
其作用是什么?
答:
控制信号有:
ILE:
数据所存允许信号;CS:
输入寄存器选择信号;WR1:
输入寄存器的“写”选通信号;WR2:
DAC寄存器的“写”选通信号。
(2)作用:
当CS=0,WR1=0,ILE=1时,DAC0832片内输入寄存器的锁存信号ILE=1,输入寄存器的输出随输入变化;当CS=0,ILE=1,WR1变高时,LE1=0,输入寄存器便将输入数据锁存。
当WR2=0,XFER=0时,DAC0832片内DAC寄存器锁存信号LE2=1,DAC寄存器的输入随寄存器的输入变化;当XFER=0,WR2变高时,输入寄存器的信息锁存在DAC寄存器中。
二、单项选择题
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 复习题