《单片机原理及应用复习答案》由会员分享,可在线阅读,更多相关《单片机原理及应用复习答案(8页珍藏版)》请在金锄头文库上搜索。
1、第 1 页 共 8 页1、单片机中用于存放下一条将要执行的指令的地址寄存器是(B)A.ACC B.PCC.PSW D.SP2、MCS-51 外扩存储器时,系统的高 8 位地址总线是由_构成。(C)A.P0 B.P1C.P2 D.P33、CPU 响应_中断时,不会由 CPU 自动清除中断请求标志。(D)A.外部中断 0 B.定时器 T0C.计数器 T1 D.串行口4、要用传送指令访问 MCS-51 片外 RAM,它的指令操作码助记符应是(B)A.MOV B.MOVXC.MOVC D.PUSH5、在串行数据通讯中,若要传送 1 字节有效数据,在实际线路上至少传输_信息。( C )A.8 位 B.9
2、 位C.10 位 D.11 位6、欲访问 89C51 单片机的内部程序存储器,则 EA 引脚必须为( A )A.高电平 B.低电平C.高低电平 D.与 PC 值有关7、堆栈操作遵循的原则是( A )A.先进后出 B.先进先出C.后进后出 D.随机8、各中断源发出的中断请求信号,都会标记在 MCS-51 单片机系统的_寄存器中。( D )A.IE B.TMODC.IP D.TCON/SCON9、在 MSC-51 单片机程序中用伪指令 DB 定义的字节数据存放在( B )A.片内 RAM B.程序存储器C.外部 RAM D.片内位寻址区10、MCS-51 单片机的串行口是_工作的。( C )A.单
3、工 B.半双工1、选择题:(每题 2 分,共 20 分)在下列各题的 A、B、C、D 四个选项中,只有一个是正确的,请选择出来。第 2 页 共 8 页C.全双工 D.半双工/全双工1、PC 寄存器中的当前值是_下一条要执行的指令_的地址。2、MCS-51 单片机内部 RAM 中位寻址区位于低 128B 中的_20H_2FH_地址单元内。3、若 MCS-51 单片机使用频率为 6MHz 的晶振,则一个机器周期为_2_S。4、在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的_地址_。5、74LS138 是具有 3 个输入的译码器芯片,其输出作为片选信号时,最多可以
4、管理_8_片存储芯片。6、MCS-51 单片机外部中断有_电平触发_和跳变触发方式。7、在 MCS-51 中 PC 和 DPTR 都用于提供地址,但 PC 只能为访问_程序_存储器提供基址地址。8、要串行口工作为 10 位异步串行通信方式,工作方式应选为_方式 1_。9、用单片机检测一直流电源的电压值,应增加_A/D 转换器_。1、简述 MCS-51 串行口的工作方式。答:串行口的 4 种工作方式SM0 SM1 方式 功 能 说 明0 0 0 同步移位寄存器方式(用于扩展 I/O 口) (1.5 分)0 1 1 8 位异步收发,波特率可变(由定时器控制) (1.5 分)1 0 2 9 位异步收
5、发,波特率为 fosc/64 或 fosc/32 (1.5 分)1 1 3 9 位异步收发,波特率可变(由定时器控制) (1.5 分)2、89C51 定时器做定时和计数时,其计数脉冲分别由谁提供?答:做定时器用时,其计数脉冲由时钟脉冲的 12 分频信号提供; (3 分)做计数器用时,其计数脉冲由外部引脚 T0 或 T1 提供计数脉冲.(3 分)3、简述单片机响应中断的条件。答:中断响应是有条件的,遇到下列三种情况之一时,中断响应被封锁: (1)CPU 正在处理同级的或更高优先级的中断。(2 分)(2)所查询的机器周期不是所当前正在执行指令的最后一个机器周期。只有在当前指令执 行完毕后,才能进行
6、中断响应。(2 分)(3)正在执行的指令是 RETI 或是访问 IE 或 IP 的指令。需要再去执行完一条指令,才能响应新的中断请求。(2 分)二、填空题:(每空 2 分,共 20 分)三、简答题(每题 6 分,共 24 分)第 3 页 共 8 页4、简述单片机 LED 数码管静态显示和动态显示的特点?答:LED 数码管静态显示是把各位的公共端连接在一起(接地或+5V)。每位的段码线(adp)分别与一个 8 位的锁存器输出相连。显示的亮度高。适合显示位数较少的场合.(3 分)LED 数码管动态显示是把各位的段码线(adp)相应并接在一起。而把每位的位选线分别与相应的 I/O 线相连,形成各位的
7、分时选通。显示的亮度不高。适合显示位数较多的场合.(3 分)四、读程序填空(每题 6 分,共 18 分)1、START:MOV B, #100DIV ABMOV 25H, AMOV A,BMOV B, #10DIV ABSWAP AADD A,BMOV 26H,ARET(1)该子程序的功能是:_把 A 中的 8 位二进制数转换为 BCD 码_;(3 分)(2)该子程序的出口参数(结果)在_25H(存放百位数)和 26H_(存放十位和个位数)_单元内。(请说明各自的含义)。(3 分)2、START: MOV R0, #30HMOV R1, #0MOV R2, #0MOV R7, #50LOOP:
8、 MOV A,R1ADD A,R0MOV R1, AMOV A, R2ADDC A, #0MOV R2,AINC R0DJNZ R7,LOOPRET第 4 页 共 8 页(1)该子程序的功能是:_从内部 RAM30H 开始的连续 50 个单元的内容求和,结果存入R2(和高位)R1(和低位)寄存器中_;(4 分)(2)在本程序中,第九行 ADDC A, #0 的作用是:_进位累加_ 。(2 分)3、START: MOV R0,#40HMOV R7,#09HMOV A,R0LOOP: INC R0CLR CSUBB A,R0JC NEXTMOV A,R0NEXT: DJNZ R7,LOOPRET(
9、1)该子程序的功能是:_ 求出内部 RAM40H 开始的 10 个无符号数的最小数存入 A _;(4分)(2)在本程序中,第五行 CLR C 的作用是: C 请 0, 。(2 分)1、 MOV 20H, #19HMOVR0,#20HMOVA,R0RLAMOVR1,ARLARLAADDA,R1MOVR0,A执行完此段程序后 20H 内容为_FAH_2、 MOVR0,#30HMOVR7,#08HMOVA,R 0DECR7LOOP: INCR0MOV2AH,R0CJNEA,2AH,CHKSJMP LOOP1CHK: JNCLOOP1MOVA,R0LOOP1:DJNZR7,LOOPMOV2BH,AHE
10、RE: AJMPHERE第 5 页 共 8 页1)该程序的功能是:_从内部 RAM30H37H 单元中的无符号数中找出最大数_存入内部RAM 2BH 单元。 ;2)总共有_8_个数进行比较。3、(60H)23H,(61H)72H,CLR CMOV A,9AHSUBBA,60HADD A,61HDA AMOV 62H,A执行完本段指令后 (62H)=_49H_五、综合题1 .已知 MCS-51 单片机的 fosc=12MHz,请用 T1 定时器工作方式 1,采用中断方法,由 P1.7输出方波,方波频率为 50Hz。要求:(1)写出 T1 定时器的方式控制字,计算 T1 定时器初值;(2)编写程序
11、完成此功能。T1 的方式控制字 TMOD 为:GATE C/T M1 M0 GATE C/T M1 M0已知方波频率为 50HZ,则周期为 20MS,T1 定时 10MS。T=(65536-z)*fosc/12 (1 分) 10*1000=(65536-z)*12/12Z=55536=D8F0H (3 分)程序如下:ORG 0AJMP MAINORG 001BHAJMP PTF1 (1 分)MAIN: MOV TMOD,#10H (1 分)MOV TH1, #0D8H MOV TL1, #0F0H (1 分)SETB TR1 (1 分)SETB EA (1 分) SETB ET1 (1 分)第
12、 6 页 共 8 页SJMP $PTF1: MOV TH1, #0D8H MOV TL1, #0F0H (1 分)CPL P1.7 (1 分)RETI (1 分)1、已知单片机晶振频率为 6MHz,假设 X、Y 为变量,当 X=_0_,Y=_0_时,下列程序执行时间最长,其最长值为_263.686ms _。MOV R6,#Y ; 需 1 个机器周期DE1: MOV R7,#X ; 需 1 个机器周期DE0: DJNZ R7,DE0 ; 需 2 个机器周期DJNZ R6,DE1 ; 需 2 个机器周期RET ; 需 2 个机器周期2、有下列程序SETB 40HSETB CANL C,/40H执行
13、之后,(CY)=_0_,(40H)=_1_。3、若(A)=20H,(B)=40H,(PSW)=10H,执行下面指令后,累加器 A 和 4FH 的内容为 (A)=10H , (4FH)=00H 。MOV 4FH, #00HMOV 50H,#00HMOV SP,#4FHPUSH ACCPUSH BPUSH PSWPOP ACCPOP BPOP PSW4、 MOV 32H, #23MOVR0,#32HMOVA,R0RLAMOVR1,ARLARLAADDA,R1MOVR0,A执行完此段程序后 (32H)内容为_ 230 _2、利用定时器 T1 产生 50MS 定时中断,使 L1L8 依次以 0.5 秒
14、的间隔点亮。 (FOSC=12MHZ)第 7 页 共 8 页t=(216-z)*12/fosc ;1 分50*103=(216-z)* 12/12 z=3CB0H ;2 分ORG 0AJMP MAIN ORG 0BHAJMP PTF0 ;1 分MAIN: MOV TMOD,#01H ;1 分MOV TH0, #3CHMOV TL0, #0B0H ;1 分SETB TR0 ;1 分SETB EA ;1 分SETB ET0 ;1 分SETB PT0 ;1 分MOV R7, #0AH MOV A, #01HMOV P1, A ;1 分SJMP $PTF0: MOV TH0,#3CHMOV TL0,#0B0H ;1 分DJNZ R7, NEXT ;1 分MOV R7, #0AH RL AMOV P1,A ;1 分NEXT: RETI ;1 分2、用 8051 输出控制 8 个 LED 循环点亮,一个按键控制引起外中断 0,下降沿触发,中断后8 个 LED 一起闪烁 3 次,然后恢复到前面的循环。试画出连接示意图,写出完整的程序。(软件延时用循环 8*100*250 次控制)画