您的当前位置:首页正文

51单片机期末试题及答案

2020-10-28 来源:年旅网


试题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。

1 。

10. 若A中的内容为67H,那么,P标志位为 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;

word格式-可编辑-感谢下载支持

则:(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分)

word格式-可编辑-感谢下载支持

答:

从机 从机 从机 从机

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: 中断服务子程序

word格式-可编辑-感谢下载支持

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分)

word格式-可编辑-感谢下载支持 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# Vcc CS 6264 2# CE Vcc CS 6264 3# CE D0~DED7 CE DED0~D7 WR DED0~D7 WR 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) 程序如下:

INC R0 INC DPTR

CJNE R0,#40H,LOOP NOP RET

word格式-可编辑-感谢下载支持

ORG

RESET: AJMP ORG

0000H

MAIN ;转主程序 0100H

DPL#00H ;初始化DPTR DPH,#0A0H

R0,#40H ;初始化R0 A,@DPTR @R0,A DPTR R0

MAIN: MOV MOV MOV LOOP2: MOVX MOV INC INC

CJNE R0,#60H,LOOP2 NOP RET

word格式-可编辑-感谢下载支持

试题2 参考答案

一、填空题(24分,每空1分)

1.AT89S51单片机是( 8 )位的单片机。

2.AT89S51单片机有( 5 )个中断源,( 2 )级优先级中断。

3.串行口方式3发送的第9位数据要事先写入( SCON )寄存器的( TB8 )位。 4.串行口的方式0的波特率为 ( fOSC/12 )。

5.AT89S51内部数据存储器的地址范围是(00-7FH ),位地址空间的字节地址范围是(20-2FH ),对应的位地址范围是(00-7FH)外部数据存储器的最大可扩展容量是(64KB )。

6.在内部RAM中可位寻址区中,位地址为40H的位,该位所在字节的字节地址为( 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 ),P0~P3口均为( 高 )电平。 10.若A中的内容为88H,那么,P标志位为( 0 )。

11.当AT89S51执行MOVC A,@A+ DPTR指令时,伴随着( PSEN* )控制信号有效。 12.AT89S51访问片外存储器时,利用( ALE )信号锁存来自( P0口 )发出的低8位地址信号。

13.已知fosc=12MHz, T0作为定时器使用时,其定时时间间隔为( 1us )。 14.若AT89S51外扩8KB 程序存储器的首地址若为1000H,则末地址为(2FFF)H。 二、判断对错,如对则在( )中写“√”,如错则在( )中写“×”。(10分) 1.AT89S51单片机可执行指令:MOV 35H,@R3。( × ) 2.8031与8751的区别在于内部是否有程序存储器。( √ ) 3.当向堆栈压入一个字节的数据后,SP中的内容减1。(×) 4.程序计数器PC中装的内容是当前正在执行指令的地址。(×)

5.某特殊功能寄存器的字节地址为80H,它即能字节寻址,也能位寻址。(√) 6.AT89S51单片机中的PC是不可寻址的。(√)

7.当AT89S51执行MOVX @DPTR,A指令时,伴随着WR*信号有效。(×) 8.AT89S51的定时器/计数器对外部脉冲进行计数时,要求输入的计数脉冲的高电平或低电

平的持续时间不小于1个机器周期。(×)

9.区分外部程序存储器和数据存储器的最可靠的方法是看其是被WR*还是被PSEN*信号连接。(√)

10.各中断源发出的中断请求信号,都会标记在AT89S51的TCON寄存器中。(×) 三、简答题

word格式-可编辑-感谢下载支持

1.如果(DPTR)=5678H,(SP)=42H,(3FH)=12H ,(40H)=34H,(41H)=50H,(42H)=80H,

则执行下列指令后: POP POP RET

则:(PCH) =_34H_;(PCL)=_12H__;(DPH)=__80H__;(DPL)=__50H__;(4分) 2.AT89S51采用6MHz的晶振,定时2ms,如用定时器方式1时的初值(16进制数)应为多少?(写出计算过程)(6分) 答:机器周期6×106=2×10-6s=2uS

又方式1为16进制定时器.故 (216—X)×2×10-6=2×10-3=>216-X=1000

=>X=65536-1000=64536 即初值=FC18H

3.AT89S51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突,

为什么?(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时,自动转到外部程序存储器;当EA*为低电平时,AT89S51只读取外部程序存储器。

5.写出AT89S51的所有中断源,并说明说明哪些中断源在响应中断时,由硬件自动清除,哪些中断源必须用软件清除,为什么?(6分) 答: 外部中断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分)

