1 试题 5 参考答案 一、填空 1. 如果(A)=45H,(R1)=20H,(20H)=12H,执行 XCHD A, @ R1;结果(A)= 42H ,(20H)= 15H 2. AT89S51 的异步通信口为 全双工 (单工/半双工/全双工),若传送速率为每秒 120 帧,每帧 10 位,则波特率为 1200 bit/s 3. AT89S51 内部数据存储器的位地址空间的字节地址范围是 20H-2FH ,对应的位地址范围 是 00H-FFH。 4. 单片机也可称为 微控制器 或 嵌入式控制器 5. 当 MCS-51 执行 MOVX A,@R1 指令时,伴随着 RD 控制信号有效。 6. 当单片机的 PSW=01H 时,这时当前的工作寄存器区是 0 区,R4 所对应的存储单 元地址为 04 H 7. AT89S51 的 P0 口为高 8 位地址总线口。 8. 设计一个以 AT89C51 单片机为核心的系统,如果不外扩程序存储器,使其内部 4KB 闪烁 程序存储器有效,则其 EA* 引脚应该接 +5V 9. 在 R7 初值为 00H 的情况下,DJNZ R7,rel 指令将循环执行 256 次。 10. 欲使 P1 口的低 4 位输出 0,高 4 位不变,应执行一条 ANL P1, #0F0H 命令。 11. 单片机外部三大总线分别为 数据总线 、 地址总线 和控制总线。 12. 数据指针 DPTR 有 16 位,程序计数器 PC 有 16 位 13. 74LS138 是具有 3 个输入的译码器芯片,用其输出作片选信号,最多可在 8 块芯片 中选中其中任一块。 14. MCS-51 指令系统中,ADD 与 ADDC 指令的区别是 进位位 Cy 是否参与加法运算 15. 特殊功能寄存器中,单元地址低位为 0 或 8 的特殊功能寄存器,可以位寻址。 16. 开机复位后,CPU 使用的是寄存器第 0 组,地址范围是 00H-07H 17. 若某存储器芯片地址线为 12 根,那么它的存储容量为 4kB 18. 关于定时器,若振荡频率为 12MHz,在方式 0 下最大定时时间为 8.192ms 19. AT89S51 复位后,PC 与 SP 的值为分别为 0000H 和 07H
2 20. LJMP 跳转空间最大可达到 64K 21. 执行如下三条指令后,30H 单元的内容是 #0EH M O V R 1,#30H M O V 40H,#0 E H M O V ﹫R 1,40H 二、判断题 1 当 EA 脚接高电平时,对 ROM 的读操作只访问片外程序存储器。(X ) 2 必须有中断源发出中断请求,并且 CPU 开中断,CPU 才可能响应中断。(X ) 3 8155 是一种 8 位单片机。(X ) 4 51 单片机只能做控制用,不能完成算术运算。(X ) 5 单片机内部 RAM 和外部 RAM 是统一编址的,它们的访问指令相同。(X ) 6 指令 AJMP 的跳转范围是 2KB。(√ ) 7 扩展 I/O 口占用片外数据存储器的地址资源。(√ ) 8 8051 单片机,程序存储器数和数据存储器扩展的最大范围都是一样的。(√ ) 9 单片机系统扩展时使用的锁存器,是用于锁存低 8 位地址(√ ) 10 在 A/D 变换时,转换频率越高越好。(X ) 三、简答题 1、采用 6MHz 的晶振,定时 5ms,用定时器方式 1 时的初值应为多少?(请给出计算过程) 答: (1) (21 6-X)×2us=5ms 65536 – 2500 = 63036 从而 X=63036.4 分 (2) 64536=F63CH.1 分 2、 MCS-51 单片机片内 256B 的数据存储器可分为几个区?分别作什么用? 答: (1)通用工作寄存器区,00H – 1FH,共4组,R0-R7,在程序中直接使用 (2)可位寻址区,20H-2FH,可进行位操作,也可字节寻址 (3)用户RAM区,30H-7FH,只可字节寻址,用于数据缓冲及堆栈区 (4)特殊功能寄存器区,80H-FFH,21个特殊功能寄存器离散地分布在该区内,用于实现各 种控制功能
3 3、 指出以下程序段每一条指令执行后累加器 A 内的值,已知(R0)=30H。 MOV A,#0AAH ;(A)= 0AAH CPL A ;(A)= 55H RL A ;(A)= 0AAH CLR C ;(A)= 0AAH ADDC A,R0 ;(A)= 0DAH 四、下图是四片 2K×8 位存储器芯片的连线图。(1)确定四片存储器芯片地址范围,要求写 出必要的推导过程。(2)编程将片内 RAM 30H~4FH 单元中的 32 个字节数据传送到片外 RAM 左 数第一块芯片的最低端 32 个字节单元(按地址由低至高存放)。 G1 G2A G2B C B A Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 74LS138真 值 表 答:(1) 设从左至右 RAM 芯片号为#1,#2,#3,#4 芯片 A1 5A14 A1 3 A12A11 A1 0A9A8A7A6A5A4A3A2A1A0 地址范围 #1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 低 8000H (1 分) 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 高 87FFH (1 分) #2 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 低 8800H (1 分) 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 高 8FFFH (1 分) #3 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 低 9000H (1 分)
4 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 高 97FFH (1 分) #4 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 低 9800H (1 分) 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 高 9FFFH (1 分) (2) ORG 1000H MOV DPTR, #8000H ; MOV R0, #20H ; MOV R1, #30H ; LOOP: MOV A, @R1 ; MOVX @DPTR,A ; INC DPTR ; INC R1 ; DJNZ R0, LOOP ; HERE: RET ;或 AJMP HERE 五、简述行列式键盘线反转法识别按键的工作原理。 答: 第 1 步:让行线编程为输入线,列线编程为输出线,使输出线输出为全低电平,则行线中电 平由高变低的所在行为按键所在行。(3 分) 第 2 步:再把行线编程为输出线,列线编程为输入线,使输出线输出为全低电平,则列线中 电平由高变低的所在列为按键所在列。(3 分) 综合上述两步,可确定按键所在行和列。 六、图为 8 段共阴数码管,请写出如下数值的段码
5 答: 0 3FH (0.5 分) 1 30H(06H) (0.5 分) 2 6DH (0.5 分) 3 79H (0.5 分) 4 72 H (0.5 分) 5 5BH (0.5 分) P 67H (0.5 分) 7 31 H (0.5 分) 8 7FH (0.5 分) C 0FH (0.5 分) 七、回答下列问题并写出简要分析过程。 左下图是 DAC0832 的应用电路,DA 转换时数字量 FFH 与 00H 分别对应于模拟量+5V 与 0V。 右下图给出了 DAC0832 的逻辑结构。(1)将图中空缺的电路补充完整;(2)编写程序,产生 图中所示锯齿波。设有一个延时 3.905ms 的子程序 DELAY 可以直接调用。 DAC0832 的逻辑结构 答: (1)共 6 根线,每根线 1 分。连线如图,如果 WR2*与 WR*或 XFER*相连也给分。ILE 直接接 +5V 也正确。 (2) ORG 1000H a b c d e f g h D0 D1 D2 D3 D4 D5 D6 D7 f a e d c b g h