《单片机试题及其内容答案解析.doc》由会员分享,可在线阅读,更多相关《单片机试题及其内容答案解析.doc(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、*. 试题 1 一、填空题(25 分,每空 1 分) 1. AT89S51 单片机为 8 位单片机 2. MCS-51 系列单片机的典型芯片分别为 8031 、 8051 、 8751 。 3. AT89S51 的异步通信口为 全双工 (单工/半双工/全双工) 4. AT89S51 有 2 级中断, 5 个中断源 5. AT89S51 内部数据存储器的地址范围是 00H7FH ,位地址空间的 字节地址范围是 20H2FH ,对应的位地址范围是 00H7FH ,外部数据存 储器的最大可扩展容量是 64K。 6. AT89S51 单片机指令系统的寻址方式有_寄存器寻址_、直接寻址_、寄存 器间接寻
2、址_、_立即寻址_、 基址寄存器加变址寄存器寻址 。 7. 如果(A)=34H,(R7)=0ABH,执行 XCH A, R7;结果(A)= 0ABH , (R7)= 34H 。 8. 82C55 可以扩展3个并行口,其中8条口线具有位操作功能; 9. 当单片机复位时 PSW00 H,这时当前的工作寄存器区是 0 区,R4 所对 应的存储单元地址为04 H。 10. 若 A 中的内容为 67H,那么,P 标志位为1。 11. 74LS138 是具有 3 个输入的译码器芯片,其输出作为片选信号时,最多可以 选中8 片芯片。 二、判断以下指令的正误:(5 分) (1)MOV 28H,R4;( ) (
3、2)INC DPTR;( ) *. (3)DEC DPTR;( ) (4)CLR R0;( ) (5)MOV T0,#3CF0H; ( ) 三、简答题 1、如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则 执行下列指令后: POPDPH; POPDPL; POPSP; 则:(DPH)= _3CH_;(DPL)=_5FH_;(SP)=_50H_; 2、采用 6MHz 的晶振,定时 1ms,用定时器方式 0 时的初值应为多少?(请 给出计算过程) (6 分) 解:采用 6MHZ 晶振 机器周期为 2us (213-X)210-6=110
4、-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 数据交换。 五、简述 MCS-51 系列单片机主从结构多机通信原理,设有一台主机与三台从 机通信,其中一台从机通信地址号为 01H,请叙述主机呼叫从机并向其传送一 *. 个字节数据的过程。(请给出原理图) (10 分) 解: 原理图如上图所示,
5、假设主机呼叫 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 JNB P1.0, IR0
6、;扫描中断请求 JNB P1.1 , IR1 JNB P1.2, IR2 JNB P1.3, IR3 INTIR:POP ;返回 POP SW IR0: 中断服务子程序 ;中断服务 TXD RXD 8031 主机 TXD RXD 00H TXD RXD 01H TXD RXD 02H TXD RXD 03H 从机 从机 从机 从机 *. AJMP INTIR IR1: 中断服务子程序 AJMP INTIR IR2: 中断服务子程序 AJMP INTIR IR3: 中断服务子程序 AJMP INTIP 七、简述行列式扫描键盘的工作原理。(8 分) 答: 扫描键盘工作原理 (1) 首先 X0X3,
7、始终接高电平,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 输出高电平扫描 根据据以上扫描,确定以上各键是否按下。 八、请回答:(共 20 分) *. 1、下图中外部扩展的数据存储器容量是多少?(2 分)
8、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 8 80 03 31 1 P0.0 P0.7 RD WR D0 Q0 D7 Q7 G OE A0A7 A8A12 CS 6264 1# CE D0D7 DE WR A0A7 A8A12 CS 6264 2# CE D0D
9、7 DE WR A0A7 A8A12 CS 6264 3# CE D0D7 DE WR 8 5 8 8 8 8 8 373 Vcc Vcc Vcc 解:1.外部扩展的数据存储器为 3 片 8K 的 RAM,外扩容量为 24 K 2. A15 A!4 A13 地址范围 0 1 1 6000H7FFFH 1 0 1 A000HBFFFH 3 (1)程序如下: ORG 0000H RESET:AJMP MAIN ;复位,转主程序 ORG 0100H MAIN: MOV DPL,#00H ;初始化 DPTR *. MOV DPH,#60H MOV R0,#30H. ;初始化 R0 LOOP: MOV
10、A,R0 MOVX DPTR, A INC R0 INC DPTR CJNE R0,#40H,LOOP NOP RET (1)程序如下: ORG 0000H RESET:AJMPMAIN ;转主程序 ORG0100H MAIN: MOVDPL#00H ;初始化 DPTR MOVDPH,#0A0H MOVR0,#40H ;初始化 R0 LOOP2: MOVXA,DPTR MOVR0,A INC DPTR INC R0 CJNE R0,#60H,LOOP2 NOP RET 试题 2 一、填空题(24 分,每空 1 分) 1AT89S51 单片机是( 8 )位的单片机。 2AT89S51 单片机有(
11、 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 后;结
12、果 (A)=( 79 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
13、若 AT89S51 外扩 8KB 程序存储器的首地址若为 1000H,则末地址为 2FFFH。 二、判断对错, 1AT89S51 单片机可执行指令:MOV 35H,R3。 ( ) 28031与8751的区别在于内部是否有程序存储器。 ( ) 3当向堆栈压入一个字节的数据后,SP 中的内容减 1。 () 4程序计数器 PC 中装的内容是当前正在执行指令的地址。 () 5某特殊功能寄存器的字节地址为 80H,它即能字节寻址,也能位寻址。 *. () 6AT89S51 单片机中的 PC 是不可寻址的。 () 7当 AT89S51 执行 MOVX DPTR,A 指令时,伴随着 WR*信号有效。 ()
14、8AT89S51 的定时器/计数器对外部脉冲进行计数时,要求输入的计数脉冲的 高电平或低电平的持续时间不小于 1 个机器周期。 () 9区分外部程序存储器和数据存储器的最可靠的方法是看其是被 WR*还是被 PSEN*信号连接。 () 10.各中断源发出的中断请求信号,都会标记在 AT89S51 的 TCON 寄存器中。 三、简答题 1 如果(DPTR)=5678H,(SP)=42H,(3FH)=12H ,(40H)=34H,(41H) =50H,(42H)=80H,则执行下列指令后: POPDPH POPDPL RET 则:(PCH) =_34H_;(PCL)=_12H_;(DPH)=_80H
15、_;(DPL) =_50H_; 2AT89S51 采用 6MHz 的晶振,定时 2ms,如用定时器方式 1 时的初值(16 进制数)应为多少?(写出计算过程) (6 分) 答:机器周期 6106=210-6s=2uS 又方式 1 为 16 进制定时器.故 (216X)210-6=210-3=216-X=1000 =X=65536-1000=64536 即初值=FC18H *. 3AT89S51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发 生数据冲突,为什么?(6分) 答:不发生数据冲突的原因是:AT89S51 中访问程序存储器和数据存储器的指令 不一样。 选通信号也就不一样,前者
16、为 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 分) 答: 外部中断
17、 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、FF7
18、DH、FF7EH,且 8255A 的这 3 个端口均已被编写完毕的初始化程 序初始化为方式 0 输出,请编写出使 3 位 LED 共阳极显示器从左至右显示 “3.85”的程序段。 (14 分) 解:(1) 优点是:亮度高,字符不闪烁,占用 CPU 资源少。 缺点是:占用的 I/O 口太多,当需要的 LED 数目较多时,需要外扩展的 I/0 口。 (2) 3.:B0H 8:80H 5:92H (3) MOV DPTR,#0FF7CH MOV A,#30H MOVX DPTR,A MOV DPTR,#0FF7DH MOV A ,#80H MOVX DPTR,A MVOX DPTR,#0FF7EH
19、MOV A,#92H MOVX DPTR,A RET 五、画出 AT89S51 系列单片机利用串行口进行 1 台主机与 4 台从机多机串行通 讯连线图,其中 1 台从机通讯地址号为 02H,请叙述主机向 02H 从机发送一个 字节数据的过程(10 分) a b c d e f g dp 8255A PB PCPA 来自 AT89S51 +5 V 82C5 5 *. 答:主机发送数据过程如下: (1)将从机 0003H 的 REN 置 1,SM2=1,并使它们工作在串行口工作方式 2 或 3。 (2)由主机向 4 个从机发出一帧地址址信息 02H,第 9 位为 1。从机接到信息 后均发生中断,执
20、行中断服务程序,将 02H 与自身地址做比较。若相同,则清 SM2=0,若不同则 SM2 不变仍为 1。 (3)主机发送一帧数据信息,第 9 位为 0,从机接到信息后,只有 SM2=0 的 从机发生中断,将数据信息收取,其余 SM2=1 的从机不放出中断,信息丢失, 从而实现主机向 02H 从机发送一个字节数据的功能。 六、请回答:(共 16 分) 1下图中外部扩展的程序存储器和数据存储器容量各是多少?(2 分) 2两片存储器芯片的地址范围分别是多少?(地址线未用到的位填 1) (6 分,) 3请编写程序,要求: (1)将内部 RAM 30H3FH 中的内容送入 1# 6264 的前 16 个
21、单元中;(4 分) (2)将 2# 6264 的前 4 个单元的内容送入 40H43 中;(4 分) PSEN CE WR P2.7 P2.6 P2.5 P2.4 P2.0 AT89S51 D0-D7 OED0-D7OE 2764 CE A8-A12A0-A7 OE 74LS 373 Q0 Q7 D0 D7 G ALE P0.7 P0.0 8 8 8 8 8 555 8 8 +5V WR 2# 6264 CS CE A8-A12A0-A7 +5V WR CS A8-A12A0-A7 OEOE 1# 6264 RD 5 8 *. 解: 1. 外扩程序存储器的容量是 8K,外扩数据存储器的容量是
22、16K 2. 2764 范围:C000HDFFFH 1#范围: A000HBFFFH 2#范围: 6000H7FFFH 3请编写程序 (1)MOV R1 ,#10H MOV DPTR, #0A000H MOV R0,#30H LOOP:MOVA,R0 MOVX DPTR,A INC DPTR INC R0 DJNZ R1,LOOP RET (2)MOV R1,#04H MOV DPTR,#6000H MOV R0 ,#40H LOOP:MOVX A ,DPTR MOV R0 ,A INC DPTR INC R0 DJNZ R1,LOOP RET 试题 3 参考答案 *. 一、填空题(31 分,
23、每空 1 分) 1AT89S51 单片机有( 2 )级优先级中断。 2串行口方式 2 接收到的第 9 位数据送 SCON 寄存器的 RB8 位中保存。 3当单片机复位时 PSW(00)H,这时当前的工作寄存器区是(0)区,R6 所 对应的存储单元地址为(06)H。 4利用 82C55 可以扩展(3)个并行口,其中(8)条口线具有位操作功能; 5AT89S51 访问片外存储器时,利用(ALE)信号锁存来自( P0 口 )发出的 低 8 位地址信号。 6若AT89S51外扩32KB 数据存储器的首地址若为4000H,则末地址为BFFFH。 7当 AT89S51 执行 MOVC A,A+PC 指令时
24、,伴随着(PSEN*)控制信号有效。 8若 A 中的内容为 67H,那么,P 标志位为(1) 。 9AT89S51 单片机的通讯接口有(串行)和(并行)两种形式。在串行通讯 中,发送时要把(并行)数据转换成(串行)数据。接收时又需把(串行) 数据转换成(并行)数据。 10AT89S51 内部数据存储器的地址范围是(00-7FH ) ,位地址空间的字节地 址范围是(00-2FH) ,对应的位地址范围是(00-7FH ) ,外部数据存储器的最 大可扩展容量是(64KB) 。 11AT89S51 单片机指令系统的寻址方式有(寄存器寻址方式) 、 (直接寻址方 式) 、 (立即寻址方式) 、 (寄存器
25、间接寻址方式) 、 (位寻址方式) 、 (基址寄存 器加变址寄存器) 、 (相对寻址方式) 。 12AT89S51 内部提供(2)个可编程的(16)位定时/计数器,定时器有 (4)种工作方式。 *. 二、判断对错 1AT89S51 的定时器/计数器对外部脉冲进行计数时,要求输入的计数脉冲的 高电平或低电平的持续时间不小于 1 个机器周期。 () 2判断指令的正误:MOVT0,#3CF0H;() 3定时器 T0 中断可以被外部中断 0 中断() 4指令中直接给出的操作数称为直接寻址。 () 5内部 RAM 的位寻址区,既能位寻址,又可字节寻址。 () 6特殊功能寄存器 SCON 与定时器/计数器
26、的控制无关。 () 7当 AT89S51 执行 MOVX A,R1 指令时,伴随着 WR*信号有效。 () 8串行口工作方式 1 的波特率是固定的,为 fosc/32。 () 9区分外部程序存储器和数据存储器的最可靠的方法是看其是被 RD*还是 被 PSEN*信号连接。 () 10逐次比较型 A/D 转换器与双积分 A/D 转换器比较,转换速度比较慢。 () 三、简答题 1AT89S51 采用 12MHz 的晶振,定时 1ms,如用定时器方式 1 时的初值(16 进 制数)应为多少?(写出计算过程) (6 分) 解:采用 12MHZ的晶振,Tcy=1/fosc12=1/1210-612=1us
27、 采用定时器方式 1(为 16 位) 定时 1ms,设初值为 X,则:(216-X)110-6=110-3 则=X=64536 将其转换成二进的为:1111110000011000 再将其转化为 16 进制数为:FC18 *. 初值为 TXH=FCH TXL=18H 2中断服务子程序返回指令 RETI 和普通子程序返回指令 RET 有什么区别?答: RETI 除了将压栈的内容出栈外(即现场恢复) ,还清除在中断响应时被置 1 的 AT89S51 内部中断优先级寄存器的优先级状态。 3AT89S51 外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发 生数据冲突,为什么?(6 分) 答:
28、AT89S51 外扩的程序存储器和数据存储器可以有相同的地址空间,但不会 发生数据冲突。这是因为它们的控制信号不同: (1) 外扩程序存储器是 PSEN*信号为其控制信号, 外扩数据存储器是 RD*与 WR*信号为其控制信号 (2) 指令不同,程序存储器用 MOVC 读取,数据存储器用 MOVX 存取 5LED 的静态显示方式与动态显示方式有何区别?各有什么优缺点?(4 分) 答:静态:显示期间,锁存器输出的段码不变;亮度大,各位 LED 的段选分别控 制;位数多硬件电路复杂 动态:所有位段码线并连一起,各位的亮灭靠片选控制端控制,亮度较低,多 位控制电路简单 四、程序分析:(10 分) 外部
29、 RAM 3000H,3001H 单元的内容分别为 55H,0DDH,试分析如下程序,并 回答问题。 程序 1: MOV DPTR,#3000H MOV R1,#40H MOVX A ,DPTR 4000H 3001H 3000H *. 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
30、 ,#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_ MOV A,#37H MOV R7,#89H ANL A,R7 A 的内容为:_01H _ XRL A,R7 A 的内容为:_88H _ RET 五、简述一种多外部中断源系统的设计方法。 (给出图和程序) (10 分) DD 55 *. 答:程序如下: ORG
31、 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 中断处
32、理完毕,跳标号 INTIR 处执行 IR3: IR3 的中断处理程序 AJMP INTIR ;IR3 中断处理完毕,跳标号 INTIR 处执行 IR4: IR4 的中断处理程序 AJMP INTIR ;IR4 中断处理完毕,跳标号 INTIR 处执行 六、请回答:(共 14 分) 1下图中外部扩展的程序存储器和数据存储器容量各是多少?(2 分) *. 2三片存储器芯片的地址范围分别是多少?(地址线未用到的位填 1) 3请编写程序,要求:将内部 RAM 40H-4FH 中的内容送入 1# 6264 的前 16 个 单元中;将 2# 6264 的前 4 个单元的内容送入 50H-53H 中; 解:
33、 1解外部扩展的程序存储器容量为:8KB 外部扩展的数据存储器容量为:8KB2=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编写程序 PSEN CE W R P2 .7 P2 .6 P2 .5 P2 .4 P2 .0 AT89S51 D0- D7 O E D0- D7 O E 276
34、4 CE A8- A12 A0- A7 O E Q 0 Q 7 D 0 D 7 G ALE P0 .7 P0 .0 8 88 8 8 555 8 8 +5 V W R 2# 6264 CS CE A8- A12 A0- A7 +5 V W R CS A8- A12 A0- A7 O E O E 1# 6264 R D 5 8 *. (1) MOV RO, #40H MOV DPTR, #6000H ;设置数据指针为 6000H LOOP:MOV A, RO ; 将片内 RAM(40-4FH)中的内容送入 A 中 MOVX DPTR,A ; 将 ADPTR 中 INC RO INC DPTR C
35、JNE 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 试题 4 参考答案 一、填空题(37 分) 1. AT89S51 单片机芯片共有 40 个引脚,MCS-51 系列单片机为 8 位单片机。 2. AT89S51 的异步通信口为全双工(单工/半双工/全双工) , 3.
36、AT89S51 内部数据存储器的地址范围是 00H-7FH,位地址空间的字节地址 范围是 20H-2FH,对应的位地址范围是 00H-7FH,外部数据存储器的最大可扩展 容量是 64K 字节。 4. 单片机也可称为微控制器 或 嵌入式控制器。 5当 MCS-51 执行 MOVC A,A+PC 指令时,伴随着 PSEN*控制信号有效。 *. 6. 当单片机复位时 PSW00 H,这时当前的工作寄存器区是 0 区,R4 所对应的存储单元地址为 04 H。 7. MCS-51 系列单片机指令系统的寻址方式有 寄存器寻址 、直接寻址、 寄 存器间接寻址、立即寻址、 基址加变址 、 位寻址 。 (相对寻
37、址也可) 8. 51 系列单片机的典型芯片分别为 AT89S51 、8031 、AT89C51 。 9. AT89S51 的 P3 口为双功能口; 10. 由 AT89S51 组成的单片机系统在工作时,EA*引脚应该接 地(或 0) ; 11. AT89S51 外部程序存储器的最大可扩展容量是 64K ,其地址范围 是 0000H - FFFFH 。ROM 芯片 2764 的容量是 8 KB,若其首地址为 0000H,则其末地址 1FFFH 。 12. AT89S51 的中断源有 外中断 0, T0 ,外中断 1, T1,串行口,有 2 个中断优先级。 13. AT89S51 唯一的一条 16
38、 位数据传送指令为 MOV DPTR,data16。 14. LJMP 的跳转范围是 64K,AJMP 的跳转范围是 2K B,SJMP 的跳转范围 是 128 B(或 256B) 。 15. 若 A 中的内容为 68H,那么 P 标志位为 1。 二、简答题(13 分) 1. 采用 6MHz 的晶振,定时 2ms,用定时器方式 1 时的初值应为多少?(请给 出计算过程) (6 分) 答:(1) Ts=2us (216X)2us2ms 从而 X64536 (2) 64536FC18H *. 2. AT89S51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会 发生数据冲突,为什么?(4分
39、) 答:因为访问外扩的程序存储器和数据存储器执行的指令不同,所发出的控制 信号也就不同。 (2分)读外部数据存储器时,RD*信号有效。写外部数据存储器 时,WR*信号有效。而读外部程序存储器时,PSEN*信号有效。由于发出的控制 信号不同,且只能有一种信号有效,因此,即使MCS-51外扩的程序存储器和数 据存储器有相同的地址空间,也不会发生数据冲突。 (2分) 3说明 AT89S51 的外部引脚 EA*的作用?(3 分) 答: EA*是内外程序存储器选择控制信号。 (1 分) 当 EA*0 时,只选择外部程序存储器。 (1 分) 当 EA*1 时,当 PC 指针0FFFH 时,只访问片内程序存
40、储器;当 PC 指 针0FFFH 时,则访问外部程序存储器(1 分) 三、编写程序,将外部数据存储器中的5000H50FFH单元全部清零(10分)。 答: ORG *H (1分) MOV DPTR #5000H MOV R0,#00H CLR A (3分) LOOP : MOVX DPTR,A INC DPTR (3分) DJNZ R0,LOOP (2分) HERE: SJMP HERE (RET 或 SJMP $ 等)(1 分) 四、简述 AT89S51 单片机主从结构多机通信原理,设有一台主机与三台从机通 信,其中一台从机通信地址号为 01H,请叙述主机呼叫从机并向其传送一个字 节数据的过
41、程。(请给出原理图) (10 分) *. 答: 1) 原理图 (2 分) TXD RXD MCS-51 单片机 RXD TXD 00H RXD TXD 01H RXD TXD 02H RXD TXD 03H 2) 将所有从机的 REN、SM2 置 1 (1 分) 工作在方式 2 或 3 (1 分) 3)主机发送一个地址桢 01H (1 分) 第 9 位为 1 即 TB8=1 (1 分) 4) 各从机接收到后,都发生中断,进入中断服务程序,比较自己的地址与 01H 是否相同,若相同则将本机 SM2 置 0,否则仍为 1 (1 分) 5)主机发送数据桢,TB8=0 (1 分) 各从机接收该数据桢,
42、从机中 SM2 为 0 的产生中断,而其它 SM2 为 1 的从机不产生中断将信息丢弃,从而实现主 机与从机传递数据 (2 分) 五、简述行列式扫描键盘的工作原理。 (10 分) 答:1)首先判断有无键按下: (3 分) 将列线全部置 0,读行线状态,若 P1.0P1.3 全为 1,则表明无键按下, *. 若出现低电平即 0,则有键按下,记录下行号 i ; 2) 其次,如有键按下,判断具体键号 (7 分) 方法如下:逐列为低,其它为高,再读行线状态,如出现哪一行为低,记录 此时的列号 j , 则证明第 i 行第 j 列的按键被按下,至此完成键盘的行列 式扫描。 七、回答下列问题并写出简要分析过
43、程(15 分) 。 1图 1(a)所示为某微机中存储器的地址空间分布图。图 1(b)为存储器的地址 译码电路,为使地址译码电路按图 1(a)所示的要求进行正确寻址(设 CPU 的地 址线为 16 条) ,要求在答题纸上画出: (1) A 组跨接端子的内部正确连线图?(4.5 分)并简要分析(3 分) (2) B 组跨接端子的内部正确连线图?(4.5 分)并简要分析(3 分) (注:74LS139 是 2-4 译码器,A 为低端,B 为高端,使能端 G 接地表示译码器 处于正常译码状态) 。 答:连线部分:A组跨接端子与B组跨接端子的各自连接如图1(b)所示。连对1根 线给1.5分。 ROM1
44、ROM2 空 RAM1 RAM2 存储器地址 0000H 4000H 8000H C000H E000H FFFFH 图 1(a) 地址空间图 1(b) 地址译码电路 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Y0 Y1 Y2 Y3 G B A A 组 跨接端子 B 组 跨接端子 74LS139 芯片选择 ROM2 ROM1 RAM2 RAM1 A15 A12 A13 A14 地址译码电路地址译码电路 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Y0 Y1 Y2 Y3 G B A A 组 跨接端子 B 组 跨接端子 74LS
45、139 芯片选择 ROM2 ROM1 RAM2 RAM1 A15 A12 A13 A14 *. 注意:连线部分是简答的前提。 试题 5 参考答案 一、填空(30 分,每空 1 分) 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。
46、 4. 单片机也可称为 微控制器 或 嵌入式控制器 5. 当 MCS-51 执行 MOVX A,R1 指令时,伴随着 RD 控制信号 有效。 6. 当单片机的 PSW01H 时,这时当前的工作寄存器区是 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 位,程序计数器 P