DPH DPL

word格式-可编辑-感谢下载支持

e

d f

a g

b

c

● dp

来自AT89S51

8255A 82C55 PA PB PC · · · º +5V 解:(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 MOV A,#92H MOVX @DPTR,A RET

五、画出AT89S51系列单片机利用串行口进行1台主机与4台从机多机串行通讯连线图,其中1台从机通讯地址号为02H,请叙述主机向02H从机发送一个字节数据的过程(10分)

答:主机发送数据过程如下:

(1)将从机00~03H的REN置1,SM2=1,并使它们工作在串行口工作方式2或3。 (2)由主机向4个从机发出一帧地址址信息02H,第9位为1。从机接到信息后均发

word格式-可编辑-感谢下载支持

生中断,执行中断服务程序,将02H与自身地址做比较。若相同,则清SM2=0,若不同则SM2不变仍为1。

(3)主机发送一帧数据信息,第9位为0,从机接到信息后,只有SM2=0的从机发生中断,将数据信息收取,其余SM2=1的从机不放出中断,信息丢失,从而实现主机向02H从机发送一个字节数据的功能。 六、请回答:(共16分)

1.下图中外部扩展的程序存储器和数据存储器容量各是多少?(2分) 2.两片存储器芯片的地址范围分别是多少?(地址线未用到的位填1) 3.请编写程序,要求:

(1)将内部RAM 30H~3FH中的内容送入1# 6264的前16个单元中;(4分) (2)将2# 6264的前4个单元的内容送入40H~43中;(4分)

解: 1. 外扩程序存储器的容量是8K,外扩数据存储器的容量是16K

2. 2764范围:

C000H~DFFFH

1#范围: A000H~BFFFH 2#范围: 6000H~7FFFH

3.请编写程序 (1) MOV

MOV MOV

R1 ,#10H DPTR,@0A000H R0,#30H A,@R0

AT89S51 ALE 8 P0.7 │ ● P0.0 PSEN RD WR ● ● 8 D0-D7 8 ● OE 8 ● OE 74LSG P2.7 P2.6 P2.5 P2.4 │ P2.0 (6分,)

D0 │ D7 Q0 │ Q7 5 ● 8 ● 5 ● 8 A8-A12 CE +5V CS A0-A7 ● 5 8 A8-A12 CE +5V CS A0-A7 5 A0-A7 A8-A12 CE 2764 1# 6264 2# 6264 OE WR D0-D7 OE WR 8 LOOP: MOV

MOVX @DPTR,A

word格式-可编辑-感谢下载支持

INC

DPTR R0 R1,LOOP R1,#04H DPTR,#6000H R0 ,#40H @R0 ,A DPTR R0 R1,LOOP

INC DJNZ RET

(2) MOV

MOV MOV MOV INC INC DJNZ RET

LOOP:MOVX A ,@DPTR

word格式-可编辑-感谢下载支持

试题3 参考答案

一、填空题(31分,每空1分)

1.AT89S51单片机有( 2 )级优先级中断。

2.串行口方式2接收到的第9位数据送(SCON)寄存器的(RB8)位中保存。

3.当单片机复位时PSW=(00)H,这时当前的工作寄存器区是(0)区,R6所对应的存储单元地址为(06)H。

4.利用82C55可以扩展(3)个并行口,其中(8)条口线具有位操作功能;

5.AT89S51访问片外存储器时,利用(ALE)信号锁存来自( P0口 )发出的低8位地址信号。

6.若AT89S51外扩32KB 数据存储器的首地址若为4000H,则末地址为(BFFF)H。 7.当AT89S51执行MOVC A,@A+PC指令时,伴随着(PSEN*)控制信号有效。 8.若A中的内容为67H,那么,P标志位为(1)。

9.AT89S51单片机的通讯接口有(串行)和(并行)两种形式。在串行通讯中,发送时要把(并行)数据转换成(串行)数据。接收时又需把(串行)数据转换成(并行)数据。 10.AT89S51内部数据存储器的地址范围是(00-7FH ),位地址空间的字节地址范围是(00-2FH),对应的位地址范围是(00-7FH ),外部数据存储器的最大可扩展容量是(64KB)。 11.AT89S51单片机指令系统的寻址方式有(寄存器寻址方式)、(直接寻址方式)、(立即寻址方式)、(寄存器间接寻址方式)、(位寻址方式)、(基址寄存器加变址寄存器)、(相对寻址方式) 。

12.AT89S51内部提供(2)个可编程的(16)位定时/计数器,定时器有(4)种工作方式。 二、判断对错,如对则在( )中写“√”,如错则在( )中写“×”。(10分) 1.AT89S51的定时器/计数器对外部脉冲进行计数时,要求输入的计数脉冲的高电平或低电

平的持续时间不小于1个机器周期。(×) 2.判断指令的正误:MOV T0,#3CF0H;(×) 3.定时器T0中断可以被外部中断0中断(×) 4.指令中直接给出的操作数称为直接寻址。(×)

5.内部RAM的位寻址区,既能位寻址,又可字节寻址。(√) 6.特殊功能寄存器SCON与定时器/计数器的控制无关。(√)

7.当AT89S51执行MOVX A,@R1指令时,伴随着WR*信号有效。(×)

word格式-可编辑-感谢下载支持

8.串行口工作方式1的波特率是固定的,为fosc/32。(×)

9.区分外部程序存储器和数据存储器的最可靠的方法是看其是被 RD*还是被PSEN*信号

连接。(×)

10.逐次比较型A/D转换器与双积分A/D转换器比较,转换速度比较慢。(×)

三、简答题

1.AT89S51采用12MHz的晶振,定时1ms,如用定时器方式1时的初值(16进制数)应为

多少?(写出计算过程)(6分) 解:采用12MHZ的晶振,Tcy=1/fosc×12=1/12×10-6×12=1us

采用定时器方式1(为16位)

定时1ms,设初值为X,则:(216-X)×1×10-6=1×10-3

再将其转化为16进制数为:FC18 初值为TXH=FCH TXL=18H

2.中断服务子程序返回指令RETI和普通子程序返回指令RET有什么区别?(4分) 答:RETI除了将压栈的内容出栈外(即现场恢复),还清除在中断响应时被置1的AT89S51内部中断优先级寄存器的优先级状态。

3.AT89S51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突,为什么?(6分)

答:AT89S51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突。这是因为它们的控制信号不同:

(1) 外扩程序存储器是PSEN*信号为其控制信号

外扩数据存储器是RD*与WR*信号为其控制信号

(2) 指令不同,程序存储器用MOVC读取,数据存储器用MOVX存取

4.图为8段共阴数码管,请写出如下数值的段码。(5分) a b c d e f g h D0 D1 D2 D3 D4 D5 D6 D7 3FH 06H 5BH

0____________________1____________________2____________________

4FH 66H 6DH

73H 39H

07H

7FH

word格式-可编辑-感谢下载支持

3____________________4____________________5____________________ P____________________7____________________8____________________ C____________________

5.LED的静态显示方式与动态显示方式有何区别?各有什么优缺点?(4分) 答:

静态:显示期间,锁存器输出的段码不变;亮度大,各位LED的段选分别控制;位数多硬件电

路复杂

动态:所有位段码线并连一起,各位的亮灭靠片选控制端控制,亮度较低,多位控制电路简

四、程序分析:(10分)

外部RAM 3000H,3001H单元的内容分别为55H,0DDH,试分析如下程序,并回答问题。 程序1: MOV DPTR,#3000H MOV R1,#40H MOVX A ,@DPTR

MOV @R1,A INC R1 INC DPTR MOVX A,@DPTR

MOV @ R1,A

4000H

3001H 3000H DD 55 问题1:若执行上述程序,则结束后,DPTR值为3001H,R1的内容为 41H ,8031内部RAM41H单元的内容 DDH,40H单元内容为__55H__。 在上程序中,若继续执行如下程序 程序2:START:MOV DPTR,#3000H MOV R1 ,#40H MOV A,@R1 MOVX @DPTR,A

问题2、START执行结束后,DPTR的值为_3000H_,4000H单元的内容为_55H_,R1的内容为__40H___。

问题3:执行如下程序,填出A寄存器的内容。 程序3、

MOV A、#88H MOV R7,#AAH

ORL A、R7 :A的内容为:__AAH__ MOV A,#37H MOV R7,#89H

word格式-可编辑-感谢下载支持

ANL A,R7 A的内容为:__01H _ XRL A,R7 A的内容为:__88H _ RET

五、简述一种多外部中断源系统的设计方法。(给出图和程序) (10分) 答:程序如下:

ORG 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中断处理完毕,跳标号INTIR处执行 IR3: IR3的中断处理程序

AJMP INTIR ;IR3中断处理完毕,跳标号INTIR处执行 IR4: IR4的中断处理程序

AJMP INTIR ;IR4中断处理完毕,跳标号INTIR处执行

六、请回答:(共14分)

1.下图中外部扩展的程序存储器和数据存储器容量各是多少?(2分)

2.三片存储器芯片的地址范围分别是多少?(地址线未用到的位填1) (4分,) 3.请编写程序,要求:

(3) 将内部RAM 40H-4FH中的内容送入1# 6264的前16个单元中;(4分) (4) 将2# 6264 的前4个单元的内容送入50H-53H中;(4分)

P2.7 P2.6 P2.5 P2.4 │ P2.0 D0 │ Q0 │ 5 ● 8 ● 5 ● 8 ● 5 8 5 word格式-可编辑-感谢下载支持

答:

1.解外部扩展的程序存储器容量为:8KB 外部扩展的数据存储器容量为:8KB×2=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.编写程序

(1) MOV RO, #40H

MOV DPTR, #6000H ;设置数据指针为6000H

LOOP:MOV A, @RO ; 将片内RAM(40-4FH)中的内容送入A中 MOVX @DPTR,A ; 将A→@DPTR中 INC RO INC DPTR

CJNE RO,#50H,LOOP ; 将此子程序循环执行16次 RET

word格式-可编辑-感谢下载支持

(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

一、填空题(37分)

试题4 参考答案

word格式-可编辑-感谢下载支持

1. AT89S51单片机芯片共有 40 个引脚,MCS-51系列单片机为8位单片机。 2. AT89S51的异步通信口为全双工(单工/半双工/全双工),

3. AT89S51内部数据存储器的地址范围是00H-7FH,位地址空间的字节地址范围是20H-2FH,对应的位地址范围是00H-7FH,外部数据存储器的最大可扩展容量是64K字节。 4. 单片机也可称为微控制器 或 嵌入式控制器。

5.当MCS-51执行MOVC A,@A+PC指令时,伴随着 PSEN*控制信号有效。 6. 当单片机复位时PSW= 00 H,这时当前的工作寄存器区是 R4所对应的存储单元地址为 04 H。

7. MCS-51系列单片机指令系统的寻址方式有 寄存器寻址 、直接寻址、 寄存器间接寻址、立即寻址、 基址加变址 、 位寻址 。(相对寻址也可)

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位数据传送指令为 MOV DPTR,data16。

14. LJMP的跳转范围是64K,AJMP的跳转范围是 2K B,SJMP的跳转范围是 ±128 B(或256B) 。

15. 若A中的内容为68H,那么P标志位为 二、简答题(13分)

1. 采用6MHz的晶振,定时2ms,用定时器方式1时的初值应为多少?(请给出计算过程)(6分) 答:

(1) Ts=2us

(216-X)×2us=2ms

1。

0区,

从而X=64536 ……………4分

(2) 64536=FC18H……………2分

2. AT89S51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突,为什么?(4分) 答:

word格式-可编辑-感谢下载支持

因为访问外扩的程序存储器和数据存储器执行的指令不同,所发出的控制信号也就不同。(2分)

读外部数据存储器时,RD*信号有效。写外部数据存储器时,WR*信号有效。而读外

部程序存储器时,PSEN*信号有效。由于发出的控制信号不同,且只能有一种信号有效,因此,即使MCS-51外扩的程序存储器和数据存储器有相同的地址空间,也不会发生数据冲突。(2分)

3.说明AT89S51的外部引脚EA*的作用?(3分) 答:

EA*是内外程序存储器选择控制信号。(1分)

当EA*=0时,只选择外部程序存储器。(1分)

当EA*=1时,当PC指针≤0FFFH时,只访问片内程序存储器;当PC指针>0FFFH

时,则访问外部程序存储器(1分)

三、编写程序,将外部数据存储器中的5000H—50FFH单元全部清零(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,请叙述主机呼叫从机并向其传送一个字节数据的过程。(请给出原理图) (10分) 答:

1) 原理图 (2分)

word格式-可编辑-感谢下载支持

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分) 各从机接收该数据桢,从机中SM2为0的产生中断,而其它SM2为1的从机不产生中断将信息丢弃,从而实现主机与从机传递数据 (2分)

五、简述行列式扫描键盘的工作原理。(10分)

答:

1)首先判断有无键按下: (3分)

