试题1参考答案 一、填空题 1.AT89S51单片机为8位单片机 2.MCS-51系列单片机的典型芯片分别为8031、8051_、8751。 3.AT89S51的异步通信口为全双工(单工/半双工/全双工) 4. AT89S51有_2级中断,5个中断源 5. AT89S51内部数据存储器的地址范围是 O0H7,位地址空间的字节地址范围是 20H2H,对应的位地址范围是00H7I,外部数据存储器的最大可扩展容量是64K。 6. AT89S51单片机指令系统的寻址方式有寄存器寻址、 直接寻址、 寄存器 间接寻址、立即寻址、基址寄存器加变址寄在器寻址。 7.如果(A)=34组,(R7)=0ABH,执行XCHA,R7;结果(A)=0ABH (R7)=34组。 8.82C55可以扩展3个并行口,其中 8条口线具有位操作功能: 9.当单片机复位时PSW=00H,这时当前的工作寄存器区是0区,R4所对应的存储单元 地址为04H。 10.若A中的内容为67H,那么,P标志位为1。 11.74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中8 片芯片。 二、判断以下指令的正误: (1)MOV 28H,@R4: (X) (2)INC DPTR; (√) (3)DEC DPTR 。; (×) (4)CLR R0; () (5)M0VT0,#3CF0H: (X) 三、简答题 1、 如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令 后: POP DPH; POP DPL;
试题 1 参考答案 一、填空题 1. AT89S51 单片机为 8 位单片机 2. MCS-51 系列单片机的典型芯片分别为 8031 、 8051 、 8751 。 3. AT89S51 的异步通信口为 全双工 (单工/半双工/全双工) 4. AT89S51 有 2 级中断, 5 个中断源 5. AT89S51 内部数据存储器的地址范围是 00H~7FH ,位地址空间的字节地址范围是 20H~2FH ,对应的位地址范围是 00H~7FH ,外部数据存储器的最大可扩展容量是 64K 。 6. AT89S51 单片机指令系统的寻址方式有__寄存器寻址__、____直接寻址____、___寄存器 间接寻址_____、_立即寻址____、 基址寄存器加变址寄存器寻址 。 7. 如果(A)=34H,(R7)=0ABH,执行 XCH A, R7;结果(A)= 0ABH , (R7)= 34H 。 8. 82C55 可以扩展 3 个并行口,其中 8 条口线具有位操作功能; 9. 当单片机复位时 PSW= 00 H,这时当前的工作寄存器区是 0 区,R4 所对应的存储单元 地址为 04 H。 10. 若 A 中的内容为 67H,那么,P 标志位为 1 。 11. 74LS138 是具有 3 个输入的译码器芯片,其输出作为片选信号时,最多可以选中 8 片芯片。 二、判断以下指令的正误: (1)MOV 28H,@R4; ( × ) (2)INC DPTR; ( √ ) (3)DEC DPTR ; ( × ) (4)CLR R0 ; ( × ) (5)MOV T0,#3CF0H; ( × ) 三、简答题 1、 如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令 后: POP DPH; POP DPL;
POP SP; 则:(DPHW=3CH;(DPL)=5FH;(SP)=50H;(6分) 2、采用6Mz的晶振,定时1ms,用定时器方式0时的初值应为多少?(请给出计算过程)(6 分) 解:,采用6MH2晶振 ∴.机器周期为2us (23-X)×2×10=1×10 .X=7692(D)=1E0CH=1111000001100(B), 化成方式0要求格式为111100001100B 即OF00CH 综上可知:TLX=0CH, THX=0FOH 3.分析下列程序的功能 PUSH ACC PUSH B POP ACC POP B 解:该程序的功能是通过累加器ACC与寄存器B数据交换。 四、图为8段共阴数码管,请写出如下数值的段码。 a b c d e f g h Do D DD3 D4 Ds DD7 立立立立立立立立 d 0 3FH 1 06H 2 5BH 3 4FH 4 66H 5 6DH P 73H 703H 87FH C 39H 五、简述MCS-51系列单片机主从结构多机通信原理,设有一台主机与三台从机通信,其中一 台从机通信地址号为01H,请叙述主机呼叫从机并向其传送一个字节数据的过程。(请给出原 理图)
2 POP SP; 则:(DPH)= ___3CH___;(DPL)=___5FH___;(SP)=___50H___;(6 分) 2、采用 6MHz 的晶振,定时 1ms,用定时器方式 0 时的初值应为多少?(请给出计算过程)(6 分) 解:∵采用 6MHZ 晶振 ∴机器周期为 2us (2 13 -X)×2×10-6 =1×10-3 ∴X=7692(D)=1E0CH=1 1110 0000 1100(B), 化成方式 0 要求格式为 1111 0000 1100 B 即 0F00CH 综上可知:TLX=0CH, THX=0F0H 3. 分析下列程序的功能 PUSH ACC PUSH B POP ACC POP B 解: 该程序的功能是通过累加器 ACC 与寄存器 B 数据交换。 四、图为 8 段共阴数码管,请写出如下数值的段码。 0__ 3FH___1__06H___2_5BH 3_ 4FH__4_ 66H_ 5 6DH___ P__73H__ 7_03H___ 8 _7FH__ C_39H_ 五、简述 MCS-51 系列单片机主从结构多机通信原理,设有一台主机与三台从机通信,其中一 台从机通信地址号为 01H,请叙述主机呼叫从机并向其传送一个字节数据的过程。(请给出原 理图) a b c d e f g h D0 D1 D2 D3 D4 D5 D6 D7 b a c d e f g h
答: TXD RXD 8031 TXD RXD TXD RXD TXD RXD TXD RXD 主机 00H 01H 02H 03H 从机 从机 从机 从机 原理图如上图所示,假设主机呼叫01H从机,首先呼叫:主机发送地址帧000000011(TB8) 此时各从机的SM2位置1,且收到的RB8=1,故激活RI。各从机将接收到的地址与地机地址 比较,结果1#机被选中,则其SM2清零:0#、2#机不变。接着传数:主机发送数据帧,×× ××××××0,此时1#机SM2=0,RB8=0则激活RI,而0#,2#机SM2=1,RB8=0则不激 活RI,然后数据进入1#机的缓冲区。 六、简述一种多外部中断源系统的设计方法。(给出图和程序) 答:原理电路如图所示 兰当当幽当档岛一 早的回 学T 回四 四四可 程序如下: INT:PUSH PSW PUSH A JNB P1.0, IRO ;扫描中断请求 JNB P1.1, IR1 JNB P1.2, IR2 JNB P1.3, IR3 INTIR:POP A ;返回 POP PSW IRO: 中断服务子程序 ;中断服务 AJMP INTIR 3
3 答: 原理图如上图所示,假设主机呼叫 01H 从机,首先呼叫:主机发送地址帧 0000 00011(TB8) 此时各从机的 SM2 位置 1,且收到的 RB8=1,故激活 RI。各从机将接收到的地址与地机地址 比较,结果 1#机被选中,则其 SM2 清零;0#、2#机不变。接着传数;主机发送数据帧,×× ×× ×××× 0 ,此时 1#机 SM2=0, RB8=0 则激活 RI,而 0#,2#机 SM2=1,RB8=0 则不激 活 RI,然后数据进入 1#机的缓冲区。 六、简述一种多外部中断源系统的设计方法。(给出图和程序) 答:原理电路如图所示 程序如下: INT: PUSH PSW PUSH A JNB P1.0, IR0 ;扫描中断请求 JNB P1.1 , IR1 JNB P1.2, IR2 JNB P1.3, IR3 INTIR:POP A ;返回 POP PSW IR0: 中断服务子程序 ;中断服务 AJMP INTIR TXD RXD 8031 主机 TXD RXD 00H TXD RXD 01H TXD RXD 02H TXD RXD 03H 从机 从机 从机 从机
IR1:中断服务子程序 AJMP INTIR IR2:中断服务子程序 AJMP INTIR IR3:中断服务子程序 AJMP INTIP 七、简述行列式扫描键盘的工作原理。 8031 米3 12#13#14#/15# P1.3 8# 9#10#九1# P1.2 及虹 4#5#B#7# o +5V P1.1 P1.00 0#1#2#3# YO P3.3 P3.2 P3.1 P3.0 答:扫描键盘工作原理 (1)首先X0X3,始终接高电平,Y0Y3给低电平,扫描P1.0P1.3若全为高电平,则没有键 按下,若有低电平,则有键按下。 (2)接着Y0输出低电平,Y1Y3输出高平,扫描P1.0P1.3,若全为高电平,则没有键按下, 若有低电平,则找出相位,得到所按的键。 (3)再Y1输出低电平,Y0,Y2,Y3输出高电平,重复第2步骤作. (4)再Y2输出低电平,Y0,Y1,Y3输出高电平扫描 (5)再Y3输出低电平,Y0,Y1,Y2输出高电平扫描 根据据以上扫描,确定以上各键是否按下。 八、请回答: 1、下图中外部扩展的数据存储器容量是多少? 2、三片6264的地址范围分别是多少?(地址线未用到的位填1) 3、若外部程序存储器已扩展(未画出),请编写程序,要求: (1)将30H3FH中的内容送入62641#的前16个单元中: (2)将62642#的前32个单元的内容送入40H5FH中:
4 IR1: 中断服务子程序 AJMP INTIR IR2: 中断服务子程序 AJMP INTIR IR3: 中断服务子程序 AJMP INTIP 七、简述行列式扫描键盘的工作原理。 答: 扫描键盘工作原理 (1)首先 X0~X3,始终接高电平,Y0~Y3 给低电平,扫描 P1.0~P1.3 若全为高电平,则没有键 按下,若有低电平,则有键按下。 (2)接着 Y0 输出低电平,Y1~Y3 输出高平,扫描 P1.0~P1.3,若全为高电平,则没有键按下, 若有低电平,则找出相位,得到所按的键。 (3)再 Y1 输出低电平,Y0,Y2,Y3 输出高电平,重复第 2 步骤作. (4)再 Y2 输出低电平,Y0,Y1,Y3 输出高电平扫描 (5)再 Y3 输出低电平,Y0,Y1,Y2 输出高电平扫描 根据据以上扫描,确定以上各键是否按下。 八、请回答: 1、下图中外部扩展的数据存储器容量是多少? 2、三片 6264 的地址范围分别是多少?(地址线未用到的位填 1) 3、若外部程序存储器已扩展(未画出),请编写程序,要求: (1) 将 30H~3FH 中的内容送入 6264 1# 的前 16 个单元中; (2) 将 6264 2# 的前 32 个单元的内容送入 40H~5FH 中;
P2.7 P2.6 P2.5 P2.4 5 P2.0 DO Q0 13731 /8 8 D7 Q7 81 ALE G OE A0~A7A8A12 A0A7A8~A12 A0A7A8A12 8031 CS 62641# 62642# 62643# CE CE CE DO~D7 DE WR DO~D7 DE WR DO~D7 DEWR P0.0 P0.7 RD WR 解:1.外部扩展的数据存储器为3片8K的RAM,外扩容量为24K 2. A15A!4A13 地址范围 0 1 6000H 7FFFH 0 1 AOOOH BFFFH 3.(1)程序如下: 0RG0000H RESET:AJMP MAIN :复位,转主程序 ORG 0100H MAIN:MOV DPL,#00H :初始化DPTR MOV DPH,#60H MOV R0,#30H. :初始化RO LOOP: MOV A,@RO MOVX @DPTR,A INC RO INC DPTR CJNE RO,#40H,LOOP NOP RET (1)程序如下: 5
5 P2.7 P2.6 P2.5 P2.4 P2.0 ALE 8031 P0.0 P0.7 RD WR D0 Q0 D7 Q7 G OE A0~A7 A8~A12 CS 6264 1# C E D0~D7 DE WR A0~A7 A8~A12 CS 6264 2# C E D0~D7 DE WR A0~A7 A8~A12 CS 6264 3# C E D0~D7 DEWR 8 5 8 8 8 8 373 8 Vcc Vcc Vcc ~ ~ ~ ~ 解:1.外部扩展的数据存储器为 3 片 8K 的 RAM,外扩容量为 24 K 2. A15 A!4 A13 地址范围 0 1 1 6000H~7FFFH 1 0 1 A000H~BFFFH 3.(1)程序如下: ORG 0000H RESET: AJMP MAIN ;复位,转主程序 ORG 0100H MAIN: MOV DPL,#00H ;初始化 DPTR MOV DPH,#60H MOV R0,#30H. ;初始化 R0 LOOP: MOV A,@R0 MOVX @DPTR, A INC R0 INC DPTR CJNE R0,#40H,LOOP NOP RET (1) 程序如下:
ORG 0000H RESET: AJMP MAIN :转主程序 ORG 0100H MAIN: MOV DPL#0OH ;初始化DPTR MOV DPH,#OAOH MOV R0,#40H :初始化R0 L00P2: MOVX A,@DPTR MOV @RO,A INC DPTR INC RO CJNE R0,#60H,L00P2 NOP RET 6
6 ORG 0000H RESET: AJMP MAIN ;转主程序 ORG 0100H MAIN: MOV DPL#00H ;初始化 DPTR MOV DPH,#0A0H MOV R0,#40H ;初始化 R0 LOOP2: MOVX A,@DPTR MOV @R0,A INC DPTR INC R0 CJNE R0,#60H,LOOP2 NOP RET