单片机原理及应用考试试题及答案Word文件下载.docx
《单片机原理及应用考试试题及答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《单片机原理及应用考试试题及答案Word文件下载.docx(20页珍藏版)》请在冰豆网上搜索。
RET
2.编制一个循环闪烁灯的程序。
有8个发光二极管,每次其中某个灯闪烁点亮10次后,转到下一个闪烁10次,循环不止。
画出电路图。
(20分)
解
本程序的硬件连接如图所示。
当P1.0输出高电平时,LED灯亮,否则不亮。
其程序如下:
MOVA,#01H;
灯亮初值
SHIFT:
LCAILFLASH;
调闪亮10次子程序
RRA;
右移一位
SJMPSHIFT;
循环
FLASH:
MOVR2,#0AH闪烁10次计数
FLASH1;
MOVP1,A;
点亮
LCALLDELAY;
延时
MOVP1,#00H;
熄灭
DJNZR2,FLASH1;
《单片机原理与应用》试题017答案
填空(每空1分,共12分)
1.MCS-51有I\O口,其中P0~P3是准双向口,所以由输出转输入时必须先写入
2.MCS-51串行接口有4种工作方式,这可在初始化程序中用软件填写特殊功能寄存器加以选择.
3
4.MCS-51的堆栈是软件填写堆栈指针临时在.
5.MCS-51有组工作寄存器,它们的地址范围是6.MCS-51片(×
)方式2和方式3。
2.TMOD中的GATE=1时,表示由两个信号控制定时器的启停。
(√)。
3.MCS-51外扩I/O口与外RAM是统一编址的。
4.使用8751且=1时,仍可外扩64KB的程序存储器。
(×
)
5、8155芯片×
三、选择题(每题2分,共18分)
1..MCS-51的时钟最高频率是(A).
A12MHzB6MHzC8MHzD10MHz
2.以下不是构成单片机的部件(D)
A微处理器(CPU)、B存储器C接口适配器(I\O接口电路)D打印机
3.-49D的二进制补码为.(B)
A11101111B11101101C0001000D11101100
(B)方式0(B)方式1(C)方式2(D)方式3
5、当8031外出扩程序存储器8KB时,需使用EPROM2716(C)
(A)2片(B)3片(C)4片(D)5片
6、使用8255可以扩展出的I/O口线是(B)
(A)16根(B)24根(C)22根(D)32根
7、当使用快速外部设备时,最好使用的输入/输出方式是(C)
(A)中断(B)条件传送(C)DMA(D)无条件传送
8、MCS-51的并行I/O口读-改-写操作,是针对该口的(D)
(A)引脚(B)片选信号(C)地址线(D)8031的扩展储存器系统中,为什么P0口要接一个8位锁存器,而P2口却不接?
(7分)
这是因为P0口是扩展储存器系统的多路低8位地址和数据总线,在访问外部存储器时,P0口分时用作输出外部储存器低8位地址和传送数据,为了在整个访问外部存储器期间,对外部存储器存在着有效的低8位地址信号,所以P0口需要外接一个地址锁存器。
ALE信号就是用来把P0口输出的地址字节锁存在这个外接的锁存器中,再从锁存器输出外部存储器的低8位地址。
而P2口只用作扩展存储器系统的高8位地址线,并在整个访问外部存储器期间不变,所以不必外接地址锁存器。
3.简述可编程并行接口8255A的其中有数据总线驱动器,读/写控制逻辑
(2)由A组和B组控制电路。
(3)外部接口部分该部分有3个8位并行I/O端口,即A口、B口和C口。
CPU:
ACC、B、PSW、SP、DPTR(由DPL和DPH两个8位寄存器组成);
中断系统:
IP、IE;
定时器/计数器:
TMOD、TCOM、TL0、TH0、TL1、TH1;
并行I/O口:
P0、P1、P2、P3;
(5)串行口:
SCON、SBUF、PCON。
4设R0,#30H;
R0=30H
MOVA,@R0;
A=5AH
MOVR1,A;
R1=5AH
MOVB,R1;
B=5AH
MOV@R1,P1;
(5AH)=7FH
MOVA,P1;
A=7FH
MOV40H,#20H;
(40H)=20H
MOV30H,40H;
(30H)=20H
解:
每一条指令执行后的结果如注释字段所标。
最后结果为:
R0=30H,R1=5AH,A=7FH,B=5AH,P1=7FH,(30H)=20H,(40H)=20H,(5AH)=7FH。
五、编程题(共30分)
1.片START:
MOVR0,#40H;
数据块首地址送R0
MOVR7,#09H;
比较次数送R7
取数送A
LOOP:
INCR0
MOV30H,@R0;
取数送30H
CJNEA,30H,NEHT;
(A)与(30H)相比
NEXT:
JNCBIE1(A)≥(30H)转BIR1
MOVA,30H;
(A)<(30H),大数送A
BIE1:
DJNZR7,LOOP;
比较次数减1,不为0,继续比较
MOV50H,A;
比较结束,大数送50H
2设计一个2×
2行列式键盘电路并编写键盘扫描子程序。
(1)2×
2行列式键盘电路如图所示。
(2)键盘扫描子程序:
KEY1:
ACALLKS1;
调用判断有无键按下子程序
JNZLK1;
有键按下,转LK1
AJMPKEY1;
无键按下,返回
LK1:
ACALLT12MS;
调延时12ms子程序
ACALLKS1;
查有无键按下
JNZLK2;
若有,则为键确实按下,转逐列扫描AJMPKEY1;
LK2:
MOVR4,#00H;
首列号R4
MOVR2,#FEH;
首列扫描字R2
LK4:
MOVA,R2;
列扫描字P1
MOVP1,A;
使第一列线为0
MOVA,P1;
读入行状态
JBACC.0,LONE;
第0行无键按下,转查第一行
MOVA,#00H;
第0行有键按下,该行首键号#00HAAJMPLKP;
转求键号
LONE:
JBACC.1,NEXT;
第一行无键按下,转查下一列
MOVA,#02;
第一行有键按下,该行首键号#02ALKP:
ADDA,R4;
键号=首行号+列号
PUSHACC;
键号进栈保护
LK3:
ACALLKS1;
等待键释放
JNZLK3;
未释放,等待
POPAC;
键释放,键号A
RET;
键扫描结束
INCR4;
列号加1,指向下一列
MOVA,R2;
列扫描字A
JNBACC.1,KND;
判断2列全扫描完?
扫描完,转KND
RLA;
没扫描完,扫描字左移一位,形成下一列扫描字
MOVR2,A;
扫描字R2AJMPLK4;
扫描下一列
AJMPKEY1;
全扫描完,返回
MOVA,#FCH;
全扫描字11111100BA
MOVP1,A;
全扫描字MOVA,P1;
读取列值
CPLA;
取正逻辑,高电平表示有键按下
ANLA,#0C0H;
屏蔽低6位,取高2位
出口状态(A)!
=0,有键按下
单片机原理及应用期末考试试题汇总
5、在89C51中,只有当EA引脚接高电平时,CPU才访问片P0口提供,高八位地址由P2口提供,8位数据由P0口提供。
1、单片机是将微处理器、一定容量的RAM和ROM以及I/O口、定时器等电路集成在一块芯片上而构成的微型计算机。
2、单片机89C51片4KB的FLASHROM,共有5个中断源。
3、两位十六进制数最多可以表示256个存储单元。
9、在I/O口中,P0口在接LED时,必须提供上拉电阻,P3口具有第二功能。
10、是非题:
MCS-51系列单片机直接读端口和读端口锁存器的结果永远是相同的。
F
11、是非题:
是读端口还是读锁存器是用指令来区别的。
T
12、是非题:
在89C51的片B)体系结构。
A、冯诺依曼B、普林斯顿C、哈佛D、图灵
19、是非题:
工作寄存器区不允许做普通的RAM单元来使用。
20、是非题:
工作寄存器组是通过置位PSW中的RS0和RS1来切换的。
21、是非题:
特殊功能寄存器可以当作普通的RAM单元来使用。
22、是非题:
访问128个位地址用位寻址方式,访问低128字节单元用直接或间接寻址方式。
23、是非题:
堆栈指针SP的16位的特殊功能寄存器寄存器。
25、是非题:
DPTR只能当作一个16位的特殊功能寄存器来使用。
26、是非题:
程序计数器PC是一个可以寻址的特殊功能寄存器。
27、在89C51中,一个机器周期包括12个振荡周期,而每条指令都由一个或几个机器周期组成,分别有单周期指令、双周期指令和4周期指令。
15、89C51具有64KB的字节寻址能力。
16、是非题:
在89C51中,当CPU访问片00H~7FH的真正RAM区,和地址为80H~FFH的特殊功能寄存器(SFR)区两个部分。
18、在89C51中,通用寄存器区共分为4组,每组8个工作寄存器,当CPU复位时,第0组寄存器为当前的工作寄存器。
28、当系统处于正常工作状态且振荡稳定后,在RST引脚上加一个高电平并维持2个机器周期,可将系统复位。
29、是非题:
单片机89C51复位后,其PC指针初始化为0000H,使单片机从该地址单元开始执行程序。
30、单片机89C51复位后,其I/O口锁存器的值为0FFH,堆栈指针的值为07H,SBUF的值为不定,。
31、是非题:
单片机系统上电后,其硬件复位;
而只有硬件复位方式才能让进入掉电模式的单片机退出掉电模式。
34、请用下图说明89C51单片机读端口锁存器的必要性。
读锁存器是为了避免直接读端口引脚时,收到外部电路的干扰,而产生的误读现象。
35、请说明为什么使用LED需要接限流电阻,当高电平为+5V时,正常点亮一个LED需要多大阻值的限流电阻(设LED的正常工作电流为10mA,导通压降为0.6V),为什么?
因为LED导通时,电压降是固定的(0.6V)。
为了使LED既能正常工作(电流为10mA),又不至于被过大的电流损坏,所以必须加一个限流电阻。
36、以下哪一条指令的写法是错误的(C)。
A、MOVDPTR,#3F98HB、MOVR0,#0FEHC、MOV50H,#0FC3DHD、INCR0
37、以下哪一条指令的写法是错误的(D)。
A、INCDPTRB、MOVR0,#0FEHC、DECAD、PUSHA
38、以下哪一条指令的写法是错误的(B)。
A、MOVCA,@A+DPTRB、MOVR0,#FEHC、CPLAD、PUSHACC
39、是非题:
在51系列单片机的指令系统中,其加法、减法、乘法和除法必须有累加器A的参与才能完成。
40、以下哪一条是位操作指令(B)。
A、MOVP0,#0FFHB、CLRP1.0C、CPLAD、POPPSW
41、以下哪一条是位操作指令(B)。
A、MOVP1,#0FFHB、MOVC,ACC.1C、CPLAD、POPPSW
42、以下哪一条是位操作指令(B)。
A、MOVP0,#0FFHB、SETBTR0C、CPLR0D、PUSHPSW
《单片机原理与应用》试题016答案
填空(每空1分,共24分)
1、MCS-51单片机而字节地址范围是30H~7FH的一段区域称为字节寻址。
3、MCS—51单片机指令系统中共有111条指令,有六种寻址方式,
分别是:
立即寻址、寄存器寻址、直接寻址、变址寻址、寄存器间接寻址及相对寻址。
4、+1000110B的反码是;
-0110011B的补码是。
5、一般的计算机系统都是由、__________、____三总线结构组成。
6、MCS-51系列单片机256B工作寄存器区的地址范围是00—1FH。
00--FF。
7、单片机汇编语言程序有三种基本结构,分别是:
顺序、
分支和循环。
8、单片机是一种将CPU、存储器和I/O接口集成在一个芯片中的微型计算机。
二、判断题(每题1分,共5分)
1.五个中断源中优先级是高的是外部中断0,优先级是低的是串行口中断
(对)
2.工作寄存器工作在0区,则R2所对应的)
3.MOVCA@A+DPTR,这是条相对寻址指令(错)
(错)4.8051单片机的P2口只能用作通用I/O口
5.程序存储器和数据存储器的作用不同,程序存储器一般用存放数据表格和程序,而数据存储器一般用来存放数据(错)
三、简答题(共35分)
1.MCS-51单片机有哪几个并行I/O端口?
各I/O口有什么特性?
(10分)
MCS-51单片机有4个8位双向的并行I/O口P0~P3,每一个口都由口锁存器(D触发器)、输出驱动器(FET)和输入缓冲器(3态门)组成。
各口每一位I/O线都能独立地用作输入或输出,CPU对口的读操作有两种,一种是读取口锁存器的状态,另一种是读取口引脚状态。
但这4个并行I/O口的结构和功能却完全不同,它们各自的特性如下:
P0口为三态双向I/O口(开漏输出,内部无上拉电阻)。
对于8051/8751/8052,P0口可以作为一般I/O口,也可作
为系统扩展的地址/数据总线口。
P0口用作外部引脚输入时,口锁存器必须为“1”,关断输出驱动器的FET;
作总线口时,分时用作输出外部存储器的低8为地址A0~A7和传送数据D0~D7。
对于8032/8052,P1.0和P1.1还有另一种功能:
P1.0—定时器T2的外部计数脉冲输入端,P1.1—定时器T2的捕捉/重装触发脉冲输入端。
对于8031,P0口只能用作地址/数据总线口。
P1口为准双向I/O口(8031单片机需要外接程序存储器,实际上它还有多少条I/O线可以用?
当使用外部存储器时,还剩下多少条I/O线可用?
8031系统必须外接程序促成器,原则上说,P0和P2口要用作数据和地址总线,所以只有P1和P3口可用作I/O口,共16条I/O线。
在使用外部存储器时,除了占用P0和P2口外,还需要用P3口RD(P3.7)和WR(P3.6)两条控制线,所以这种情况下就只剩下14条I/O线可用了。
四、分析下面程序并填空(共25分)
1.若(10H)=0FFH,(11H)=00H,(12H)=0FFH,(13H)=00H,写出每一步指令运行结果
MOVA,10H,
ANLA,#01H
MOVA,11H
ORLA,#01H
MOVA,12H,
XRLA,#01H,
MOVA,13H,
XRLA,#0AA,
2.MOV30H,#60H
MOVR0,#60H
MOVA,30H
MOVB,A
MOV@R0,B
,(R0,(B
3.MOVSP,#60H
MOVA,#01H
MOVB,#02H(B,
PUSHA(SP
PUSHB(SP
POPA
POPB(60H,
4.改正下列指令
MOVA,DPTRMOVXA,@DPTR
MOVDPTR,10HMOVA,10H
MOVDPTR,40HMOVA,40H
MOVX40H,#30HMOV40H,#30H
ADD20H,#10HADDA,#10H
五、编程题(共14分)
应用单片机内部定时器T0工作在方式1下,从P1.0输出周期为1ms的方波脉冲信号,已知单片机的晶振频率为6MHZ。
请
(1)计算时间常数X,应用公式X=216-t(f/12)
(2)写出程序清单
X=216-t(F/12)
=2-1*10*6*10/12
=OFEOCH
ORG3000H
START:
MOVTMOD,#01H
MOVTL0,#OCH
MOVTHO,#OFEH
SETBTR0
JBCTFO,DONE
SJMPLOOP
DONE:
MOVTL0,#OCH
CPLP1.0
43、简述89C51单片机中断的概念。
当CPU正在处理某件事情的时候,外部发生的某一事件请求CPU迅速去处理,于是,CPU暂时中止当前的工作,转去处理所发生的时间。
中断服务处理完该事件以后,再回到原来被中止的地方,继续原来的工作,这样的过程成为中断。
44、什么是保护现场,什么是恢复现场?
保护现场:
当CPU响应中断程序时,硬件会自动把断点地址(16位程序计数器的值)压入堆栈之外,用户还须注意保护有关工作寄存器、累加器、标志位等信息;
恢复现场:
在完成中断服务程序后,恢复原工作寄存器、累加器、标志位等的INT0、INT1、T0、T1以及TXD/RXD。
47、单片机89C51的中断要用到4个特殊功能寄存器,它们是TCON、SCON、IE以及IP。
48、在89C51中,外部中断由IT0
(1)位来控制其两种触发方式,分别是电平触发方式和边沿触发方式。
49、简述单片机89C51中断的自然优先级顺序,如何提高某一中断源的优先级别。
中断源(控制位)自然优先级
外部中断0(PX0)最高
定时器/计数器0溢出中断(PT0)
外部中断1(PX1)
定时器/计数器1溢出中断(PT1)
串行口中断(PS)最低
若某几个控制位为1,则相应的中断源就规定为高级中断;
反之,若某几个控制位为0,则相应的中断源就规定为低级中断。
当同时接收到几个同一优先级的中断请求时,响应哪个中断源则取决于中断响应、中断处理以及中断返回。
52、简述51系列单片机中断响应的条件。
●有中断源发出中断请求;
●中断总允许位EA=1,即CPU开中断;
16-36
●申请中断的中断源的中断允许位为1,即中断没有屏蔽;
●无同级或更高级中断正在被服务;
●当前的指令周期已经结束;
●若现在指令为RETI或者是访问IE或IP指令,则该指令以及紧接着的另一条指令已执行完。
53、是非题:
在51系列单片机中,中断服务程序从矢量地址开始执行,一直到返回指令RETI为止。
54、在51系列单片机执行中断服务程序时,为什么一般都要在矢量地址开始的地方放一条跳转指令?
因为51系列单片机的两个相邻中断源中断服务程序入口地址相距只有8个单元,一般的中断服务程序是容纳不下的,因此一般都要在相应的中断服务程序入口地址中放一条跳转指令。
55、为什么一般都把主程序的起始地址放在0030H之后?
因为0000H~0030H中有中断的矢量地址,为了避免冲突,一般都把主程序的起始地址放在0030H之后。
56、是非题:
在执行子程序调用或执行中断服务程序时都将产生压栈的动作。
57、单片机89C51片16位的定时/计数器,即T0和T1,它们都有定时和事件计数的功能。
58、是非题:
定时/计数器工作于定时方式时,是通过89C51片0000H
LJMPMAIN
LJMPONE
ORG001BH
LJMPCOU
ORG0030H
MAIN:
MOVP1,#0FFH
MOVSP,#60H
MOVTMOD,#01100001B
MOVTL0,#0B0H
MOVTH0,#3CH
MOVTL1,#0F6H
MOVTH1,#0F6H
SETBTR1
SETBET0
SETBET1
SETBEA
SJMP$
ONE:
PUSHPSW
PUSHACC
CPLP1.1
POPACC
POPPSW
RETI
COU:
END
65、是非题:
在51系列单片机的指令中,既有带借位的减法指令,又有不带借位的减法指令。
66、用一个定时/计数器加软件计数器的方式,实现一秒的时钟基准信号,试写出程序并加以说明。
(设晶振频率为12MHz,由P1.0口输出秒信号。
)
(本程序使用定时器T0,工作模式1。
由于晶振频率为12MHz,因此利用定时器T0计时50ms,其初值为3CB0H。
利用工作寄存器R7作软件计数器,计数20次。
每计时满一秒,就将P1.0口输出信号取反,以输出秒信号。
ORG0000H
MOVR7,#0
CLRPT0
LJMP$
INCR7