将列线全部置0,读行线状态,若P1.0~P1.3全为1,则表明无键按下,若出现

低电平即0,则有键按下,记录下行号 i ;

2) 其次,如有键按下,判断具体键号 (7分)

方法如下:逐列为低,其它为高,再读行线状态,如出现哪一行为低,记录此

时的列号j , 则证明第i行第j列的按键被按下,至此完成键盘的行列式扫描。

六、图为8段共阴数码管,请写出如下数值的段码。(5分)

word格式-可编辑-感谢下载支持

a b c d e f g h D0 D1 D2 D3 D4 D5 D6 D7 f a b g c e d h 答案:

0 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分) (2) B组跨接端子的内部正确连线图?(4.5分)并简要分析(3分)

(注:74LS139是2-4译码器,A为低端,B为高端,使能端G接地表示译码器处于正常译码状态)。

地址 存储器

0000H 4000H 8000H ROM1 ROM2 空 RAM1 RAM2

A组 跨接端子 A15 A14 A13 A12 1 2 3 4 5 6 7 8 74LS139 A B Y0 Y1 Y2 Y3 B组 跨接端子 9 10 11 12 13 14 15 16 芯片选择 ROM2 ROM1

G C000H E000H FFFFH RAM1 RAM2 图1(a) 地址空间 图1(b) 地址译码电路

