试题3参考答案 一、填空题 1.AT89S51单片机有(2)级优先级中断。 2.串行口方式2接收到的第9位数据送(SC0N)寄存器的(RB8)位中保存。 3.当单片机复位时PSW=(00)H,这时当前的工作寄存器区是(0)区,R6所对应的存储单 元地址为(06)H。 4.利用82C55可以扩展(3)个并行口,其中(8)条口线具有位操作功能: 5.AT89S51访问片外存储器时,利用(ALE)信号锁存来自(P0口)发出的低8位地址信 号。 6.若AT89S51外扩32KB数据存储器的首地址若为4000H,则末地址为(BFFF)H。 7.当AT89S51执行MOVC A,@A+PC指令时,伴随着(PSEN体)控制信号有效。 8.若A中的内容为67H,那么,P标志位为(1)。 9.AT89S51单片机的通讯接口有(串行)和(并行)两种形式。在串行通讯中,发送时要把 (并行)数据转换成(串行)数据。接收时又需把(串行)数据转换成(并行)数据。 10.AT89S51内部数据存储器的地址范围是(00-7H),位地址空间的字节地址范围是 (00-2FH),对应的位地址范围是(00-7H),外部数据存储器的最大可扩展容量是(64KB)。 11.AT89S51单片机指令系统的寻址方式有(寄存器寻址方式)、(直接寻址方式)、(立即寻 址方式)、(寄存器间接寻址方式)、(位寻址方式)、(基址寄存器加变址寄存器)、(相对寻 址方式)。 12.AT89S51内部提供(2)个可编程的(16)位定时/计数器,定时器有(4)种工作方式。 二、判断对错,如对则在()中写“√”,如错则在()中写“X”。 1.AT89S51的定时器/计数器对外部脉冲进行计数时,要求输入的计数脉冲的高电平或低电 平的持续时间不小于1个机器周期。(×) 2.判断指令的正误:MOVT0,#3CFOH:(×) 3.定时器T0中断可以被外部中断0中断(×) 4.指令中直接给出的操作数称为直接寻址。(×) 5.内部RAM的位寻址区,既能位寻址,又可字节寻址。(√) 6.特殊功能寄存器SC0N与定时器/计数器的控制无关。(√) 7.当AT89S51执行MOVX A,@R1指令时,伴随着WR*信号有效。(X)
1 试题 3 参考答案 一、填空题 1.AT89S51 单片机有( 2 )级优先级中断。 2.串行口方式 2 接收到的第 9 位数据送(SCON)寄存器的(RB8)位中保存。 3.当单片机复位时 PSW=(00)H,这时当前的工作寄存器区是(0)区,R6 所对应的存储单 元地址为(06)H。 4.利用 82C55 可以扩展(3)个并行口,其中(8)条口线具有位操作功能; 5.AT89S51 访问片外存储器时,利用(ALE)信号锁存来自( P0 口 )发出的低 8 位地址信 号。 6.若AT89S51外扩32KB 数据存储器的首地址若为4000H,则末地址为(BFFF)H。 7.当 AT89S51 执行 MOVC A,@A+PC 指令时,伴随着(PSEN*)控制信号有效。 8.若 A 中的内容为 67H,那么,P 标志位为(1)。 9.AT89S51 单片机的通讯接口有(串行)和(并行)两种形式。在串行通讯中,发送时要把 (并行)数据转换成(串行)数据。接收时又需把(串行)数据转换成(并行)数据。 10.AT89S51 内部数据存储器的地址范围是(00-7FH ),位地址空间的字节地址范围是 (00-2FH),对应的位地址范围是(00-7FH ),外部数据存储器的最大可扩展容量是(64KB)。 11.AT89S51 单片机指令系统的寻址方式有(寄存器寻址方式)、(直接寻址方式)、(立即寻 址方式)、(寄存器间接寻址方式)、(位寻址方式)、(基址寄存器加变址寄存器)、(相对寻 址方式) 。 12.AT89S51 内部提供(2)个可编程的(16)位定时/计数器,定时器有(4)种工作方式。 二、判断对错,如对则在( )中写“√”,如错则在( )中写“×”。 1.AT89S51 的定时器/计数器对外部脉冲进行计数时,要求输入的计数脉冲的高电平或低电 平的持续时间不小于 1 个机器周期。(×) 2.判断指令的正误:MOV T0,#3CF0H;(×) 3.定时器 T0 中断可以被外部中断 0 中断(×) 4.指令中直接给出的操作数称为直接寻址。(×) 5.内部 RAM 的位寻址区,既能位寻址,又可字节寻址。(√) 6.特殊功能寄存器 SCON 与定时器/计数器的控制无关。(√) 7.当 AT89S51 执行 MOVX A,@R1 指令时,伴随着 WR*信号有效。(×)
8.串行口工作方式1的波特率是固定的,为fosc/32。(×) 9.区分外部程序存储器和数据存储器的最可靠的方法是看其是被RD*还是被PSEN*信号 连接。(√) 10.逐次比较型A/D转换器与双积分A/D转换器比较,转换速度比较慢。(×) 三、简答题 1.AT89S51采用12Mz的晶振,定时1ms,如用定时器方式1时的初值(16进制数)应为多 少?(写出计算过程)(6分) 解:采用12MH的晶振,Tcy=1/fosc×12=1/12×10×12=1us 采用定时器方式1(为16位) 定时1ms,设初值为X,则:(216-X)×1×10-6=1×10-3 则=>X=64536将其转换成二进的为:1111110000011000 再将其转化为16进制数为:FC18 初值为TXH=FCH TXL=18H 2.中断服务子程序返回指令RETI和普通子程序返回指令RET有什么区别? 答:RETI除了将压栈的内容出栈外(即现场恢复),还清除在中断响应时被置1的AT89S51 内部中断优先级寄存器的优先级状态。 3.AT89S51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突, 为什么? 答:AT89S51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突。 这是因为它们的控制信号不同: (1)外扩程序存储器是PSEN*信号为其控制信号 外扩数据存储器是RD*与WR*信号为其控制信号 (2)指令不同,程序存储器用MOVC读取,数据存储器用MOVX存取 4.图为8段共阴数码管,请写出如下数值的段码。 a b c d e f g h a DO D1 D2 D3 D4 D5 D6 D7 f g b 立立立立应立立☑ e d dp
2 8.串行口工作方式 1 的波特率是固定的,为 fosc/32。(×) 9.区分外部程序存储器和数据存储器的最可靠的方法是看其是被 RD*还是被 PSEN*信号 连接。(√) 10.逐次比较型 A/D 转换器与双积分 A/D 转换器比较,转换速度比较慢。(×) 三、简答题 1.AT89S51 采用 12MHz 的晶振,定时 1ms,如用定时器方式 1 时的初值(16 进制数)应为多 少?(写出计算过程)(6 分) 解:采用 12MHZ的晶振,Tcy=1/fosc×12=1/12×10-6×12=1us 采用定时器方式 1(为 16 位) 定时 1ms,设初值为 X,则:(216-X)×1×10-6=1×10-3 则=>X=64536 将其转换成二进的为:1111110000011000 再将其转化为 16 进制数为:FC18 初值为 TXH=FCH TXL=18H 2.中断服务子程序返回指令 RETI 和普通子程序返回指令 RET 有什么区别? 答:RETI 除了将压栈的内容出栈外(即现场恢复),还清除在中断响应时被置 1 的 AT89S51 内部中断优先级寄存器的优先级状态。 3.AT89S51 外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突, 为什么? 答:AT89S51 外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突。 这是因为它们的控制信号不同: (1) 外扩程序存储器是 PSEN*信号为其控制信号 外扩数据存储器是 RD*与 WR*信号为其控制信号 (2) 指令不同,程序存储器用 MOVC 读取,数据存储器用 MOVX 存取 4.图为 8 段共阴数码管,请写出如下数值的段码。 a b c d e f g h D0 D1 D2 D3 D4 D5 D6 D7
0 3FH 06H 2 5BH 3 4FH 4 66H 5 6DH 73H 7 07H 8 7FH 39H 5.LED的静态显示方式与动态显示方式有何区别?各有什么优缺点? 答: 静态:显示期间,锁存器输出的段码不变;亮度大,各位LED的段选分别控制;位数多硬件电 路复杂 动态:所有位段码线并连一起,各位的亮灭靠片选控制端控制,亮度较低,多位控制电路简 单 四、程序分析: 外部RAM3000H,3001H单元的内容分别为55H,0DDH,试分析如下程序,并回答问题。 程序1: MOV DPTR,#3000H MOV R1,#40H MOVX A,@DPTR 4000H MOV @R1,A INC R1 3001H DD INC DPTR 3000H 55 MOVX A,@DPTR MOV R1,A 问题1:若执行上述程序,则结束后,DPTR值为3001H,R1的内容为41H,8031内部RAM41H 单元的内容DDH,40H单元内容为55H_。 在上程序中,若继续执行如下程序 程序2: START:MOV DPTR,#3000H MOV R1,#40H MOV A,@R1 MOVX @DPTR,A 问题2、START执行结束后,DPTR的值为3000H,3000H单元的内容为55,R1的内容为 40H 问题3:执行如下程序,填出A寄存器的内容。 程序3、MOVA、#88H MOV R,#AAH ORLA、R:A的内容为:AH
3 0____________________1____________________2____________________ 3____________________4____________________5____________________ P____________________7____________________8____________________ C____________________ 5.LED 的静态显示方式与动态显示方式有何区别?各有什么优缺点? 答: 静态:显示期间,锁存器输出的段码不变;亮度大,各位 LED 的段选分别控制;位数多硬件电 路复杂 动态:所有位段码线并连一起,各位的亮灭靠片选控制端控制,亮度较低,多位控制电路简 单 四、程序分析: 外部 RAM 3000H,3001H 单元的内容分别为 55H,0DDH,试分析如下程序,并回答问题。 程序 1: MOV DPTR,#3000H MOV R1,#40H MOVX A ,@DPTR MOV @R1,A INC R1 INC DPTR MOVX A,@DPTR MOV @ R1,A 问题 1:若执行上述程序,则结束后,DPTR 值为 3001H,R1 的内容为 41H ,8031 内部 RAM41H 单元的内容 DDH,40H 单元内容为__55H__。 在上程序中,若继续执行如下程序 程序 2: START:MOV DPTR,#3000H MOV R1 ,#40H MOV A,@R1 MOVX @DPTR,A 问题 2、START 执行结束后,DPTR 的值为_3000H_,3000H 单元的内容为_55H_,R1 的内容为 __40H___。 问题 3:执行如下程序,填出 A 寄存器的内容。 程序 3、 MOV A、#88H MOV R7,#AAH ORL A、R7 :A 的内容为:__AAH__ 4000H 3001H 3000H DD 55 3FH 06H 5BH 4FH 66H 6DH 73H 07H 7FH 39H
MOV A,#37H MOV R7,#89H ANL A,Rz A的内容为:01H XRL A,R A的内容为:88H RET 五、简述一种多外部中断源系统的设计方法。(给出图和程序)(10分) 答:程序如下: 台白白岛幽尚始 ORG 0013H 的中断入口 LJMP INTI INT1: PUSH PSW ;保护现场 PUSH ACC JB P1.0,IR1 ;P1.0高,IR1有请求 :早的红的回一 JB P1.1,IR2:P1.1高,IR2有请求 -90 JB P1.2,IR3 P1.2脚高,IR1有请求 与与 JB P1.3,IR4 ;P1.4脚高,IR4有请求 C--C00 早卤的回 INTIR: POP ACC 恢复现场 “=回0 POP PSW RETI 中断返回 IR1: IRI的中断处理程序 AJMP INTIR IR1中断处理完毕,跳标号INTIR处执行 IR2: IR2的中断处理程序 AJMP INTIR IR2中断处理完毕,跳标号INTIR处执行 IR3: IR3的中断处理程序 A.IMP INTIR IR3中断处理完毕,跳标号INTIR处执行 IR4: IR4的中断处理程序 AJMP INTIR IR4中断处理完毕,跳标号INTIR处执行 六、请回答:(共14分) 1.下图中外部扩展的程序存储器和数据存储器容量各是多少? 2.三片存储器芯片的地址范围分别是多少?(地址线未用到的位填1) 3.请编写程序,要求: (1)将内部RAM40H-4FH中的内容送入1#6264的前16个单元中; (2)将2#6264的前4个单元的内容送入50H-53H中; 4
4 MOV A,#37H MOV R7,#89H ANL A,R7 A 的内容为:__01H _ XRL A,R7 A 的内容为:__88H _ RET 五、简述一种多外部中断源系统的设计方法。(给出图和程序) (10 分) 答:程序如下: ORG 0013H ;的中断入口 LJMP INT1 ; ┇ INT1: PUSH PSW ;保护现场 PUSH ACC JB P1.0,IR1 ;P1.0 高,IR1 有请求 JB P1.1,IR2 ;P1.1 高,IR2 有请求 JB P1.2,IR3 ;P1.2 脚高,IR1 有请求 JB P1.3,IR4 ;P1.4 脚高,IR4 有请求 INTIR: POP ACC ;恢复现场 POP PSW RETI ;中断返回 IR1: IR1 的中断处理程序 AJMP INTIR ; IR1 中断处理完毕,跳标号 INTIR 处执行 IR2: IR2 的中断处理程序 AJMP INTIR ;IR2 中断处理完毕,跳标号 INTIR 处执行 IR3: IR3 的中断处理程序 AJMP INTIR ;IR3 中断处理完毕,跳标号 INTIR 处执行 IR4: IR4 的中断处理程序 AJMP INTIR ;IR4 中断处理完毕,跳标号 INTIR 处执行 六、请回答:(共 14 分) 1.下图中外部扩展的程序存储器和数据存储器容量各是多少? 2.三片存储器芯片的地址范围分别是多少?(地址线未用到的位填 1) 3.请编写程序,要求: (1) 将内部 RAM 40H-4FH 中的内容送入 1# 6264 的前 16 个单元中; (2) 将 2# 6264 的前 4 个单元的内容送入 50H-53H 中;
P2.7 P24 p20 5 (5 DO Q0 8 8 D7 Q7 A0-A7 A8-A12 A0-A7A8-A12 A0-A7A8-A12 74LS373 ALE G OE CE CE CE 2764 1#6264 2#6264 AT89S51 +5M CS D0-D7 OE OE WR OE WR P0.7 、8 8 8 P0.0 PSEN RD WR 答: 1.解外部扩展的程序存储器容量为:8KB 外部扩展的数据存储器容量为:8KB×2=16kb 2.程序存储器2764地址的高3位: A15A14A13 0 0 0 地址范围为:O0OOH-1FFFH 数据存储器1#6264地址高3位: A15 A14 A13 0 1 1 地址范围为:6000H-7FFFH 数据存储器2#6264地址范围为: A15 A14 A13 1 0 1 地址范围为:AOOOH-BFFFH 3.编写程序 (1) MOV R0,#40H MOV DPTR,#6000H:设置数据指针为6000H LOOP:MOV A,@RO :将片内RAM(40-4FH)中的内容送入A中 MOVX @DPTR,A ;将A→@DPTR中
5 答: 1.解外部扩展的程序存储器容量为:8KB 外部扩展的数据存储器容量为:8KB×2=16kb 2. 程序存储器 2764 地址的高 3 位: A15 A14 A13 0 0 0 地址范围为:0000H-1FFFH 数据存储器 1#6264 地址高 3 位: A15 A14 A13 0 1 1 地址范围为:6000H-7FFFH 数据存储器 2#6264 地址范围为: A15 A14 A13 1 0 1 地址范围为:A000H-BFFFH 3.编写程序 (1) MOV RO, #40H MOV DPTR, #6000H ;设置数据指针为 6000H LOOP:MOV A, @RO ; 将片内 RAM(40-4FH)中的内容送入 A 中 MOVX @DPTR,A ; 将 A→@DPTR 中 PSEN CE WR P2.7 P2.6 P2.5 P2.4 P2.0 │ AT89S51 D0-D7 OE D0-D7 OE 2764 CE A0-A7 A8-A12 OE 74LS373 Q0 Q7 D0 D7 │ │ ALE G P0.7 P0.0 │ 8 8 8 8 8 5 5 5 8 8 +5V WR 2# 6264 CS CE A0-A7 A8-A12 +5V WR CS A0-A7 A8-A12 OE OE 1# 6264 RD 5 8 ● ● ● ● ● ● ● ● ●
INC RO INC DPTR CJNE RO,#50H,LOOP:将此子程序循环执行16次 RET (2) MOV R0,#50H MOV DPTR,#0A000H 设置数据指针为AO0OH LOOP:MOVX A,@DPTR MOVX @RO,A 将外部数据存储器内容送入到片内中 INC RO INC DPTR CJNE RO,#54H,LOOP:将此子程序循环执行4次 RET 6
6 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 ; 将此子程序循环执行 4 次 RET