资源描述
试题8
一、填空题(35分,每空1分)
1、单片机也可称为 微控制器 或 嵌入式控制器 。
2、 串行口方式2接收到的第9位数据送 SCON 寄存器的 RB8 位中保存。
3.串行口方式3发送的第9位数据要事先写入( SCON )寄存器的( TB8 )位。
4、内部RAM中,位地址为50H的位,该位所在字节的字节地址为 2AH 。
5、如果(A)=65H,(50H)= 50H,(R1)= 50H,执行指令XCHD A, @R1;结果为:
(A) = 50 H ,(50H) = 65 H。
6、当AT89S51执行MOVC A,@A+PC指令时,伴随着控制信号有效。
7、AT89S51访问片外存储器时,利用 LEA 信号锁存来自 P0口 发出的低8位地址信号。
8、定时器/计数器T0作为计数器使用时,其计数频率不能超过晶振频率fosc的 1/24 。
9、AT89S51单片机为 8 位单片机。
8.利用81C55可以扩展( 3 )个并行口,(256)个RAM单元。
9.当单片机复位时PSW= ( 00 )H,SP=( 07H ),P0~P3口均为( 高 )电平。
10、AT89S51单片机有 2 级优先级中断。
11、MCS-51系列单片机的典型芯片分别为 8031 、 8051 、 8751 。
12、当单片机复位时PSW= 00 H,这时当前的工作寄存器区是 0 区,R6所对应的存储单元地址为 06 H。
13、AT89S51单片机指令系统的寻址方式有 寄存器寻址 、 立即寻址 、
寄存器间接寻址 、 直接寻找 、 位寻址 、 基址寄存器加变址寄存器寻址 。
14、74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中
8 片芯片。32=25 1000/0000/0000/0000
15、利用82C55可以扩展 3 个并行口,其中 8 条口线具有位操作功能。
16、若AT89S51外扩32KB 数据存储器的首地址为0000H,则末地址为 7FFF H。
17、由8031组成的单片机系统在工作时,引脚应该接 0 。
18、AT89S51唯一的一条16位数据传送指令为 MOV DPTR data16 。
二、判断对错,如对则在( )中写“√”,如错则在( )中写“×”。(10分)
1、AT89S51单片机可执行指令:MOV 28H,@R2。( ×)
2、判断指令的正误:MOV T0,#3CF0H; ( × )
3、AT89S51单片机中PC的值是当前正在执行指令的下一条指令的地址。( √ )
4、当AT89S51执行MOVX A,@R1指令时,伴随着信号有效。( × )
5、指令中直接给出的操作数的寻址方式称为直接寻址( × )立即寻址
6、AT89S51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的。( × )
7、内部RAM的位寻址区,既能位寻址,又可字节寻址。( √ )
8、特殊功能寄存器SP内装的是栈顶首地址单元的内容。( × )
9、特殊功能寄存器SCON与(TSON)定时器/计数器的控制无关。( √ )
10、逐次比较型A/D转换器与双积分A/D转换器比较,逐次比较型的转换速度比较慢。(×)快
三、简答题
1. 如果(DPTR)=447BH,(SP)=42H,(40H)=80H,(41H)=70H,(42H)=60H,则执行下列指令后:(4分)
POP DPH
POP DPL
POP A
则:(DPH)= ;(DPL)= ;(A)= (SP)= ;
1 如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:
POP DPH;
POP DPL;
POP SP;
则:(DPH)= ___3CH___;(DPL)=___5FH___;(SP)=___50H___;(6分)
3.中断服务子程序返回指令RETI和普通子程序返回指令RET有什么区别?(4分)
中断服务子程序返回指令RETI返回到中断点
2.中断服务子程序返回指令RETI和普通子程序返回指令RET有什么区别?(4分)
答:RETI除了将压栈的内容出栈外(即现场恢复),还清除在中断响应时被置1的AT89S51内部中断优先级寄存器的优先级状态。
五、 画出8031单片机利用串行口进行1台主机与3台从机进行多机串行通讯的连线图,其中1台从机的地址号为01H,请叙述主机向01H从机发送一个字节数据的过程。 (10分)
TXD
RXD
8031
主机
TXD RXD
00H
TXD RXD
01H
TXD RXD
02H
TXD RXD
03H
从机 从机 从机 从机
答:主机发送数据过程如下:
(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从机发送一个字节数据的功能。
六、请回答:(共20分)
1.下图中外部扩展的程序存储器和数据存储器容量各是多少?(2分)
2.三片存储器芯片的地址范围分别是多少?(地址线未用到的位填1) (6分,)
3.请编写程序,要求:
(1) 将内部RAM 30H~3FH中的内容送入1# 6264的前16个单元中;(4分)
(2) 将2# 6264 的前4个单元的内容送入内部RAM 40H~43H中;(4分)
PSEN
CE
WR
P2.7
P2.6
P2.5
P2.4
P2.0
│
8031
D0-D7
OE
D0-D7
OE
2764
CE
A8-A12
A0-A7
OE
74LS373
Q0
Q7
D0
D7
│
│
G
ALE
P0.7
P0.0
│
8
8
8
8
8
5
5
5
8
8
+5V
WR
2# 6264
CS
CE
A8-A12
A0-A7
+5V
WR
CS
A8-A12
A0-A7
OE
OE
1# 6264
RD
5
8
●
●
●
●
●
●
●
●
●
解: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: MOV 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: MOV 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
六、简述一种多外部中断源系统的设计方法。(给出图和程序)(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: 中断服务子程序
AJMP INTIR
IR2: 中断服务子程序
AJMP INTIR
IR3: 中断服务子程序
AJMP INTIP
3.说明AT89S51的外部引脚EA*的作用?(3分)
答:
EA*是内外程序存储器选择控制信号。(1分)
当EA*=0时,只选择外部程序存储器。(1分)
当EA*=1时,当PC指针≤0FFFH时,只访问片内程序存储器;当PC指针>0FFFH时,则访问外部程序存储器(1分)
5.写出AT89S51的所有中断源,并说明说明哪些中断源在响应中断时,由硬件自动清除,哪些中断源必须用软件清除,为什么?(6分)
答: 外部中断INT0*
定时器/计数器中断T0
外部中断INT1*
定时器/计数器中断T1
串行口中断
其中串行口中断TI与RI必须用软件清“0”,因为串口中断的输出中断为TI,输入中断为RI,故用软件清“0”。
三、编写程序,将外部数据存储器中的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分)
五、简述行列式扫描键盘的工作原理。(10分)
答:
1)首先判断有无键按下: (3分)
将列线全部置0,读行线状态,若P1.0~P1.3全为1,则表明无键按下,若出现低电平即0,则有键按下,记录下行号 i ;
2) 其次,如有键按下,判断具体键号 (7分)
方法如下:逐列为低,其它为高,再读行线状态,如出现哪一行为低,记录此时的列号j , 则证明第i行第j列的按键被按下,至此完成键盘的行列式扫描。
3.AT89S51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突,为什么?(6分)
答:AT89S51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突。这是因为它们的控制信号不同:
(1) 外扩程序存储器是PSEN*信号为其控制信号
外扩数据存储器是RD*与WR*信号为其控制信号
(2) 指令不同,程序存储器用MOVC读取,数据存储器用MOVX存取
5.LED的静态显示方式与动态显示方式有何区别?各有什么优缺点?(4分)
答:
静态:显示期间,锁存器输出的段码不变;亮度大,各位LED的段选分别控制;位数多硬件电路复杂
动态:所有位段码线并连一起,各位的亮灭靠片选控制端控制,亮度较低,多位控制电路简单
答: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
展开阅读全文