word格式-可编辑-感谢下载支持

答:连线部分:A组跨接端子与B组跨接端子的各自连接如图1(b)所示。连对1根线给1.5分。

注意:连线部分是简答的前提。

地址译码电路

A15 A14 A13 A12 A组 跨接端子 1 2 3 4 5 6 7 8 74LS139 A B Y0 Y1 Y2 Y3 B组 跨接端子 9 10 11 12 13 14 15 16 芯片选择 ROM2 ROM1 G RAM1 RAM2 简答部分:如果图连线错误,则需对简答酌情扣分,然后再视简答的逻辑性酌情给分。 在连对的基础上,只要分析出连线的逻辑关系或各芯片的地址范围或连线逻辑均给分。

word格式-可编辑-感谢下载支持

试题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。

4. 单片机也可称为 微控制器 或 嵌入式控制器

5. 当MCS-51执行MOVX A,@R1指令时,伴随着 RD 控制信号有效。 6. 当单片机的PSW=01H时,这时当前的工作寄存器区是 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 位,程序计数器PC有 16 位

13. 74LS138是具有3个输入的译码器芯片,用其输出作片选信号,最多可在 8 块芯片

中选中其中任一块。

14. MCS-51指令系统中,ADD与ADDC指令的区别是 进位位Cy是否参与加法运算 15. 特殊功能寄存器中,单元地址低位为 0或8 的特殊功能寄存器,可以位寻址。 16. 开机复位后,CPU使用的是寄存器第0组,地址范围是 00H-07H 17. 若某存储器芯片地址线为12根,那么它的存储容量为 4kB

