1、1试题 1一、填空题(25 分,每空 1 分)1. AT89S51 单片机为 位单片机2. MCS-51 系列单片机的典型芯片分别为 、 、 。3. AT89S51 的异步通信口为 (单工/半双工/全双工)4. AT89S51 有 级中断, 个中断源5. AT89S51 内部数据存储器的地址范围是 ,位地址空间的字节地址范围是 ,对应的位地址范围是 ,外部数据存储器的最大可扩展容量是 。6. AT89S51 单片机指令系统的寻址方式有 、_、_ _、_ _ _、 。7. 如果(A)=34H ,(R7)=0ABH,执行 XCH A, R7;结果(A)= ,(R7)= 。8. 82C55 可以扩展
2、 个并行口,其中 条口线具有位操作功能;9. 当单片机复位时 PSW H,这时当前的工作寄存器区是 区,R4 所对应的存储单元地址为 H。10. 若 A 中的内容为 67H,那么,P 标志位为 。11. 74LS138 是具有 3 个输入的译码器芯片,其输出作为片选信号时,最多可以选中 片芯片。二、判断以下指令的正误:(5 分)(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)
3、=5FH,(32H)=3CH,则执行下列指令后:POP DPH;POP DPL;POP SP;则:(DPH)= _ _;(DPL) =_ _;(SP)=_ _;(6 分)22. 采用 6MHz 的晶振,定时 1ms,用定时器方式 0 时的初值应为多少?(请给出计算过程)(6 分)3. 分析下列程序的功能(5 分)PUSH ACCPUSH BPOP ACCPOP B四、图为 8 段共阴数码管,请写出如下数值的段码。0_ _;1_ _;2_ _;3_ _ ;_4_ ;5_ ;P_ _; 7_ ;8_ _;C_;五、简述 AT89S51 单片机主从结构多机通信原理,设有一台主机与三台从机通信,其中一
4、台从机通信地址号为 01H,请叙述主机呼叫从机并向其传送一个字节数据的过程。 (请给出原理图) (10 分 )六、简述一种多外部中断源系统的设计方法。(给出图和程序)(10 分)七、简述行列式扫描键盘的工作原理。(8 分)b a c d e f g h a b c d e f g hD0 D1 D2 D3 D4 D5 D6 D73八、请回答:(共 20 分)1. 下图中外部扩展的数据存储器容量是多少?(2 分)2. 三片 6264 的地址范围分别是多少?(地址线未用到的位填 1) (6 分,)3. 若外部程序存储器已扩展(未画出) ,请编写程序,要求:(1)将 30H3FH 中的内容送入 62
5、64 1# 的前 16 个单元中;(6 分)(2)将 6264 2# 的前 32 个单元的内容送入 40H5FH 中;(6 分) P2.7 P2.6 P2.5 P2.4 P2.0 ALE 8031 P0.0 P0.7 RD W D0 Q0 D7 Q7 G O A0 A7 A8 A12 CS 6264 1# E D0 D7 WRA0 A7 A8 A12 CS 6264 2# E D0 D7 RA0 A7 A8 A12 CS 6264 3# E D0 D7 WR8 5 8 8 8 8 8 373 Vc Vc Vc 试题 1 参考答案一、填空题(25 分,每空 1 分)41. AT89S51 单片机
6、为 8 位单片机2. MCS-51 系列单片机的典型芯片分别为 8031 、 8051 、 8751 。3. AT89S51 的异步通信口为 全双工 (单工 /半双工/全双工)4. AT89S51 有 2 级中断, 5 个中断源5. AT89S51 内部数据存储器的地址范围是 00H7FH ,位地址空间的字节地址范围是 20H2FH ,对应的位地址范围是 00H7FH ,外部数据存储器的最大可扩展容量是64K 。6. AT89S51 单片机指令系统的寻址方式有_寄存器寻址_、_直接寻址_、_寄存器间接寻址_、_立即寻址_、 基址寄存器加变址寄存器寻址 。7. 如果(A)=34H ,(R7)=0
7、ABH,执行 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 片芯片。二、判断以下指令的正误:(5 分)(1)MOV 28H,R4; ( )(2)INC DPTR; ( )(3)DEC DPTR ; ( )(4)CLR R0 ; (
8、)(5)MOV T0,#3CF0H ; ( )三、简答题1、 如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:POP DPH;POP DPL;POP SP;则:(DPH)= _3CH_;( DPL)= _5FH_;( SP)=_50H_;(6 分)2、采用 6MHz 的晶振,定时 1ms,用定时器方式 0 时的初值应为多少?(请给出计算过程)(6 分)5解:采用 6MHZ 晶振机器周期为 2us(2 13-X)210 -6=110-3X=7692(D)=1E0CH=1 1110 0000 1100(B) ,化成方式
9、0 要求格式为 1111 0000 1100 B即 0F00CH综上可知:TLX=0CH, THX=0F0H3. 分析下列程序的功能(5 分)PUSH ACCPUSH BPOP ACCPOP B解: 该程序的功能是通过累加器 ACC 与寄存器 B 数据交换。四、图为 8 段共阴数码管,请写出如下数值的段码。0_ 3FH_1_06H_2_5BH3_ 4FH_4_ 66H_ 5 6DH_P_73H_ 7_03H_ 8 _7FH_C_39H_五、简述 MCS-51 系列单片机主从结构多机通信原理,设有一台主机与三台从机通信,其中一台从机通信地址号为 01H,请叙述主机呼叫从机并向其传送一个字节数据的
10、过程。 (请给出原理图) (10 分)答:a b c d e f g hD0 D1 D2 D3 D4 D5 D6 D7 b a c d e f g h TXDRXD8031主机 TXD RXD 00H TXD RXD01H TXD RXD 02H TXD RXD 03H从机 从机 从机 从机6原理图如上图所示,假设主机呼叫 01H 从机,首先呼叫:主机发送地址帧 0000 00011(TB8)此时各从机的 SM2 位置 1,且收到的 RB8=1,故激活 RI。各从机将接收到的地址与地机地址比较,结果 1#机被选中,则其 SM2 清零;0#、2#机不变。接着传数;主机发送数据帧, 0 ,此时 1
11、#机 SM2=0, RB8=0 则激活 RI,而 0#,2#机SM2=1,RB8=0 则不激活 RI,然后数据进入 1#机的缓冲区。六、简述一种多外部中断源系统的设计方法。(给出图和程序)(10 分)答:原理电路如图所示程序如下:INT: PUSH PSW PUSH JNB P1.0, IR0 ;扫描中断请求JNB P1.1 , IR1JNB P1.2, IR2JNB P1.3, IR3INTIR:POP ;返回POP SWIR0: 中断服务子程序 ;中断服务AJMP INTIRIR1: 中断服务子程序AJMP INTIRIR2: 中断服务子程序AJMP INTIR7IR3: 中断服务子程序A
12、JMP INTIP七、简述行列式扫描键盘的工作原理。(8 分)答: 扫描键盘工作原理(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 输出高电平扫描根据据以上扫描,确定以上各键是否按下
13、。八、请回答:(共 20 分)1、下图中外部扩展的数据存储器容量是多少?(2 分)2、三片 6264 的地址范围分别是多少?(地址线未用到的位填 1) (6 分,)3、若外部程序存储器已扩展(未画出) ,请编写程序,要求:(1) 将 30H3FH 中的内容送入 6264 1# 的前 16 个单元中;(6 分)(2) 将 6264 2# 的前 32 个单元的内容送入 40H5FH 中;(6 分) P2.7 P2.6 P2.5 P2.4 P2.0 ALE 8031 P0.0 P0.7 RD W D0 Q0 D7 Q7 G O A0 A7 A8 A12 CS 6264 1# E D0 D7 WRA0
14、 A7 A8 A12 CS 6264 2# E D0 D7 RA0 A7 A8 A12 CS 6264 3# E D0 D7 WR8 5 8 8 8 8 8 373 Vc Vc Vc 解:1.外部扩展的数据存储器为 3 片 8K 的 RAM,外扩容量为 24 K2. A15 A!4 A13 地址范围80 1 1 6000H7FFFH1 0 1 A000HBFFFH3 (1)程序如下:ORG 0000HRESET: AJMP MAIN ;复位,转主程序ORG 0100HMAIN: MOV DPL,#00H ;初始化 DPTRMOV DPH,#60HMOV R0,#30H. ;初始化 R0LOOP
15、: MOV A,R0MOVX DPTR, AINC R0INC DPTRCJNE R0,#40H,LOOP NOPRET(1) 程序如下:ORG 0000HRESET: AJMP MAIN ;转主程序ORG 0100HMAIN: MOV DPL#00H ;初始化 DPTRMOV DPH,#0A0HMOV R0,#40H ;初始化 R0LOOP2: MOVX A,DPTR MOV R0,AINC DPTRINC R0CJNE R0,#60H,LOOP2 NOPRET 试题 2 参考答案9一、填空题(24 分,每空 1分)1AT89S51 单片机是( 8 )位的单片机。2AT89S51 单片机有(
16、 5 )个中断源, ( 2 )级优先级中断。3串行口方式 3 发送的第 9 位数据要事先写入( SCON )寄存器的( TB8 )位。4串行口的方式 0 的波特率为 ( fOSC/12 )。5AT89S51 内部数据存储器的地址范围是(00-7FH ) ,位地址空间的字节地址范围是(20-2FH ) ,对应的位地址范围是(00-7FH)外部数据存储器的最大可扩展容量是(64KB ) 。6在内部 RAM 中可位寻址区中,位地址为 40H 的位,该位所在字节的字节地址为( 28H ) 。7如果(A)=58H ,(R1)= 49H,(49H)= 79H,执行指令 XCH A, R1 后;结果(A)=
17、( 49 H ) ,(49H)=( 58H )。8利用 81C55 可以扩展( 3 )个并行口, (256)个 RAM 单元。9当单片机复位时 PSW ( 00 )H,SP=( 07H ) ,P0P3 口均为( 高 )电平。10若 A 中的内容为 88H,那么,P 标志位为( 0 ) 。11当 AT89S51 执行 MOVC A,A+ DPTR 指令时,伴随着( PSEN* )控制信号有效。12AT89S51 访问片外存储器时,利用( ALE )信号锁存来自( P0口 )发出的低 8位地址信号。13已知 fosc=12MHz, T0 作为定时器使用时,其定时时间间隔为( 1us ) 。14若A
18、T89S51外扩8KB 程序存储器的首地址若为1000H ,则末地址为(2FFF)H。二、判断对错,如对则在( )中写“” ,如错则在( )中写“” 。 (10 分)1AT89S51 单片机可执行指令:MOV 35H,R3。 ( )28031与8751的区别在于内部是否有程序存储器。 ( )3当向堆栈压入一个字节的数据后,SP 中的内容减 1。 ()4程序计数器 PC 中装的内容是当前正在执行指令的地址。 ()5某特殊功能寄存器的字节地址为 80H,它即能字节寻址,也能位寻址。 ()6AT89S51 单片机中的 PC 是不可寻址的。 ()7当 AT89S51 执行 MOVX DPTR,A 指令
19、时,伴随着 WR*信号有效。 ()8AT89S51 的定时器/计数器对外部脉冲进行计数时,要求输入的计数脉冲的高电平或低电平的持续时间不小于 1 个机器周期。 ()9区分外部程序存储器和数据存储器的最可靠的方法是看其是被 WR*还是被 PSEN*信号连接。 ()10各中断源发出的中断请求信号,都会标记在 AT89S51 的 TCON 寄存器中。 ()三、简答题101如果(DPTR)=5678H,(SP)=42H,(3FH)=12H ,(40H)=34H,(41H)=50H,(42H)=80H ,则执行下列指令后:POP DPHPOP DPLRET则:(PCH) =_34H_;(PCL)=_12
20、H_;(DPH) =_80H_;(DPL )=_50H _;(4 分)2AT89S51 采用 6MHz 的晶振,定时 2ms,如用定时器方式 1 时的初值(16 进制数)应为多少?(写出计算过程) (6 分)答:机器周期 6106=210-6s=2uS又方式 1 为 16 进制定时器.故(2 16X)210 -6=210-3=216-X=1000=X=65536-1000=64536 即初值=FC18H3AT89S51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突,为什么?(6分)答:不发生数据冲突的原因是:AT89S51 中访问程序存储器和数据存储器的指令不一样。选通信
21、号也就不一样,前者为 PSEN,后者为 WR 与 RD。程序存储器访问指令为 MOVC A,DPTR;MOVC A,A+pc。数据存储器访问指令为:MOVX A,DPTR; MOVX A,Ri; MOVX DPTR,A。4说明 AT89S51 的外部引脚 EA*的作用?(4 分)答:当 EA*为高电平时,AT89S51 访问内部程序存储器,但当地址大于 0FFF 时,自动转到外部程序存储器;当 EA*为低电平时,AT89S51 只读取外部程序存储器。5写出 AT89S51 的所有中断源,并说明说明哪些中断源在响应中断时,由硬件自动清除,哪些中断源必须用软件清除,为什么?(6 分)答: 外部中断
22、 INT0*定时器/计数器中断 T0外部中断 INT1*定时器/计数器中断 T1串行口中断 其中串行口中断 TI 与 RI 必须用软件清“0”,因为串口中断的输出中断为 TI,输入中断为RI,故用软件清“0” 。四、下图为某 AT89S51 应用系统的 3 位 LED 8 段共阳极静态显示器的接口电路, (1)该静态显示器电路与动态扫描的显示器电路相比有哪些优缺点?(2)写出显示字符“3” 、 “8”、“5”的段码,注意:段码的最低位为“a” 段,段码的最高位为“dp” 段(3)已知8255A 的 PA 口、PB 口和 PC 口的地址分别为 FF7CH、FF7DH、FF7EH,且 8255A 的这 3个端口均已被编写完毕的初始化程序初始化为方式 0 输出,请编写出使 3 位 LED 共阳极显示器从左至右显示“3.85”的程序段。 (14 分)