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. 当单片机复位时 PSW 00 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,则执行下列指令后:POP DPH;POP DPL;POP SP;则:(DPH)= _3CH_;(DPL)= _5FH_;(SP)=_50H_;(6 分)2、采用 6MHz 的 晶振,定时 1ms,用定时器方式 0 时的 初值应为多少?(请给出计算过程) (6 分)解:采用 6MHZ 晶振机器周期为 2us(2 13-X)210
4、 -6=110-3X=7692(D)=1E0CH=1 1110 0000 1100(B) ,化成方式 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_a b c d e f g hD0 D1 D2 D3 D4 D5 D6 D7 b a c d e f g
5、h 2P_73H_ 7_03H_ 8 _7FH_C_39H_五、简述 MCS-51 系列单片机主从结构多机通信原理,设有一台主机与三台从机通信,其中一台从机通信地址号为 01H,请叙述主机呼叫从机并向其传送一个字节数据的 过程。(请给出原理图) (10 分)答:原理图如上图所示,假设主机呼叫 01H 从机,首先呼叫:主机发送地址帧 0000 00011(TB8)此时各从机的 SM2 位置 1,且收到的 RB8=1,故激活 RI。各从机将接收到的 地址与地机地址比较,结果 1#机被选中,则其 SM2 清零;0#、2#机不变。接着传数;主机发送数据帧, 0 ,此时 1#机 SM2=0, RB8=0
6、 则激活 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 INTIRIR3: 中断服务子程序AJMP INTIP七、简述
7、行列式扫描键盘的 工作原理。(8 分)TXDRXD8031主机 TXD RXD 00H TXD RXD01H TXD RXD 02H TXD RXD 03H从机 从机 从机 从机3答: 扫描键盘工作原理(1) 首先 X0X3,始终接高电平,Y0Y3 给低电平,扫描 P1.0P1.3 若全为高电平,则没有键按下,若有低电平,则有键按下。(2) 接着 Y0 输出低电平,Y1Y3 输出高平,扫描 P1.0P1.3,若全为高电平,则没有键按下,若有低电平,则找出相位,得到所按的 键。(3) 再 Y1 输出低电平,Y0,Y2,Y3 输出高电平,重复第 2 步骤作.(4) 再 Y2 输出低电平,Y0,Y1
8、,Y3 输出高电平扫描(5) 再 Y3 输出低电平,Y0,Y1,Y2 输出高电平扫描根据据以上扫描,确定以上各键是否按下。八、请回答:(共 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
9、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 R A0 A7 A8 A12 CS 6264 3# E D0 D7 WR 8 5 8 8 8 8 8 373 Vc Vc Vc 解:1.外部扩展的 数据存储器为 3 片 8K 的 RAM,外扩容量为 24 K42. A15 A!4 A13 地址范围0 1 1 6000H7FFFH1 0 1 A000HBFFFH3 (1)程序如下:ORG 0000HRESET: AJMP MAIN ;复位,转主程序ORG
10、 0100HMAIN: MOV DPL,#00H ;初始化 DPTRMOV DPH,#60HMOV R0,#30H. ;初始化 R0LOOP: 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 NO
11、PRET 试题 2 参考答案一、填空题(24 分,每空 1分)1AT89S51 单片机是( 8 )位的 单片机。2AT89S51 单片机有( 5 )个中断源, ( 2 )级优先级中断。3串行口方式 3 发送的 第 9 位数据要事先写入( SCON )寄存器的 ( TB8 )位。4串行口的 方式 0 的 波特率为 ( fOSC/12 )。5AT89S51 内部数据存储器的 地址范围是(00-7FH ) ,位地址空间的 字节地址范围是(20-2FH ) ,对应的 位地址范围是(00-7FH)外部数据存储器的 最大可扩展容量是(64KB ) 。6在内部 RAM 中可位寻址区中,位地址为 40H 的
12、位,该位所在字节的 字节地址为( 28H ) 。7如果(A)=58H,(R1)= 49H,(49H)= 79H,执行指令 XCH A, R1 后;结果(A)=( 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 访问片外存储器时,利用(
13、ALE )信号锁存来自( P0口 )发出的 低 8 位地址信号。13已知 fosc=12MHz, T0 作为定时器使用时,其定时时间间隔为( 1us ) 。514若AT89S51外扩8KB 程序存储器的 首地址若为1000H,则末地址为(2FFF)H。二、判断对错,如对则在( )中写“” ,如错则在( )中写“” 。 (10 分)1AT89S51 单片机可执行指令:MOV 35H,R3。 ( )28031与8751的 区别在于内部是否有程序存储器。 ( )3当向堆栈压入一个字节的 数据后,SP 中的 内容减 1。 ()4程序计数器 PC 中装的 内容是当前正在执行指令的 地址。 ()5某特殊功
14、能寄存器的 字节地址为 80H,它即能字节寻址,也能位寻址。 ()6AT89S51 单片机中的 PC 是不可寻址的 。 ()7当 AT89S51 执行 MOVX DPTR,A 指令时,伴随着 WR*信号有效。 ()8AT89S51 的 定时器/计数器对外部脉冲进行计数时,要求输入的 计数脉冲的 高电平或低电平的 持续时间不小于 1 个机器周期。 ()9区分外部程序存储器和数据存储器的 最可靠的 方法是看其是被 WR*还是被 PSEN*信号连接。 ()10各中断源发出的 中断请求信号,都会标记在 AT89S51 的 TCON 寄存器中。 ()三、简答题1 如果(DPTR)=5678H,(SP)=
15、42H,(3FH)=12H ,(40H)=34H,(41H)=50H,(42H)=80H,则执行下列指令后:POP DPHPOP DPLRET则:(PCH) =_34H_;(PCL)=_12H_;(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 即初值 =FC18H3AT
16、89S51外扩的 程序存储器和数据存储器可以有相同的 地址空间,但不会发生数据冲突,为什么?(6分)答:不发生数据冲突的 原因是:AT89S51 中访问程序存储器和数据存储器的 指令不一样。选通信号也就不一样,前者为 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 时,自动转到外部程序存储器;当 E
17、A*为低电平时,AT89S51 只读取外部程序存储器。5写出 AT89S51 的 所有中断源,并说明说明哪些中断源在响应中断时,由硬件自动清除,哪些中断源必须用软件清除,为什么?(6 分)答: 外部中断 INT0*定时器/计数器中断 T0外部中断 INT1*定时器/计数器中断 T1串行口中断 其中串行口中断 TI 与 RI 必须用软件清“0”,因为串口中断的 输出中断为 TI,输入中断为 RI,故用软件清“0” 。四、下图为某 AT89S51 应用系统的 3 位 LED 8 段共阳极静态显示器的 接口电路, (1)该静态显示器电路与动态扫描的 显示器电路相比有哪些优缺点?(2)写出显示字符“3
18、” 、 “8”、 “5”的 段码,注意:段码的 最低位为“a” 段,段码的 最高位为“dp” 段(3)已知 8255A 的 PA 口、PB 口和 PC 口的 地址分别为 FF7CH、FF7DH 、FF7EH,且 8255A 的 这3 个端口均已被编写完毕的 初始化程序初始化为方式 0 输出,请编写出使 3 位 LED 共阳极显示器从左至右显示“3.85”的 程序段。 (14 分)abcdefg dp8255APB PCPA来自 AT89S51+5V 82C556解:(1) 优点是:亮度高,字符不闪烁,占用 CPU 资源少。缺点是:占用的 I/O 口太多,当需要的 LED 数目较多时,需要外扩展
19、的 I/0 口。(2) 3.:B0H8:80H5:92H(3) MOV DPTR,#0FF7CHMOV A,#30HMOVX DPTR,AMOV DPTR,#0FF7DHMOV A ,#80HMOVX DPTR,AMVOX DPTR,#0FF7EHMOV A,#92HMOVX DPTR,ARET五、画出 AT89S51 系列单片机利用串行口进行 1 台主机与 4 台从机多机串行通讯连线图,其中 1 台从机通讯地址号为02H,请叙述主机向 02H 从机发送一个字节数据的 过程(10 分)答:主机发送数据过程如下:(1)将从机 0003H 的 REN 置 1,SM2=1,并使它们工作在串行口工作方
20、式 2 或 3。(2)由主机向 4 个从机发出一帧地址址信息 02H,第 9 位为 1。从机接到信息后均发生中断,执行中断服务程序,将 02H 与自身地址做比较。若相同,则清 SM2=0,若不同则 SM2 不变仍为 1。(3)主机发送一帧数据信息,第 9 位为 0,从机接到信息后,只有 SM2=0 的 从机发生中断,将数据信息收取,其余 SM2=1 的 从机不放出中断,信息丢失,从而实现主机向 02H 从机发送一个字节数据的 功能。六、请回答:(共 16 分)1下图中外部扩展的 程序存储器和数据存储器容量各是多少?(2 分)2两片存储器芯片的 地址范围分别是多少?(地址线未用到的 位填 1)
21、(6 分,)3请编写程序,要求:(1)将内部 RAM 30H3FH 中的 内容送入 1# 6264 的 前 16 个单元中;(4 分)(2)将 2# 6264 的 前 4 个单元的 内容送入 40H43 中;(4 分)解: 1. 外扩程序存储器的 容量是 8K,外扩数据存储器的 容量是 16KPSENCEWRP2.7P2.6P2.5P2.4P2.0AT89S51D0-D7 OED0-D7 OE2764 CEA8-A12A0-A7OE74LS373Q0Q7D0D7 GALEP0.7P0.088 8 8855 588+5VWR2# 6264 CSCEA8-A12A0-A7+5VWRCSA8-A12
22、A0-A7OE1# 6264 RD58 72. 2764 范围: C000HDFFFH1#范围: A000HBFFFH2#范围: 6000H7FFFH3请编写程序(1) MOV R1 ,#10HMOV DPTR,0A000HMOV R0,#30HLOOP: MOV A,R0MOVX DPTR,AINC DPTR INC R0DJNZ R1,LOOPRET(2) MOV R1,#04HMOV DPTR,#6000HMOV R0 ,#40HLOOP:MOVX A ,DPTRMOV R0 ,AINC DPTRINC R0DJNZ R1, LOOPRET试题 3 参考答案一、填空题(31 分,每空 1
23、 分)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,则末地址为(BFFF)H。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)种工作方式。二、判断对错,如对则在( )中写“” ,如错则在( )中写“” 。 (10 分)1AT89S51 的 定时器/计数器对外部脉冲进行计数时,要求输入的 计数脉冲的 高电平或低电平的 持续时间不小于 1 个机器周期。 ()2判断指令的 正误:MOV T0,#3CF0H;()3定时器 T0 中断可以被外部中断 0 中断()4指令中直接给出的 操作数称为直接寻址。 ()5内部 RAM 的 位寻址区,既能位寻址,又可字节寻址。 ()
26、6特殊功能寄存器 SCON 与定时器/计数器的 控制无关。 ()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/
27、fosc12=1/1210 -612=1us采用定时器方式 1(为 16 位)定时 1ms,设初值为 X,则:(216-X)110-6=110-3则=X=64536 将其转换成二进的 为:1111110000011000再将其转化为 16 进制数为:FC18初值为 TXH=FCH TXL=18H82中断服务子程序返回指令 RETI 和普通子程序返回指令 RET 有什么区别?(4 分)答:RETI 除了将压栈的 内容出栈外(即现场恢复) ,还清除在中断响应时被置 1 的 AT89S51 内部中断优先级寄存器的 优先级状态。3AT89S51 外扩的 程序存储器和数据存储器可以有相同的 地址空间,但
28、不会发生数据冲突,为什么?(6 分)答:AT89S51 外扩的 程序存储器和数据存储器可以有相同的 地址空间,但不会发生数据冲突。这是因为它们的 控制信号不同:(1) 外扩程序存储器是 PSEN*信号为其控制信号外扩数据存储器是 RD*与 WR*信号为其控制信号(2) 指令不同,程序存储器用 MOVC 读取,数据存储器用 MOVX 存取4图为 8 段共阴数码管,请写出如下数值的 段码。(5 分)0_1_2_3_4_5_P_7_8_C_5LED 的 静态显示方式与动态显示方式有何区别?各有什么优缺点?(4 分)答:静态:显示期间,锁存器输出的 段码不变;亮度大,各位 LED 的 段选分别控制;位
29、数多硬件电路复杂动态:所有位段码线并连一起,各位的 亮灭靠片选控制端控制,亮度较低,多位控制电路简单四、程序分析:(10 分)外部 RAM 3000H,3001H 单元的 内容分别为 55H,0DDH,试分析如下程序,并回答问题。程序 1: MOV DPTR,#3000HMOV R1,#40HMOVX A ,DPTRMOV R1,AINC R1INC DPTRMOVX A,DPTRMOV R1,A问题 1:若执行上述程序,则结束后,DPTR 值为 3001H,R1 的 内容为 41H ,8031 内部 RAM41H 单元的 内容 DDH,40H 单a b c d e f g hD0 D1 D2
30、 D3 D4 D5 D6 D74000H3001H3000HDD553FH 06H 5BH4FH 66H 6DH73H 07H 7FH39H9元内容为_55H_。在上程序中,若继续执行如下程序程序 2:START:MOV DPTR,#3000HMOV R1 ,#40HMOV A,R1MOVX DPTR,A问题 2、START 执行结束后,DPTR 的 值为_3000H_,4000H 单元的 内容为_55H_,R1 的 内容为_40H_。问题 3:执行如下程序,填出 A 寄存器的 内容。程序 3、 MOV A、#88HMOV R7,#AAHORL A、R 7 :A 的 内容为:_AAH_MOV
31、A,#37HMOV R7,#89HANL A,R 7 A 的 内容为:_01H _XRL A,R 7 A 的 内容为:_88H _RET五、简述一种多外部中断源系统的 设计方法。 (给出图和程序) (10 分)答:程序如下:ORG 0013H ;的 中断入口LJMP INT1 ;INT1: PUSH PSW ;保护现场PUSH ACCJB 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 ;恢复现场PO
32、P PSWRETI ;中断返回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 分)2三片存储器芯片的 地址范围分别是多少?(地址
33、线未用到的 位填 1) (4 分,)3请编写程序,要求:(3) 将内部 RAM 40H-4FH 中的 内容送入 1# 6264 的 前 16 个单元中;(4 分)(4) 将 2# 6264 的 前 4 个单元的 内容送入 50H-53H 中;(4 分)PSENCEWRP2.7P2.6P2.5P2.4P2.0AT89S51D0-D7 OED0-D7 OE2764 CEA8-A12A0-A7OE74LS373Q0Q7D0D7 GALEP0.7P0.088 8 8855 588+5VWR2# 6264 CSCEA8-A12A0-A7+5VWRCSA8-A12A0-A7OE1# 6264 RD58 1
34、0答:1解外部扩展的 程序存储器容量为:8KB外部扩展的 数据存储器容量为:8KB2=16kb2. 程序存储器 2764 地址的 高 3 位:A15 A14 A130 0 0地址范围为:0000H-1FFFH数据存储器 1#6264 地址高 3 位:A15 A14 A130 1 1地址范围为:6000H-7FFFH数据存储器 2#6264 地址范围为:A15 A14 A131 0 1地址范围为:A000H-BFFFH3编写程序(1) MOV RO, #40HMOV DPTR, #6000H ;设置数据指针为 6000HLOOP:MOV A, RO ; 将片内 RAM(40-4FH)中的 内容送
35、入 A 中MOVX DPTR,A ; 将 ADPTR 中INC ROINC DPTRCJNE RO,#50H,LOOP ; 将此子程序循环执行 16 次RET(2) MOV RO, #50HMOV DPTR, #0A000H ; 设置数据指针为 A000HLOOP: MOVX A, DPTR MOVX RO,A ; 将外部数据存储器内容送入到片内中INC ROINC DPTRCJNE RO,#54H,LOOP ; 将此子程序循环执行 4 次RET试题 4 参考答案一、填空题(37 分)1. AT89S51 单片机芯片共有 40 个引脚,MCS-51 系列单片机为 8 位单片机。2. AT89S
36、51 的 异步通信口为全双工(单工/半双工/全双工) ,3. AT89S51 内部数据存储器的 地址范围是 00H-7FH,位地址空间的 字节地址范围是 20H-2FH,对应的 位地址范围是00H-7FH,外部数据存储器的 最大可扩展容量是 64K字节。4. 单片机也可称为微控制器 或 嵌入式控制器。5当 MCS-51 执行 MOVC A,A+PC 指令时,伴随着 PSEN*控制信号有效。6. 当单片机复位时 PSW 00 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 个中
38、断优先级。13. AT89S51 唯一的 一条 16 位数据传送指令为 MOV DPTR,data16。14. LJMP 的 跳转范围是 64K,AJMP 的 跳转范围是 2K B,SJMP 的 跳转范围是 128 B(或 256B) 。15. 若 A 中的 内容为 68H,那么 P 标志位为 1。二、简答题(13 分)1. 采用 6MHz 的 晶振,定时 2ms,用定时器方式 1 时的 初值应为多少?(请给出计算过程) (6 分)11答:(1) Ts=2us (216X)2us2ms 从而 X64536 4 分(2) 64536FC18H2 分2. AT89S51外扩的 程序存储器和数据存储
39、器可以有相同的 地址空间,但不会发生数据冲突,为什么?(4分)答:因为访问外扩的 程序存储器和数据存储器执行的 指令不同,所发出的 控制信号也就不同。 (2 分)读外部数据存储器时,RD*信号有效。写外部数据存储器时,WR*信号有效。而读外部程序存储器时,PSEN*信号有效。由于发出的 控制信号不同,且只能有一种信号有效,因此,即使 MCS-51外扩的 程序存储器和数据存储器有相同的 地址空间,也不会发生数据冲突。 (2 分)3说明 AT89S51 的 外部引脚 EA*的 作用?(3 分)答:EA*是内外程序存储器选择控制信号。 (1 分)当 EA*0 时,只选择外部程序存储器。 (1 分)当
40、 EA*1 时,当 PC指针0FFFH 时,只访问片内程序存储器;当 PC指针0FFFH 时,则访问外部程序存储器(1 分)三、编写程序,将外部数据存储器中的 5000H50FFH单元全部清零(10 分)。答: ORG *H (1分)MOV DPTR #5000HMOV R0,#00HCLR 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 RXDMCS-51单片机RXD TXD00HRXD TXD01HRXD TXD02HRXD TXD03H2) 将所有从机的 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分 ) 各从机接收该数据桢,从机中 SM2为
42、 0的 产生中断,而其它 SM2为 1的 从机不产生中断将信息丢弃,从而实现主机与从机传递数据 (2 分)五、简述行列式扫描键盘的 工作原理。 (10 分)12答:1)首先判断有无键按下: (3 分)将列线全部置 0,读行线状态,若 P1.0P1.3全为 1,则表明无键按下,若出现低电平即 0,则有键按下,记录下行号 i ;2) 其次,如有键按下,判断具体键号 (7 分)方法如下:逐列为低,其它为高,再读行线状态,如出现哪一行为低,记录此时的 列号 j , 则证明第 i行第 j列的 按键被按下,至此完成键盘的 行列式扫描。六、图为 8 段共阴数码管,请写出如下数值的 段码。 (5 分)答案:0
43、 3FH (0.5分) 1 06H (0.5 分) 2 5BH (0.5 分)3 4FH (0.5分) 4 66H (0.5 分) 5 6DH (0.5 分)P 73H (0.5分) 7 07H (0.5 分) 8 7FH (0.5 分)C 39H (0.5分) 七、回答下列问题并写出简要分析过程(15 分) 。1图 1(a)所示为某微机中存储器的 地址空间分布图。图 1(b)为存储器的 地址译码电路,为使地址译码电路按图 1(a)所示的 要求进行正确寻址(设 CPU 的 地址线为 16 条) ,要求在答题纸上画出:(1) A 组跨接端子的 内部正确连线图?(4.5 分)并简要分析(3 分)(
44、2) B 组跨接端子的 内部正确连线图?(4.5 分)并简要分析(3 分)(注:74LS139 是 2-4 译码器,A 为低端,B 为高端,使能端 G 接地表示译码器处于正常译码状态) 。答:连线部分:A组跨接端子与B组跨接端子的 各自连接如图1(b)所示。连对1根线给1.5分。a b c d e f g hD0 D1 D2 D3 D4 D5 D6 D7 b a c d e f g h ROM1ROM2空RAM1RAM2存储器地址0000H4000H8000HC000HE000HFFFFH图 1(a) 地址空间 图 1(b) 地址译码电路12345678910111213141516Y0Y1Y
45、2Y3GBAA 组跨接端子B 组跨接端子74LS139 芯片选择ROM2ROM1RAM2RAM1A15A12A13A1413注意:连线部分是简答的 前提。简答部分:如果图连线错误,则需对简答酌情扣分,然后再视简答的 逻辑性酌情给分。在连对的 基础上,只要分析出连线的 逻辑关系或各芯片的 地址范围或连线逻辑均给分。试题 5 参考答案一、填空(30 分,每空 1分)1. 如果(A)=45H,(R1)=20H,(20H)=12H ,执行 XCHD A, R1;结果(A)= 42H ,(20H)= 15H 2. AT89S51 的 异步通信口为 全双工 (单工/半双工/ 全双工) ,若传送速率为每秒
46、120 帧,每帧 10 位,则波特率为 1200 bit/s 3. AT89S51 内部数据存储器的 位地址空间的 字节地址范围是 20H-2FH ,对应的 位地址范围是 00H-FFH。4. 单片机也可称为 微控制器 或 嵌入式控制器 5. 当 MCS-51 执行 MOVX A,R1 指令时,伴随着 RD 控制信号有效。6. 当单片机的 PSW01H 时,这时当前的 工作寄存器区是 0 区,R4 所对应的 存储单元地址为 04 H7. 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 位,程序计数器 PC 有 16 位13. 74LS138 是具有 3 个输入的 译码器芯片,用其输出作片选信号,最多可在 8 块芯片中选中其中任一块