18. 关于定时器,若振荡频率为12MHz,在方式0下最大定时时间为 8.192ms

word格式-可编辑-感谢下载支持

19. AT89S51复位后,PC与SP的值为分别为 0000H 和 07H 20. LJMP跳转空间最大可达到 64K

21. 执行如下三条指令后,30H单元的内容是 #0EH

M O V R 1,#30H

M O V 40H,#0 E H M O V ﹫R 1,40H 二、判断题(10分,每题1分)

1 当EA脚接高电平时,对ROM的读操作只访问片外程序存储器。(X ) 2 必须有中断源发出中断请求,并且CPU开中断,CPU才可能响应中断。(X ) 3 8155是一种8位单片机。(X )

4 51单片机只能做控制用,不能完成算术运算。(X )

5 单片机内部RAM和外部RAM是统一编址的,它们的访问指令相同。(X ) 6 指令AJMP的跳转范围是2KB。(√ )

7 扩展I/O口占用片外数据存储器的地址资源。(√ )

8 8051单片机,程序存储器数和数据存储器扩展的最大范围都是一样的。(√ ) 9 单片机系统扩展时使用的锁存器,是用于锁存低8位地址(√ ) 10 在A/D变换时,转换频率越高越好。(X ) 三、简答题(18分)

1、采用6MHz的晶振,定时5ms,用定时器方式1时的初值应为多少?(请给出计算过程)

(5分)

答: (1) (216-X)×2us=5ms 65536 – 2500 = 63036 从而X=63036………………………..4分

