单片机试题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
试题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 DPH;
POP DPL;
POP SP;
则:(DPH)= ___3CH___;(DPL)=___5FH___;(SP)=___50H___;
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数据交换。
五、简述MCS-51系列单片机主从结构多机通信原理,设有一台主机与三台从机通信,其中一台从机通信地址号为01H ,请叙述主机呼叫从机并向其传送一个字节数据的过程。
(请给出原理图) (10分) 解:
原理图如上图所示,假设主机呼叫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:POPA;返回
POPPSW
IR0: 中断服务子程序;中断服务
AJMP INTIR
IR1: 中断服务子程序
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分)
解: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
RESET: AJMP MAIN ;复位,转主程序
ORG 0100H
MAIN:M OV DPL,#00H ;初始化DPTR
MOV DPH,#60H
MOV R0,#30H。
;初始化R0 LOOP: MOV A,@R0
MOVX @DPTR, A
INC R0
INC DPTR
CJNE R0,#40H,LOOP
NOP
RET
(1)程序如下:
ORG 0000H
RESET:AJMP MAIN ;转主程序
ORG 0100H
MAIN: M OV DPL#00H ;初始化DPTR MOV DPH,#0A0H
MOV R0,#40H ;初始化R0 LOOP2:MOVX A,@DPTR
MOV @R0,A
INC DPTR
INC R0
CJNE R0,#60H,LOOP2
NOP
RET
试题2
一、填空题(24分,每空1分)
1.AT89S51单片机是( 8 )位的单片机.
2.AT89S51单片机有( 5)个中断源,( 2 )级优先级中断。
3.串行口方式3发送的第9位数据要事先写入(SCON)寄存器的(TB8)位. 4.串行口的方式0的波特率为(f OSC/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)=( 79 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。
二、判断对错,
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寄存器中。
×
三、简答题
1.如果(DPTR)=5678H,(SP)=42H,(3FH)=12H ,(40H)=34H,(41H)=50H,(42H)=80H,则执行下列指令后:
POP DPH
POP DPL
RET
则:(PCH)=_34H_;(PCL)=_12H__;(DPH)=__80H__;(DPL)=__50H__;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分) 解:(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
RET
五、画出AT89S51系列单片机利用串行口进行1台主机与4台从机多机串行通讯连线图,其中1台从机通讯地址号为02H,请叙述主机向02H 从机发送一个字节
a b
c
d e
f g
●
dp 来自
V
数据的过程(10分)
答:主机发送数据过程如下:
(1)将从机00~03H的REN置1,SM2=1,并使它们工作在串行口工作方式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)(6分,)
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 R1 ,#10H
MOV DPTR, #0A000H
MOV R0,#30H
LOOP: MOV A,@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分,每空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)种工作方式。
二、判断对错
1.AT89S51的定时器/计数器对外部脉冲进行计数时,要求输入的计数脉冲的高电平或低电平的持续时间不小于1个机器周期。
(×)
2.判断指令的正误:MOV T0,#3CF0H;(×)
3.定时器T0中断可以被外部中断0中断(×)
4.指令中直接给出的操作数称为直接寻址。
(×)
5.内部RAM的位寻址区,既能位寻址,又可字节寻址.(√)
6.特殊功能寄存器SCON与定时器/计数器的控制无关。
(√)
7.当AT89S51执行MOVX A,@R1指令时,伴随着WR*信号有效.(×)
8.串行口工作方式1的波特率是固定的,为fosc/32。
(×)
9.区分外部程序存储器和数据存储器的最可靠的方法是看其是被 RD*还是
被PSEN*信号连接。
(√)
10.逐次比较型A/D转换器与双积分A/D转换器比较,转换速度比较慢。
(×)三、简答题
1.AT89S51采用12MHz的晶振,定时1ms,如用定时器方式1时的初值(16进制数)应为多少?(写出计算过程)(6分)
解:采用12MH Z的晶振,Tcy=1/fosc×12=1/12×10-6×12=1us
采用定时器方式1(为16位)
定时1ms,设初值为X,则:(216-X)×1×10—6=1×10—3
则=〉X=64536将其转换成二进的为:1111110000011000
再将其转化为16进制数为:FC18
初值为TXH=FCH TXL=18H
2.中断服务子程序返回指令RETI和普通子程序返回指令RET有什么区别?答:RETI除了将压栈的内容出栈外(即现场恢复),还清除在中断响应时被置1的
AT89S51内部中断优先级寄存器的优先级状态。
3.AT89S51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突,为什么?(6分)
答:AT89S51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突。
这是因为它们的控制信号不同:
(1)外扩程序存储器是PSEN*信号为其控制信号,
外扩数据存储器是RD*与WR*信号为其控制信号
(2) 指令不同,程序存储器用MOVC读取,数据存储器用MOVX存取
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
问题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_,3000H单元的内容为_55H_,R1的内容为__40H___.
问题3:执行如下程序,填出A寄存器的内容。
程序3、MOV A、#88H
MOV R
7
,#AAH
ORL A、R
7
:A的内容为:__AAH__
MOV A,#37H
MOV R
7
,#89H
ANL A,R
7 A的内容为:__01H _
4000H
3001H
3000H
XRL A,R
A的内容为:__88H _
7
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) 3.请编写程序,要求:将内部RAM 40H—4FH中的内容送入1# 6264的前16个单元中;将2# 6264 的前4个单元的内容送入50H—53H中;
解:
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
(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。
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系列单片机指令系统的寻址方式有寄存器寻址、直接寻址、寄存器间接寻址、立即寻址、基址加变址、位寻址。
(相对寻址也可)
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标志位为 1.
二、简答题(13分)
1。
采用6MHz的晶振,定时2ms,用定时器方式1时的初值应为多少?(请给出计算过程)(6分)
答:(1) Ts=2us (216-X)×2us=2ms 从而X=64536
(2) 64536=FC18H
2。
AT89S51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突,为什么?(4分)
答:因为访问外扩的程序存储器和数据存储器执行的指令不同,所发出的控制信号也就不同。
(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分)
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列的按键被按下,至此完成键盘的行列式扫描。
七、回答下列问题并写出简要分析过程(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分。
注意:连线部分是简答的前提.
试题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 控制信号有效。
ROM1 ROM2 空 RAM1 RAM2
存储器 地址 0000H 4000H 8000H C000H E000H FFFFH
图1(a) 地址空间 图1(b) 地址译码电路
A 组
B 组 芯片选择 A A A A 地址译码电路
A 组
B 组 芯片选择 A A A A
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 块芯片中选中其中任一块。
MCS-51指令系统中,ADD与ADDC指令的区别是进位位Cy是否参与加法运算
特殊功能寄存器中,单元地址低位为0或8 的特殊功能寄存器,可以位寻址。
开机复位后,CPU使用的是寄存器第0组,地址范围是00H-07H
14. 若某存储器芯片地址线为12根,那么它的存储容量为4kB
15. 关于定时器,若振荡频率为12MHz,在方式0下最大定时时间为
8.192ms 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时的初值应为多少?
2、答:(1) (216-X)×2us=5ms 65536 – 2500 = 63036
从而X=63036
(2) 64536=F63CH
3,MCS-51单片机片内256B的数据存储器可分为几个区?分别作什么用?答:(1)通用工作寄存器区,00H – 1FH,共4组,R0-R7,在程序中直接使用(2)可位寻址区,20H—2FH,可进行位操作,也可字节寻址
(3)用户RAM区,30H—7FH,只可字节寻址,用于数据缓冲及堆栈区
(4)特殊功能寄存器区,80H—FFH,21个特殊功能寄存器离散地分布在该区内,用于实现各种控制功能
3、指出以下程序段每一条指令执行后累加器A内的值,已知(R0)=30H。
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
(2)ORG 1000H
MOV DPTR,#8000H ;
MOV R0, #20H ;
MOV R1,#30H ;
LOOP:MOV A,@R1 ;
MOVX @DPTR,A ;
INC D PTR ;
INC R1 ;
DJNZ R0, LOOP ;
HERE:RET ;或AJMP HERE
五、简述行列式键盘线反转法识别按键的工作原理。
(本题6分)
答:第1步:让行线编程为输入线,列线编程为输出线,使输出线输出为全低电平,则行线中电平由高变低的所在行为按键所在行。
(3分)
第2步:再把行线编程为输出线,列线编程为输入线,使输出线输出为全低电平,则列线中电平由高变低的所在列为按键所在列。
(3分)
综合上述两步,可确定按键所在行和列.
七、回答下列问题并写出简要分析过程。
(本题16分)
左下图是DAC0832的应用电路,DA转换时数字量FFH与00H分别对应于模拟量+5V与0V。
右下图给出了DAC0832的逻辑结构。
(1)将图中空缺的电路补充完整;(2)编写程序,产生图中所示锯齿波.设有一个延时3。
905ms的子程序DELAY可以直接调用。
DAC0832的逻辑结构
答:(1)共6根线,每根线1分。
连线如图,如果WR2*与WR *或XFER*相连也给分。
ILE 直接接+5V 也正确。
(2) ORG 1000H MOV R0, #0FEH ; 或:MOV DPTR , #FFFEH
MOV
A, #00H ;
LOOP : MOVX @R0, A ; 或:MOVX
@DPTR, A
INC
A
; LCALL DELAY ;
SIMP
LOOP
;。