51单片机期末试题及答案 下载本文

INC RO INC DPTR

CJNE RO,#50H,LOOP ; 将此子程序循环执行16次 RET

(2) MOV RO, #50H

MOV DPTR, #0A000H ; 设置数据指针为A000H LOOP: MOVX A, @DPTR

MOVX @RO,A INC RO INC DPTR

CJNE RO,#54H,LOOP RET

; 将外部数据存储器内容送入到片内中 ; 将此子程序循环执行4次 17

试题4 参考答案

一、填空题(37分)

1. AT89S51单片机芯片共有 40 个引脚,MCS-51系列单片机为8位单片机。 2. AT89S51的异步通信口为全双工(单工/半双工/全双工),

3. AT89S51内部数据存储器的地址范围是00H-7FH,位地址空间的字节地址范围是20H-2FH,对应的位地址范围是00H-7FH,外部数据存储器的最大可扩展容量是64K字节。 4. 单片机也可称为微控制器 或 嵌入式控制器。

5.当MCS-51执行MOVC A,@A+PC指令时,伴随着 PSEN*控制信号有效。 6. 当单片机复位时PSW= 00 H,这时当前的工作寄存器区是 R4所对应的存储单元地址为 04 H。

7. MCS-51系列单片机指令系统的寻址方式有 寄存器寻址 、直接寻址、 寄存器间接寻址、立即寻址、 基址加变址 、 位寻址 。(相对寻址也可)

8. 51系列单片机的典型芯片分别为 AT89S51 、8031 、AT89C51 。 9. AT89S51的 P3口为双功能口;

10. 由AT89S51组成的单片机系统在工作时,EA*引脚应该接 地(或0);

11. AT89S51外部程序存储器的最大可扩展容量是 64K ,其地址范围是0000H - FFFFH 。ROM芯片2764的容量是 8 KB,若其首地址为 0000H,则其末地址 1FFFH 。 12. AT89S51的中断源有 外中断0, T0 ,外中断1, T1,串行口,有 2个中断优先级。 13. AT89S51唯一的一条16位数据传送指令为 MOV DPTR,data16。

14. LJMP的跳转范围是64K,AJMP的跳转范围是 2K B,SJMP的跳转范围是 ±128 B(或256B) 。

15. 若A中的内容为68H,那么P标志位为 二、简答题(13分)

1. 采用6MHz的晶振,定时2ms,用定时器方式1时的初值应为多少?(请给出计算过程)(6分) 答:

(1) Ts=2us

(216-X)×2us=2ms

1。

0区,

从而X=64536 ……………4分

18

(2) 64536=FC18H……………2分

2. AT89S51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突,为什么?(4分) 答:

因为访问外扩的程序存储器和数据存储器执行的指令不同,所发出的控制信号也就不同。(2分)

读外部数据存储器时,RD*信号有效。写外部数据存储器时,WR*信号有效。而读外部

程序存储器时,PSEN*信号有效。由于发出的控制信号不同,且只能有一种信号有效,因此,即使MCS-51外扩的程序存储器和数据存储器有相同的地址空间,也不会发生数据冲突。(2分)

3.说明AT89S51的外部引脚EA*的作用?(3分) 答:

EA*是内外程序存储器选择控制信号。(1分)

当EA*=0时,只选择外部程序存储器。(1分)

当EA*=1时,当PC指针≤0FFFH时,只访问片内程序存储器;当PC指针>0FFFH

时,则访问外部程序存储器(1分)

三、编写程序,将外部数据存储器中的5000H—50FFH单元全部清零(10分)。 答: ORG ****H (1分) MOV DPTR #5000H

MOV R0,#00H

CLR A (3分)

LOOP : MOVX @DPTR,A

INC DPTR (3分) DJNZ R0,LOOP (2分)

HERE: SJMP HERE (RET或SJMP $ 等)(1分)

四、简述AT89S51单片机主从结构多机通信原理,设有一台主机与三台从机通信,其中一台从机通信地址号为01H,请叙述主机呼叫从机并向其传送一个字节数据的过程。(请给出原理图) (10分) 答:

1) 原理图 (2分)

19

TXD RXD MCS-51 单片机 RXD TXD 00H RXD TXD 01H RXD TXD 02H RXD TXD 03H

2) 将所有从机的REN、SM2置1 (1分) 工作在方式2或3 (1分) 3)主机发送一个地址桢01H (1分) 第9位为1即TB8=1 (1分)

4) 各从机接收到后,都发生中断,进入中断服务程序,比较自己的地址与01H是否相同,若相同则将本机SM2置0,否则仍为1 (1分)

5)主机发送数据桢,TB8=0 (1分) 各从机接收该数据桢,从机中SM2为0的产生中断,而其它SM2为1的从机不产生中断将信息丢弃,从而实现主机与从机传递数据 (2分) 五、简述行列式扫描键盘的工作原理。(10分)

答:

1)首先判断有无键按下: (3分)

将列线全部置0,读行线状态,若P1.0~P1.3全为1,则表明无键按下,若出现

低电平即0,则有键按下,记录下行号 i ;

2) 其次,如有键按下,判断具体键号 (7分)

方法如下:逐列为低,其它为高,再读行线状态,如出现哪一行为低,记录此时

的列号j , 则证明第i行第j列的按键被按下,至此完成键盘的行列式扫描。

六、图为8段共阴数码管,请写出如下数值的段码。(5分)

20