(2) 64536=F63CH………………………1分

MCS-51单片机片内256B的数据存储器可分为几个区?分别作什么用?(8分)

2、 答:

(1)通用工作寄存器区,00H – 1FH,共4组,R0-R7,在程序中直接使用 (2)可位寻址区,20H-2FH,可进行位操作,也可字节寻址 (3)用户RAM区,30H-7FH,只可字节寻址,用于数据缓冲及堆栈区 word格式-可编辑-感谢下载支持

(4)特殊功能寄存器区,80H-FFH,21个特殊功能寄存器离散地分布在该区内,用于实现各种控制功能 3、

指出以下程序段每一条指令执行后累加器A内的值,已知(R0)=30H。(5分) MOV A,#0AAH ;(A)= 0AAH CPL A ;(A)= 55H RL A ;(A)= 0AAH CLR C ;(A)= 0AAH ADDC A,R0 ;(A)= 0DAH

四、下图是四片2K×8位存储器芯片的连线图。(1)确定四片存储器芯片地址范围,要求写出必要的推导过程。(2)编程将片内RAM 30H~4FH单元中的32个字节数据传送到片外RAM 左数第一块芯片的最低端32个字节单元(按地址由低至高存放)。(本题15分)

74LS138真值表G1 G2A G2B C B A Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0

答:(1) 设从左至右RAM芯片号为#1,#2,#3,#4 芯片 #1 #2 A15A14 1 0 1 0 1 0 A13A12A11 A10A9A8A7A6A5A4A3A2A1A0 地址范围 0 0 0 0 0 0 0 0 0 0 0 0 0 0 低8000H (1分) 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 高87FFH (1分) 0 0 0 0 0 0 0 0 0 0 0 低8800H (1分) word格式-可编辑-感谢下载支持 1 0 #3 1 0 #4 (2)

1 0 1 0 1 0 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 高8FFFH (1分) 0 0 0 0 0 0 0 0 0 0 0 低9000H (1分) 1 1 1 1 1 1 1 1 1 1 1 高97FFH (1分) 0 0 0 0 0 0 0 0 0 0 0 低9800H (1分) 1 1 1 1 1 1 1 1 1 1 1 高9FFFH (1分) ORG 1000H

MOV DPTR, #8000H ; MOV R0, #20H MOV R1, #30H

LOOP: MOV A, @R1

; ; ; ; ; ; ;

;或AJMP HERE

MOVX @DPTR,A INC INC

DPTR R1

DJNZ R0, LOOP

HERE: RET

五、简述行列式键盘线反转法识别按键的工作原理。(本题6分)

答:

第1步:让行线编程为输入线,列线编程为输出线,使输出线输出为全低电平,则行线中电平由高变低的所在行为按键所在行。(3分) 第2步:再把行线编程为输出线,列线编程为输入线,使输出线输出为全低电平,则列线中电平由高变低的所在列为按键所在列。(3分) 综合上述两步,可确定按键所在行和列。 六、图为8段共阴数码管,请写出如下数值的段码。(本题5分)

word格式-可编辑-感谢下载支持

答:

0 3FH (0.5分) 1 30H(06H) (0.5分) 2 6DH (0.5分) 3 79H (0.5分) 4 72 H (0.5分) 5 5BH (0.5分) P 67H (0.5分) 7 31 H (0.5分) 8 7FH (0.5分) C 0FH (0.5分)

七、回答下列问题并写出简要分析过程。(本题16分)

左下图是DAC0832的应用电路,DA转换时数字量FFH与00H分别对应于模拟量+5V与0V。右下图给出了DAC0832的逻辑结构。(1)将图中空缺的电路补充完整;(2)编写程序,产生图中所示锯齿波。设有一个延时3.905ms的子程序DELAY可以直接调用。

c d h a b c d e f g h b a f g e D0 D1 D2 D3 D4 D5 D6 D7

DAC0832的逻辑结构

答:

(1)共6根线,每根线1分。连线如图,如果WR2*与WR*或XFER*相连也给分。ILE直接

word格式-可编辑-感谢下载支持

接+5V也正确。 (2) ORG 1000H

MOV MOV

R0, #0FEH A, #00H

;(3分) 或:MOV DPTR, #FFFEH ;(1分)

;(1分) 或:MOVX ;(1分) ;(3分) ;(1分)

@DPTR, A

LOOP: MOVX @R0, A

INC

A

