单片机试题带标准答案.docx
《单片机试题带标准答案.docx》由会员分享,可在线阅读,更多相关《单片机试题带标准答案.docx(9页珍藏版)》请在冰豆网上搜索。
单片机试题带标准答案
单片机试题(带答案)
————————————————————————————————作者:
————————————————————————————————日期:
试题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,执行指令XCHDA,@R1;结果为:
(A)=50H,(50H)=65H。
6、当AT89S51执行MOVCA,@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=00H,这时当前的工作寄存器区是0区,R6所对应的存储单元地址为06H。
13、AT89S51单片机指令系统的寻址方式有寄存器寻址、立即寻址、
寄存器间接寻址、直接寻找、位寻址、基址寄存器加变址寄存器寻址。
14、74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中
8片芯片。
32=251000/0000/0000/0000
15、利用82C55可以扩展3个并行口,其中8条口线具有位操作功能。
16、若AT89S51外扩32KB数据存储器的首地址为0000H,则末地址为7FFFH。
17、由8031组成的单片机系统在工作时,引脚应该接0。
18、AT89S51唯一的一条16位数据传送指令为MOVDPTRdata16。
二、判断对错,如对则在()中写“√”,如错则在()中写“×”。
(10分)
1、AT89S51单片机可执行指令:
MOV28H,@R2。
(×)
2、判断指令的正误:
MOVT0,#3CF0H;( × )
3、AT89S51单片机中PC的值是当前正在执行指令的下一条指令的地址。
(√)
4、当AT89S51执行MOVXA,@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分)
POPDPH
POPDPL
POPA
则:
(DPH)=;(DPL)=;(A)=(SP)=;
1如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:
POPDPH;
POPDPL;
POPSP;
则:
(DPH)=___3CH___;(DPL)=___5FH___;(SP)=___50H___;(6分)
3.中断服务子程序返回指令RETI和普通子程序返回指令RET有什么区别?
(4分)
中断服务子程序返回指令RETI返回到中断点
2.中断服务子程序返回指令RETI和普通子程序返回指令RET有什么区别?
(4分)
答:
RETI除了将压栈的内容出栈外(即现场恢复),还清除在中断响应时被置1的AT89S51内部中断优先级寄存器的优先级状态。
5、画出8031单片机利用串行口进行1台主机与3台从机进行多机串行通讯的连线图,其中1台从机的地址号为01H,请叙述主机向01H从机发送一个字节数据的过程。
(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从机发送一个字节数据的功能。
六、请回答:
(共20分)
1.下图中外部扩展的程序存储器和数据存储器容量各是多少?
(2分)
2.三片存储器芯片的地址范围分别是多少?
(地址线未用到的位填1)(6分,)
3.请编写程序,要求:
(1)将内部RAM30H~3FH中的内容送入1#6264的前16个单元中;(4分)
(2)将2#6264的前4个单元的内容送入内部RAM40H~43H中;(4分)
解:
1.外部扩展的数据存储器为3片8K的RAM,外扩容量为24K
2.A15A!
4A13地址范围
0116000H~7FFFH
101A000H~BFFFH
3.
(1)程序如下:
ORG0000H
RESET:
AJMPMAIN;复位,转主程序
ORG0100H
MAIN:
MOVDPL,#00H;初始化DPTR
MOVDPH,#60H
MOVR0,#30H.;初始化R0
LOOP:
MOVA,@R0
MOVX@DPTR,A
INCR0
INCDPTR
CJNER0,#40H,LOOP
NOP
RET
(1)程序如下:
ORG0000H
RESET:
AJMPMAIN;转主程序
ORG0100H
MAIN:
MOVDPL#00H;初始化DPTR
MOVDPH,#0A0H
MOVR0,#40H;初始化R0
LOOP2:
MOVXA,@DPTR
MOV@R0,A
INCDPTR
INCR0
CJNER0,#60H,LOOP2
NOP
RET
六、简述一种多外部中断源系统的设计方法。
(给出图和程序)(10分)
答:
原理电路如图所示
程序如下:
INT:
PUSHPSW
PUSH A
JNBP1.0,IR0;扫描中断请求
JNBP1.1,IR1
JNBP1.2,IR2
JNBP1.3,IR3
INTIR:
POP A ;返回
POP PSW
IR0:
中断服务子程序;中断服务
AJMPINTIR
IR1:
中断服务子程序
AJMPINTIR
IR2:
中断服务子程序
AJMPINTIR
IR3:
中断服务子程序
AJMPINTIP
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分)
MOVDPTR#5000H
MOVR0,#00H
CLRA(3分)
LOOP:
MOVX@DPTR,A
INCDPTR(3分)
DJNZR0,LOOP(2分)
HERE:
SJMPHERE(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位:
A15A14A13
000
地址范围为:
0000H-1FFFH
数据存储器1#6264地址高3位:
A15A14A13
011
地址范围为:
6000H-7FFFH
数据存储器2#6264地址范围为:
A15A14A13
101
地址范围为:
A000H-BFFFH
3.编写程序
(1)MOVRO,#40H
MOVDPTR,#6000H;设置数据指针为6000H
LOOP:
MOVA,@RO;将片内RAM(40-4FH)中的内容送入A中
MOVX@DPTR,A;将A→@DPTR中
INC RO
INCDPTR
CJNERO,#50H,LOOP;将此子程序循环执行16次
RET
(2)MOVRO,#50H
MOVDPTR,#0A000H;设置数据指针为A000H
LOOP:
MOVXA,@DPTR
MOVX@RO,A;将外部