单片机复习资料.docx
- 文档编号:9611578
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:23
- 大小:332.91KB
单片机复习资料.docx
《单片机复习资料.docx》由会员分享,可在线阅读,更多相关《单片机复习资料.docx(23页珍藏版)》请在冰豆网上搜索。
单片机复习资料
一、填空题:
1、89C51内部有16字节可位寻址的字节单元,共有128个可位寻址位,位地址范围是从00H~7FH。
2、若MSC-51单片机的fosc=6MHz,则其执行一条除法指令的时间为8µs。
注:
机器周期Tcy=12/fosc=12/6×106=2µs;乘、除法指令占用4个机器周期,固T=2×4µs=8µs。
3、复位操作后,89C51程序执行的起始地址是0000H。
注:
见附6即PC复位后的值
4、单片机的定时/计数器作为计数方式时,外部事件的最高计数频率为晶振频率的1/24。
5、用位寻址方式禁止外部中断1的中断使能:
CLREX1;允许T0的计数溢出中断使能:
SETBET0;
设置外部中断1中断为高优先级中断:
SETBPX1;清除串行口输出中断标志:
CLRES。
见附表
6、MCS51单片机指令寻址方式有:
寄存器寻址、直接寻址、立即寻址、寄存器间接寻址、基址寄存器加变址寄存器寻址、位寻址、相对寻址7种。
访问片外RAM时,采用寄存器间接寻址方式,访问ROM时,采用的是寄存器寻址方式。
7、MCS-51单片机的程序计数器PC是一个16位的计数器,寻址范围达到64KB。
8、计算机中按功能把总线分为数据总线(DB)、控制总线(CB)和地址总线(AB)。
9、89C51用于区分内外部程序存储器的引脚是
,使用片内存储器应将其置为高电平。
10、单片机内部数据传送指令MOV用于单片机内部RAM单元及寄存器之间,单片机与外部数据传送指令MOVX用于单片机内部与外部RAM或I/O接口之间,MOVC指令用于单片机内部与外部ROM之间的查表。
11、编程序时,一般在中断服务子程序和调用子程序中需用保护和恢复现场,保护现场用PUSH指令,恢复现场用POP指令。
12、堆栈指针SP始终指示堆栈的栈顶地址,当有压入或弹出堆栈操作时,SP的内容将随之改变。
程序计数器PC的内容将始终指示下一条要执行指令地址,所以只要改变PC的内容将改变程序的运行路径。
13、51单片机位寻址区的单元地址是从20H单元到27H单元,若某位地址是09H,它所在单元地址是21H。
14、在MCS-51系列单片机中8031型号的单片机需要扩展外部程序存储器,且
管脚必须接低电平。
15、单片机定时器的工作方式由TMOD寄存器决定,定时器的启动溢出由TCON寄存器控制。
16、中断服务程序的返回指令是RETI,子程序的返回指令是RET。
17、将89C51片外程序存储器内的数据传送给A,可以采用的指令是MOVA,@DPTR。
18、变址寻址是以数据指针DPTR或程序计数器PC作为基址寄存器,以累加器A作为变址寄存器,并以两者的内容相加形式的16位地址操作数地址,以达到访问数据表格的目的。
19、设(R0)=20H,累加器A的内容为36H,内部RAM的20单元内容为75H,注:
XCHD为半字节
执行指令:
XCHDA,@R0执行结果为:
(20H)=76H,(A)=75H。
交换指令
20、通过堆栈操作实现子程序调用,首先要把PC的内容入栈,以进行断点保护。
调用返回时,再进行出栈保护,把保护的断点送回到PC。
21、访问SFR,只能使用直接寻址方式。
22、把累加器的中间4位清“0”的指令为ANLA,#0C3H。
23、若(IP)=00010100B,则优先级最高者为
,最低者为T1。
注:
见附11
24、在串行口通信中,收发双方对波特率的设定应该是相等的。
25、11条地址线可选2KB个存储单元,16KB存储单元需要14条地址线。
二、判断题:
1、89C51复位操作后,(SP)=00H。
(×)注:
见附6
2、89C51P3.1口的第二功能是作为串行口的数据输入端口。
(×)注:
见附1
3、指令CLR09H,划线部分的寻址方式是位寻址。
(√)
4、定时/计数器T0可以用作设计波特率发生器。
(×)注:
T1可以
5、定时/计数器T0在方式3时,TH0必须用作定时器功能。
(√)注:
课本P108
6、程序计数器PC中装的内容是当前正在执行指令的地址。
(×)
7、DPTR是可以访问的,而PC不能访问。
(√)
注:
PC没有地址,不可位寻址,也不能访问。
8、在89C51单片机中,一个机器周期等于1µs。
(×)
9、定时器0、定时器1、外部中断0、外部中断1、串行口中断的优先级顺序是可实现的。
(√)
注:
如果前面两项调换下顺序,定时器1、定时器0······就不可能实现,见附5。
10、89C51共有21个特殊功能寄存器,它们的位都是可用软件设置的,因此,是可以进行位寻址的。
(×)
注:
只有字节地址的末位是0H或8H的才可进行位寻址。
三、选择题:
1、89C51复位操作后,(P0)=D。
注:
见附6
A、00HB、0FHC、F0HD、FFH
2、若要扩展10KB的ROM,则至少需要C根地址信号线。
A、12B、13C、14D、15
3、安排2764芯片内第一个单元的地址是1000H,则该芯片的最末单元的地址是D。
A、1FFFHB、17FFHC、27FFHD、2FFFH
注:
EPROM的典型芯片是27系列产品,2764(8KB×8)、27128(16KB×8)、27256(32KB×8)
27512(64KB×8)。
型号名称“27”后面的数字表示其位存储容量。
如果换算成字节容量,只需将该数字除以8即可。
例如,“2764”中的“27”后面的数字为“64”,64÷8=8KB。
4、在执行中断返回指令时,从堆栈弹出的断点地址被送给D。
A、AB、CYC、PCD、DPTR
5、89C51单片机的外部数据总线功能由A实现。
注:
P0口地址/数据分时复用
A、P0口B、P1口C、P2口D、P3口
6、下列B执行后,不会影响进位位。
A、ADDA,#30HB、INC30HC、SUBBA,#30HD、MULAB
注:
INC不影响PSW中的任何标志位;DEC只影响P标志位。
7、执行指令MOVXA,@DPTR时,
、
引脚的电平C。
A、
高电平
高电平B、
低电平
高电平
C、
高电平
低电平D、
低电平
低电平
8、89C51单片机中,用于设置串行口工作方式的寄存器为C。
注:
见附7、8、12
A、TOMDB、TCONC、SCOND、PCON(电源控制)
9、89C51单片机中,外部中断1的中断标志为B。
注:
见附7
A、IE0B、IE1C、TF0D、TF1
10、下列C指令采用的是相对寻址方式。
A、DEC30HB、CPL30HC、SJMP30HD、CLRA
11、8031单片机内部集成有A容量的程序存储器。
A、0KBB、2KBC、4KBD、8KB
12、89C51P3.0口的第二功能是A。
注:
见附1
A、串行口的数据输入端口B、串行口的数据输出端口
C、外部中断0输入端口D、外部中断1输入端口
13、89C51单片机中,定时/计数器1的计数溢出中断标志为D。
注:
见附7
A、IE0B、IE1C、TF0D、TF1
14、MCS-51单片机的外部中断0的中断入口地址为A。
注:
见附4,这5个中断入口地址须记住
A、0003HB、000BHC、0013HD、001BH
15、下列指令中属于位寻址方式的是B。
A、MOVA,30HB、MOVC,30HC、MOV20H,30HD、MOVA,#30H
16、MCS-51单片机在访问外部数据存储器时,其地址指针可采用A。
注:
DPTR为数据指针
A、DPTRB、PCC、PSWD、SP
17、若RS0=0,RS1=1,要想把寄存器R0的内容压入堆栈,可以使用A指令。
注:
见附3
A、PUSH10HB、PUSH@R0C、PUSHR0D、PUSH08H
18、89C51有四个工作寄存器区,由PSW状态字中的RS1、RS0两位的状态来决定,单片机复位后,若执行SETBRS1指令,此时只能使用C区的工作寄存器。
注:
见附3
A、0区B、1区C、2区D、3区
19、MCS-51单片机的定时/计数器工作方式1是B。
注:
见附11
A、8位计数器结构B、16位计数器结构C、13位计数器结构D、2个8位计数器结构
20、在CPU内部,反映程序运行状态或反映运算结果一些特征的寄存器是C。
A、ACCB、PCC、PSW(8位)D、SP
21、读片外部数据存储器时,不起作用的信号是C。
A、
B、
C、
D、ALE
注:
引脚为片外程序存储器的读选通信号;在访问外部RAM时,
信号无效。
22、MSC-51单片机的堆栈区是设置在C中。
A、片内ROM区B、片外ROM区C、片内RAM区D、片内RAM区
23、下列数据自定义的数表中,B是错误的。
A、DW“AA”B、DW“A”C、DW“OABC”D、DWOABCH
注:
B项要用字节定义命令,应改为DB“A”
24、单片机的P0、P1口作输入用途之前必须A。
A、在相应端口先置1B、在相应端口先置0C、外接高电平D、外接上拉电阻
注:
4个8位可编程并行I/O口(P0、P1、P2、P3)作为通用的I/O口使用时,只有P0口需外接上拉电阻,其它并行口内部本身具有上拉电阻,固外部不需再接上拉电阻。
25、在进行BCD码运算时,紧跟加法运算指令后面的指令必须是B指令。
A、ADDB、DAAC、ADDCD由实际程序确定注:
DA为十进制调整指令
26、在MSC-51单片机中,需要外加电路实现中断撤除的是D。
A、定时中断B、外部串行中断C、脉冲方式的外部中断D、电平方式的外部中断
注:
外部串行中断只能使用软件撤销,定时中断和脉冲方式的外部中断均为自动撤销。
27、调用子程序、中断响应过程及转移指令的共同特点是B。
A、都能返回B、都通过改变PC实现转移C、都将返回地址压入堆栈D、都必须保护现场
28、89C51单片机中,用于设置串行口工作方式的寄存器为C。
A、TOMDB、TCONC、SCOND、PCON
29、通过串行口发送或接收数据时,在程序中应使用C。
A、MOVCB、MOVXC、MOVD、XCHD
30、串行口工作方式1的波特率是D。
注:
见附9,只有方式0是固定的,为fosc/12
A、固定的,为fosc/32B、固定的,为fosc/16
C、固定的,为fosc/64D、可变的,通过定时器/计数器T1的溢出率设定
31、区分89C51单片机片外程序存储器和片外数据存储器的最可靠方法是D。
A、看其位于地址范围的低端还是高端B、看其离89C51芯片的远近
C、看其芯片的型号是ROM还是RAMD、看其是与
信号连接还是与
信号连接
四、程序阅读:
1、MOV20H,#0A3H2、MOVSP,#49H
MOVA,#0B6HMOV30H,#3FH
MOVR0,#20HMOV31H,#48H
MOVR2,#7EHCLRA
ORLA,R2PUSHAcc
ANLA,@R0PUSH31H
SWAPAPOPAcc
CPLAPOP30H
XRLA,#0F5HSJMP$
ORL20H,A执行后,(A)=48H;(30H)=00H;
SJMP$(31H)=48H;(SP)=50H。
执行后,(A)=20H;(20H)=A3H。
3、设(R0)=7FH,内部RAM的(7EH)=00H,(7FH)=40H,执行下列程序:
DEC@R0
DECR0
DEC@R0执行结果为:
(R0)=7EH,(7EH)=0FFH,(7FH)=3FH。
4、假定A=38H,(R0)=17H,(17H)=34H,执行以下指令:
ANLA,#17H
ORL17H,A
XRLA,@R0
CPLA执行结果:
(A)=DBH。
5、下列程序:
MOVR2,#8
TOGGLF:
CPLP1·7
DJNZR2,TOGGLF
执行结果:
将改变P1·7的值8次,(R2)=0。
五、程序补充:
1、将片内部30H~60H单元中的内容传送到以2100为起始地址的存储区。
注:
此题可能考整道编程。
MOVR0,#30H或MOVR0,#30H
MOVDPTR,#2100HMOVR1,#00H
MOVR7,#31HMOVR7,#31H
L1:
CLRA
MOVA,@R0L1:
MOVX@DPTR,AMOVA,@R0
INCR0MOVX@R1,A
INCDPTRINCR0
DJNZR7,L1INCR1
DJNZR7,L1
2、查表法,求y=x!
(x=0~7),x存放在30H中,y存放在40H、41H。
MOVA,30H
CLRR7
MOVR7,A
MOVDPTR,,#TAB
MOVCA,@A+DPTR
MOV40H,A
MOVA,R7
INCA
MOVCA,@A+DPTR
MOV41H,A
SJMP$
TAB:
DW1,1,2,6,24
DW120,720,5040
六、简答题:
1、说明89C51单片机的引脚
的作用,该引脚接高电平和低电平时各有何种功能?
答:
当
脚为高电平时,单片机读片内程序存储器(4KBFlash),但在PC值超过0FFFH(即超出4KB地址范围)时,将自动转向读外部程序存储器内的程序。
当
脚为低电平时,对程序存储器的读操作只限定在外部程序存储器,地址为0000H~FFFFH,片内的4KBFlash程序存储器不起作用。
2、如果采用的晶振频率为3MHZ,定时器/计数器工作方式0、1、2下,其最大定时时间各为多少?
答:
因为机器周期Tcy=12/fosc=12/3×106=4µs注:
见附12
所以定时器/计数器工作方式0下,其最大定时时间为TMAX=213×Tcy=213×4×10-6=32.768ms
定时器/计数器工作方式1下,其最大定时时间为TMAX=216×Tcy=216×4×10-6=262.144ms
定时器/计数器工作方式0下,其最大定时时间为TMAX=28×Tcy=28×4×10-6=1.024ms
3、当定时器T0用于方式3时,应该如何控制定时器T1的启动和关闭?
答:
由T1(P3.5)口控制定时器T1的启动和关闭。
七、编程题:
1、编写程序,将外部数据存储器中的4000H~40FFH单元全部清“0”。
ORG0000H
MAIN:
MOVA,#0;0给A
MOVR0,#0FFH;设置循环次数
MOVDPTR,#4000H;设置数据指针的初值
LOOP:
MOVX@DPTR,A;当前单元清“0”
INCDPTR;指向下一个单元
DJNZR0,LOOP;是否结束
END
2、设单片机晶振频率fosc=12MHz,使用定时器T1以工作方式1产生周期为400µs的等宽方波,并在P1.0输出,用中断方式实现编程。
注:
各标志位的设置见附7、12,此题可参考课本P103例6-1
(1)计算初值机器周期=12/12MHz=1µs=1×10-6s
设需要装入T1的初值为X,则有(216-X)×1×10-6=400µs/2=2×10-4s→X=6533616进制为FF38H
(2)程序设计
MOVTMOD,#10H;设置T1为方式1或MOVTMOD,#10H
LOOP:
MOVTH1,#0FFH;T1置初值MOVTH1,#0FFH
MOVTL1,#38H;MOVTL1,#38H
SETBTR1;接通T1MOVIE,#88H
LOOP1:
JNBTF1,LOOP1SETBTR1
CLRTR1MOVTH1,#0FFH
CPLP1.0MOVTL1,#38H
SJMPLOOPCLPP1.0
RETI
七、应用题:
常用的存储器地址空间分配方法有两种:
线性选择法(简称线选法)和地址译码法(简称译码法)。
①线选法
例1、某一系统,需要外扩8KB的EPROM(2片2732),4KB的RAM(2片6116),这些芯片与MCS-51单片机地址分配有关的地址线连线,电路如下图:
2732:
4KB程序存储器,有12根地址线A0~A11,分别与单片机的P0口及P2.0~P2.3口相连。
2732
(1)的片选端接A15(P2.7),2732
(2)的片选端接A14(P2.6)。
当要选中某个芯片时,单片机P2口对应的片选信号引脚应为低电平,其它引脚一定要为高电平。
6116:
2KB数据存储器,需要11根地址线作为单元的选择,而剩下的P2口线(P2.4~P2.7)作为片选线。
两片程序存储器的地址范围:
2732
(1)的地址范围:
7000H~7FFFH;
2732
(2)的地址范围:
B000H~BFFFH;
6116
(1)的地址范围:
E800H~EFFFH;
6116
(2)的地址范围:
D800H~DFFFH。
②译码法
例1、要扩8片8KB的RAM6264,如何通过74LS138把64KB空间分配给各个芯片?
例2、用74LS138把64K空间全部划分为每块4KB,如何划分?
例3、请写出图8-18中4片程序存储器27128各自所占的地址空间。
答:
图中采用了译码法。
4片地址分别为0000H~3FFFH、4000H~7FFFH、8000H~BFFFH、C0000H~FFFFH。
附1
40只引脚双列直插封装(DIP)。
1)ALE/
(30脚):
ALE为地址锁存允许,可驱动8个LS型
TTL负载。
2)
(29脚):
外部程序存储器的读选通
信号。
可驱动8个LS型TTL负载。
3)
为内外程序存储器选择控制端。
=1,访问片内程序存储器
=0,单片机则只访问外部程序存储器
P3口的第二功能定义
端口引脚第二功能
P3.0RXD(串行输入口)--输入
P3.1TXD(串行输出口)--输出
P3.2
(外部中断0)--输入
P3.3
(外部中断1)--输入
P3.4T0(定时器0外部计数输入)
P3.5T1(定时器1外部计数输入)
P3.6
(外部数据存储器写选通)--输出
P3.7
(外部数据存储器读选通)--输出
附2
(1)Cy(PSW.7)进位标志位
(2)Ac(PSW.6)辅助进位标志位,用于BCD码的十
进制调整运算。
(3)F0(PSW.5)用户使用的状态标志位。
(4)OV(PSW.2)溢出标志位
如果位6有进位,而位7没有进位,或者位7有进位,而位6没有,则溢出标志
OV置“1”,否则OV清“0”。
溢出标志位OV的状态,只有在带符号数加法运算时才有意义。
当两个带符号数相加时,OV=1,表示加法运算超出了累加器A所能表示的带符号数的有效范围。
(5)PSW.1位:
保留位,未用
(6)P(PSW.0)奇偶标志位
P=1,A中“1”的个数为奇数
P=0,A中“1”的个数为偶数
(7)RS1、RS0(PSW.4、PSW.3):
4组工作寄存器区选择控制位1和位0。
附3
RS1RS0所选的4组寄存器
000区(内部RAM地址00H~07H)
011区(内部RAM地址08H~0FH)
102区(内部RAM地址10H~17H)
113区(内部RAM地址18H~1FH)
附4附5
5种中断源的中断入口地址中断源中断级别
外中断00003H外部中断0最高
定时器T0000BHT0溢出中断
外中断10013H外部中断1
定时器T1001BHT1溢出中断
串行口0023H串行口中断最低
附6
附7
TCON:
定时器/计数器的控制寄存器,字节地址为88H
1)IT0—选择外部中断请求0为跳沿触发方式还是电平触发方式:
IT0=0,为电平触发方式。
IT0=1,为跳沿触发方式。
可由软件置“1”或清“0”。
2)IE0—外部中断请求0的中断请求标志位。
IE0=0,无中断请求。
IE0=1,外部中断0有中断请求。
3)IT1—外部中断请求1为跳沿触发方式还是电平触发方式,意义与IT0类似。
4)IE1—外部中断请求1的中断请求标志位,意义与IE0类似。
5)TF0—T0溢出中断请求标志位。
6)TF1—T1的溢出中断请求标志位,功能和TF0类似。
7)TR1、TR0——计数运行控制位
1:
启动定时器/计数器工作0:
停止定时器/计数器工作
附8
SCON为串行口控制寄存器,字节地址为98H
(
1)SM0、SM1——串行口4种工作方式的选择位
SM0SM1方式功能说明
000同步移位寄存器方式(用于扩展I/O口)
0118位异步收发,波特率可变(由定时器控制)
1029位异步收发,波特率为fosc/64或fosc/32
1139位异步收发,波特率可变(由定时器控制)
(2)TI—发送中断请求标志位。
(3)RI—接收中断请求标志位。
附9
定时器T1产生波特率的计算
(1)方式0波特率=时钟频率fosc×1/12,不受SMOD位的值的影响。
若fosc=12MHz,波特率为fosc/12即1Mb/s。
(2)方式2波特率=(2SMOD/64)×fosc
若fosc=12MHz:
SMOD=0波特率=187.5kb/s;SMOD=1波特率=375kb/s
(3)方式1或方式3时,波特率为:
波特率=(2SMOD/32)×定时器T1的溢出率
定时器T1的溢出率=计数速率/(256-X)=
附10
中断允许寄存器IE,字节地址为A8H
(1)EA:
中断允许总控制位(4)EX1:
外部中断1中断允许位
0:
CPU屏蔽所有的中断请求(CPU关中断);0:
禁止外部中断1中断;
1:
CPU开放所有中断(CPU开中断)。
1:
允许外部中断1中断。
(2)ET1:
定时器/计数器T1的溢出中断允许位(5)ES:
串行口中断允许位
0:
禁止T1溢出中断;0:
禁止串行口中断;
1:
允许T1溢出中断。
1:
允许串行口中断。
(3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 复习资料