LCALL DELAY SIMP LOOP

程序应整体思路正确,若有其他错误,视情况减分

word格式-可编辑-感谢下载支持

word格式-可编辑-感谢下载支持

试题7

一、填空(25分,每空1分)

1. PSW中的RS0、RS1=01B,此时R2的字节地址为( )。 2. 假定DPTR的内容1000H,A中的内容为40H,执行指令: 2000H: MOVC A,@A+DPTR

后,送入A的是程序存储器( )单元的内容。 3. 假定A中的内容为79H,R5中的内容为78H,执行指令:

ADD DA

A,R5 A

后,累加器A的内容为( )H,CY的内容为( )。

4.当AT89S51单片机响应中断后,必须用软件清除的中断请求标志是( )。 5.TMOD中的GATEx=1时,表示由两个信号TRx和( )控制定时器的启停。 6.在AT89S51单片机的RESET端出现( )的高电平后,便可以可靠复位,复位后的PC中的内容为( )H。

7.当AT89S51单片机与慢速外设进行数据传输时,最佳的传输方式是( )。 8.DA转换器的两个最重要的技术指标为( )和( )。

9.在存储器扩展中,无论是线选法还是译码法,最终都是为扩展芯片的( )端提供( )信号。

10. 波特率定义为 ( )。串行通信对波特率的基本要求是互相通信的

甲乙双方必须具有 ( ) 的波特率。

11. 若串行通信按方式1传送,每分钟传送3000个字符(8位/每字符),其波特率是( )。

12. AT89S51片内( )地址范围内的数据存储器,既可以字节寻址又可以位寻址。

13.8KB RAM存储器的首地址若为1000H,则末地址为( )H。

14.AT89S51单片机控制TPµP-40A/16A微型打印机打印英文或数字时,要把打印字符的( )码送给微型打印机。

15.已知8段共阴极LED显示器显示字符“H”的段码为76H,则8段共阳极LED显示器显示字符“H”的段码为( )。

word格式-可编辑-感谢下载支持

16.当键盘的按键数目少于8个时,应采用( )式键盘。当键盘的按键数目为64个时,应采用( )式键盘。

17.当BCD码拨盘的A端接地时,当BCD码拨盘拨到 “6” 时,此时拨盘的8、4、2、1接点的输出为( )。

18.使用双缓冲方式的D/A转换器,可实现多路模拟信号的( )输出。

19.AT89S51单片机扩展并行I/O口时,对扩展的I/O口芯片的基本要求是:输出应具有( )功能;输入应具有( )功能; 二、单选择题(15分,每题1分)

1. 当AT89S51单片机复位时,下面说法正确的是( )。

A. SP=00H B. P1=00H C.SBUF=FFH D. P0=FFH 2. 使用8751单片机,当EA=1时,可以扩展的外部程序存储器的大小为( )。 A. 64KB B.60KB C.58KB D.56KB

3.在CPU内部,反映程序运行状态或反映运算结果的特征寄存器是( )。

A.PC B.PSW C.A D.SP 4.外中断初始化的内容不包括( ):

A.设置中断响应方式 B.设置外中断允许 C.设置中断总允许 D.设置中断触发方式

5.以下指令中,属于单纯读引脚的指令是( )。

A.MOV P1,A B.ORL P1,#0FH C.MOV C,P1.3 D.DJNZ P1,LOOP

6.定时器T0工作在方式3时,定时器T1有( )种工作方式。 A.1种

B.2种 C.3种

D.4种

7.用AT89S51的串行口扩展并行I/O口时,串行接口工作方式选择( )。

A. 方式0 B.方式1 C. 方式2 D.方式3

8.AT89S51的并行I/O口信息有两种读取方法:一种是读引脚,还有一种是( )。

A. 读锁存器 B. 读数据库 C. 读A累加器 D.读CPU

9.以下不是构成控制器部件的是( ):

A. 程序计数器 B.指令寄存器 C.指令译码器 D.存储器

10.P1口作输入用途之前必须( )

A. 外接上拉电阻 B.相应端口先置1 C. 相应端口先置0 D.外接高电平

word格式-可编辑-感谢下载支持

11.AT89S51单片机中,唯一一个用户不能直接使用的寄存器是( ).

A. P S W B. D P T R C . P C D. B

12.在家用电器中使用单片机应属于微计算机的

