试题1 参考答案 一、填空题(25分,每空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 片芯
片。
二、判断以下指令的正误:(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)=5FH,(32H)=3CH,则执行下列指令后: POP
POP POP
DPH; DPL; SP;
1
则:(DPH)= ___3CH___;(DPL)=___5FH___;(SP)=___50H___;(6分)
2、采用6MHz的晶振,定时1ms,用定时器方式0时的初值应为多少?(请给出计算过程)(6分)
解:∵采用6MHZ晶振
∴机器周期为2us (213-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. 分析下列程序的功能(5分)
PUSH ACC PUSH B POP ACC POP B
解: 该程序的功能是通过累加器ACC与寄存器B数据交换。 四、图为8段共阴数码管,请写出如下数值的段码。
a b c d e f g h f g c e d h a b D0 D1 D2 D3 D4 D5 D6 D7 0__ 3FH___1__06H___2_5BH 3_ 4FH__4_ 66H_ 5 6DH___ P__73H__ 7_03H___ 8 _7FH__ C_39H_
五、简述MCS-51系列单片机主从结构多机通信原理,设有一台主机与三台从机通信,其中一台从机通信地址号为01H,请叙述主机呼叫从机并向其传送一个字节数据的过程。(请给出原理图) (10分)
2
答:
从机 从机 从机 从机
TXD RXD 8031 主机 TXD RXD 00H TXD RXD 01H TXD RXD 02H TXD RXD 03H 原理图如上图所示,假设主机呼叫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#机的缓冲区。
六、简述一种多外部中断源系统的设计方法。(给出图和程序)(10分) 答:原理电路如图所示
程序如下:
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 IR1: 中断服务子程序
3
AJMP INTIR IR2: 中断服务子程序 AJMP INTIR IR3: 中断服务子程序
AJMP INTIP
七、简述行列式扫描键盘的工作原理。(8分)
答: 扫描键盘工作原理
(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输出高电平扫描 根据据以上扫描,确定以上各键是否按下。 八、请回答:(共20分)
1、下图中外部扩展的数据存储器容量是多少?(2分)
2、三片6264的地址范围分别是多少?(地址线未用到的位填1) (6分,) 3、若外部程序存储器已扩展(未画出),请编写程序,要求: (1) 将30H~3FH中的内容送入6264 1# 的前16个单元中;(6分) (2) 将6264 2# 的前32个单元的内容送入40H~5FH中;(6分)
4
P2.7 P2.6 P2.5 P2.4 P2.0 ALE 8031 P0.0 P0.7 RD WR ~ ~ 5 D0 Q0 8 8 8 A0~A7 A8~A12 A0~A7 A8~A12 A0~A7 A8~A12 373 8 D7 Q7 G OE 8 8 ~ ~ Vcc CS 6264 1# CE Vcc CS 6264 2# CE Vcc CS 6264 3# CE DED0~D7 WR DED0~D7 WR DED0~D7 WR
解: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
AJMP MAIN ;复位,转主程序
RESET:
ORG 0100H MAIN:
MOV DPL,#00H ;初始化DPTR
MOV DPH,#60H
MOV R0,#30H. ;初始化R0
LOOP: MOV A,@R0
MOVX @DPTR, A
(1) 程序如下:
5
INC R0 INC DPTR
CJNE R0,#40H,LOOP NOP RET