1.CS-51系列单片机串行口中断标志TI和R I在执行中断程序后,能否自动清零,这样设计的意图是什么?答:不能,由于串行通信的收发电路使用一个中断源,因而,有利于单片机查询是接收中断还是发送中断。
同时有利于全双工通信。
2.写出8051单片机的复位及5个中断服务程序的入口地址。
答:(1)复位入口地址:0000H;(2)外部中断0中断服务程序入口地址为0003H;(3)定时器/计数器0中断服务程序入口地址为000BH;(4)外部中断1中断服务程序入口地址为0013H;(5)定时器/计数器1中断服务程序入口地址为001BH;(6)串行口中断服务程序入口地址为0023H。
3.简述MCS-51单片机的工作寄存器的分布结构(包括:几个区、如何选择、每个区几个寄存器、如何表示)?答:(1)四个通用寄存器区;(2)通过PSW的RS1、RS0选择:00--0区、01—1区、10—2区、11—3区;(3)每个区有8个工作寄存器R0—R7;4.MCS-51单片机的P0口作为一般的I/O口使用时应注意什么?答:应注意:①由于P0口的输出级是漏极开路的开漏电路,所以作为一般的I/O口使用时需接外部上拉电阻;②P0口的输出级的输出驱动能力,可以驱动8个LS的TTL电路,使用必须确认是否能驱动的外部电路,否则应加驱动电路;③由于P0口为准双向口,在读引脚时,应先把口置1。
5.画出MCS-51单片机的三总线图(控制总线应包括三条)并注明几条数据线、几条地址线、各个控制线的意义。
答:(1)(2)8条数据线、16条地址线(3)/RD:对外部RAM及I/O口的读允许;/WR:对外部RAM及I/O口的写允许;/PSEN:对外部ROM的读允许;6.MCS-51系列单片机内部有哪些主要逻辑部件组成?(书)答:CPU、RAM、程序存储器、定时器、I/O接口、中断系统、串行接口等。
7.简述P3口的特殊专用功能(第2功能)。
答:P3.0----串行通信收;P3.1-----串行通信发;P3.2-----外部中断0;P3.3-----外部中断1;P3.4----- T0的计数输入;P3.5----- T1的计数输入;P3.6-----外部数据区写有效;P3.7-----外部数据区读有效。
8. MCS-51单片机内部RAM 区功能结构如何分配的?(书) 答:00H---1FH 通用寄存器区20H---2FH 位寻址区30H---7FH 通用RAM 和堆栈区9. 写出将片内RAM 20H 单元、片外RAM 20H 单元的内容读入A 中的指令。
(4分) 答: 片内:MOV A ,20H 片外:MOV DPTR ,#20H MOVX A ,@DPTR10. 8052单片机的低128字节的RAM 、高128字节RAM 与位寻址空间、特殊功能寄存器区和外部数据区都出现地址重叠,单片机如何正确访问这些单元?答:内部位寻址区、内部RAM 、特殊功能寄存器区与外部数据区采用不同的命令格式加以区分。
而内部RAM 和特殊功能寄存器区采用不同的寻址方式:⎪⎪⎩⎪⎪⎨⎧---------直接寻址方式采用寄存器间接寻址和字节低式采用寄存器间接寻址方字节高采用直接寻址方式特殊功能寄存器采用位寻址指令内部位单元RAM RAM 128128 11. 8051单片机最多可能外部扩展多少字节的程序存储器?为什么? 答:64K,因为8051最多可以提供16条地址线。
12. 8051单片机最多外部扩展多少字节的数据存储器?程序存储器和数据存储器地址空间重叠,单片机是如何加以区分的?答:64K ;通过指令及PSEN 和WR 、RD 线区分的。
13. 简述8051单片机EA 、ALE 、PSEN 这三个引脚的作用。
答:EA 为内部、外部程序存储器的选择线;ALE 锁存低8位地址信号控制;PSEN 访问程序存储器有效。
14. 当中断允许寄存器IE 的内容为97H 时的含义是什么?答:允许总中断,允许INT0、T0、INT1、串口中断;禁止T1中断。
15. 当中断优先级寄存器IP 的内容为93H 时的含义是什么? 答:串行口、INT0、T0为高优先级,INT1、T1为低优先级。
16. 写出8051单片机5个中断服务程序的入口地址。
答:INT0-----0003H ;T0------000BH ;串行口-----0023H ; INT1-----0013H ; T1----001BH 。
17. 当串行口控制寄存器SCON 的内容为F0H 时的含义如何?答:串口工作于方式3,多机通信使能位为1,即收到RB8=1时通信中断有效,可接收数据,发射第九位TB8=0。
18. (实验题目1)单片机采用晶振6MHZ ,P1口接有8个发光管,围成圆形(跑马灯)。
要求:① 发光管每次只亮一个,一次从P1.0~P1.7循环发光,切换时间为1秒(低电平亮); ② 延时采用T0定时器,工作于自动装入时间常数的定时器工作方式,允许T0中断,试写出完整的可调试程序。
答:ORG 0000H LJMP start ORG 000BH LJMP timer0 ORG 30Hstart:MOV TMOD ,#02H ;T0工作于方式2—自动重装载MOV TL0,#06 ;定时器自动重装初值 MOV TH0,#06MOV R7,#100MOV R6,#20 ;R6、R7中断次数,一次中断500uS,即500*100*20=1s MOV A ,#0FEH ;循环送出的控制字节MOV P1,A ;送出控制字节,P1.0灯亮 SETB TR0 SETB ET0 SETB EAwait:SJMP wait ;主程序,无限循环 timer0:DJNZ R7,EXITMOV R7,#100 DJNZ R6,EXIT MOV R6,#20RL A ;左循环一位 MOV P1,A EXIT:RETIEND19. 简述程序状态字PSW 每位的作用。
(书)答:Cy---借、进位;AC —半借、进位;P —奇/偶位;RS1、RS2—工作寄存器区选择位;OV —溢出标志位;F0—辅助位。
20. 简述单片机多机通信的原理。
答:单片机构成的多机系统为主从式结构,系统中只有一个主机,其他为从机;此时,单片机的串口工作于方式2或者方式3,发送和接收的帧信息是11位,其中第9位用于地址或数据位的辨识,该位为1表示地址码,为零表示数据码,该位是通过TB8、RB8发送和接收的。
在主机通信时,所有的从机置SM2=1,这时主机先发送地址码,这时所有的从机将都收到,从机分别将收到的地址码与自己的地址码比较,当地址码相同时,该分机置SM2=0;其他分机不变,此后,主机与该分机建立了一对一的通信关系,此时交换的数据帧为TB8=0,而SM2=1的分机收不到数据帧,当通信完毕后,分机将SM2=1;等待主机的下一次的通信。
21. 一个单片机系统,时钟频率fosc=11.059Mhz ,现要求串行口通信的波特率为9600bps ,采用T1作为波特率发生器,试计算出定时器T1的自动重装载值、实际波特率并验算实际波特率与理论波特率的相对误差? 答:取:SMOD=0;T1 自动重装载值: F D H N ==-=⨯⨯⨯-=25332561232960010059.112566演算: ()b p s 波特率8.9599253256123210059.116=-⨯⨯⨯= 误差计算:%0018.096008.95999600=-=误差 程序段:MOV TMOD ,#20HMOV TH1,#0FDH MOV TL1,#0FDH SETB TR122. 下列指令哪些是错误的:① MOV A ,@R2 ② MOV 45H ,C ③MOV R1,R7 ④ADD A ,DPTR 答: ①③④错23. 简述 DIV AB JMP @A+DPTR 的功能。
答:DIV AB--------(A)/(B)=商→A ,余数→BJMP @A+DPTR--- 程序无条件转移到(A)+(DPTR)中去,即(A)+(DPTR) →PC24.设T0为定时器,以方式1工作,定时时间为10ms,并且每到1次P1.1取反,T1作为计数器以方式2工作,外界发生二次事件溢出,晶振频率为12MHZ。
⑴写出对应的TMOD的内容,计算出时间常数;⑵写出对应的程序段。
初值计算:N=65536-10000=55536=D8F0HT1=256-2=254=0FEH程序段:MOV TMOD,#61HMOV TH0,#0D8HMOV TL0,#0F0HMOV TH1,#0FEHMOV TL1,#0FEHSETB TR0SETB TR1CPL P1.125.利用单片机的P1口扩展一个4*4的键盘电路,画出原理图,并简述工作原理。
答:若P1.0-P1.3为键盘的列线输入线,P1.4-P1.7为键盘的行输出线,接线如图所示。
当CPU输出行线全为0;若读取的列线全为高电平,表示无键按下,当不为全高时,表示有键按下。
当有键按下时,循环使一条行线输出为低电平,读取列线,当出现列线不全为零时,即将此时的列线和行线构成一个字节,表示为该键的键值,在键盘处理时,可通过延时再读取键值的办法去抖。
26.写出8052单片机内部低128字节、高128字节RAM单元和SFR区的地址空间,详细说明单片机是如何访问这些单元的?答:低128—0~7FH;高128---80H~FFH;SFR-----80~FFH低128字节RAM区---采用寄存器间接寻址和直接寻址方式特殊功能寄存器区-----直接寻址方式高128字节RAM区---采用寄存器间接寻址方式27.在单片机应用系统中设置看门狗的作用是什么?答:为了防止单片机程序跑飞或者系统死机。
28.单片机采用晶振6Mhz,用P1口控制交通信号灯(P10、P11接红灯、P12、P13接绿灯,输出高电平灭)。
要求:红、绿灯切换时间为6秒,试写出完整的可调试的程序。
答:ORG 0000H SETB TR0LJMP START SETB ET0ORG 000BH SETB EALJMP TIME0 W AIT: LJMP W AITORG 30H TIME0: DJNZ R7,EXITSTART:MOV SP,#30H MOV R7,#100MOV TMOD,#02H DJNZ R6,EXITMOV TH0,#06 MOV R6,#120MOV TL0,#06 MOV A,R5MOV R7,#100 CPL AMOV R6,#120 MOV P1,AMOV R5,#05 MOV R5,AMOV A,R5 EXIT:RETIMOV P1,A END29.采用单片机的P0口和P2.0~P2.3扩展4位数码管显示电路,由单片机的I/O口直接控制(可不考虑驱动电路),试画出相应的电路原理图;在内部RAM设置一个显示缓冲区,编写显示该显示缓冲区内容的显示子程序。