A.辅助设计应用 B.测量、控制应用 C.数值计算应用 D.数据处理应用 13.中断查询确认后,在下列各种单片机运行情况下,执行完当前机器周期内容后,能立即进行中断响应的是:

A.当前正在进行高优先级中断处理 B.当前正在执行RETI 指令 C.当前执行的指令是 DIV 指令,且正处于取指令机器周期 D.当前指令是 MOV A, R7指令

14. AT89S51单片机读取片外的数据存储器数据时,采用的指令为( )。

A.MOV A, @R1 C.MOV A, R4

B.MOVC A, @A + DPTR D.MOVX A, @ DPTR

15.执行子程序返回或中断子程序返回指令时,返回的断点是( ) A.调用指令的首地址 B.调用指令的末地址 C.调用指令下一条指令的首地址 D.返回指令的末地址

三、判断对错,如对则在( )中写“√”,如错则在( )中写“×”。(14分) 1. 如果AT89S51单片机的某一高优先级中断请求正在被响应,此时不会再发生中断嵌套。

( )

2. 当EA=1时,AT89S51单片机片外可扩展的程序存储器空间和数据存储器空间是一样的。

( )

3. 指令字节数越多,执行时间越长。( )

4. 访问单片机内部RAM或外部扩展的RAM的低128字节,指令是不同的。( ) 5. 并行接口芯片82C55的方式0是无条件的输入输出方式( )

6. 逐次比较型ADC的转换速度要比双积分型ADC的转换速度快。 ( ) 7. 串行口方式0的波特率仅与单片机的晶体振荡器有关,与定时器无关。( ) 8. 扩展的I/O接口芯片中的寄存器,要占用片外程序存储器的地址单元。( ) 9. AT89S51单片机进行串行通信时,要占用一个定时器作为波特率发生器。

( )

10. AT89S51单片机访问片外I/O设备中的寄存器,要使用MOVX类指令。( ) 11. “转换速度”仅适用于A/D转换器,D/A转换器不用考虑“转换速度”这一问题。( ) 12. 对于周期性的干扰电压,可使用双积分的A/D转换器,并选择合适的积分元件,可以将

word格式-可编辑-感谢下载支持

该周期性的干扰电压带来的转换误差消除。( )

13. 串行口的发送缓冲器和接收缓冲器只有1个单元地址 。( )

14. AT89S51的定时器/计数器对外部脉冲进行计数时,要求输入的计数脉冲的高电平和低

电平的持续时间均不小于1个机器周期。( ) 四、简答题(共16分,每题4分)

1.采用12MHz的晶振,定时1ms,用定时器方式1时的16进制的初值应为多少?(请给出计算过程)(4分)

2.用一条什么指令可以取代下列前4条指令?(4分)

MOV DPTR,#1020H PUSH DPH PUSH DPL RET ORG 1020H

W12: …………

ORG 2010H

W34: …………

3.位地址00H—7FH和片内字节地址00H—7FH编址相同,读写时会不会搞错?为什么?

4. 当CPU响应外部中断0后,执行了外部中断0中断服务子程序的第一条单字节指令后,PC的内容为多少?

ORG

0003H

LJMP 2000H ORG

000BH

LJMP 3000H

五、回答下列问题并写出简要分析过程(15分)。

1.图(a)所示为AT89S51单片机存储器地址空间分布图。图(b)为存储器的地址译码电路,为使地址译码电路按图(a)所示的要求进行正确寻址,要求直接在答题纸上画出: (1)A组跨接端子的内部正确连线图?(4分) (2)B组跨接端子的内部正确连线图?(4分)

(注:74LS139是2-4译码器,B为高端,A为低端,使能端G接地表示译码器处于正常译码状态)。

word格式-可编辑-感谢下载支持

(3)编写把单片机外部RAM C000H-C00FH 16个单元的数读入到片内RAM单元30H-3FH中的程序段(7分)

六、ADC0809与AT89S51单片机采用中断方式读取A/D转换结果的接口电路如下图所示,系统时钟为3MHz,模拟量输入仅选择IN0通道,编制单片机从上电复位开始的A/D 转换程序,将转换结果送片内RAM的30H单元。(没有用到的地址线为1) (15分)

提示:

ADC0809的片内结构如下:

word格式-可编辑-感谢下载支持

图中的通道选择控制端“C”为高位,“A”为低位。 与中断有关的寄存器TCON和IE的格式如下:

另外,系统主程序用 HERE:AJMP HERE 来表示。

因篇幅问题不能全部显示,请点此查看更多更全内容