单片机试题ab卷及答案Word下载.docx
《单片机试题ab卷及答案Word下载.docx》由会员分享,可在线阅读,更多相关《单片机试题ab卷及答案Word下载.docx(19页珍藏版)》请在冰豆网上搜索。
9.-49D的二进制补码为.()。
(A)11100010(B)11001111(C)00011101(D)00001111
10.MOVXA,@DPTR指令中源操作数的寻址方式是()。
(A)寄存器寻址(B)寄存器间接寻址(C)直接寻址(D)立即寻址
三、判断题(在每道小题后的括号中填入“对”或“错”)(本题共10分,每小题1分)
1.我们所说的计算机实质上是计算机的硬件系统与软件系统的总称。
()
2.MCS-51系统可以没有复位电路。
()
3.使用可编程接口必须初始化。
()
4.8155的复位引脚可与8051的复位引脚直接相连。
()
5.MCS-51的程序存储器只是用来存放程序的。
()
6.MCS-51外扩I/O口与外RAM是统一编址的。
()
7.MCS-51是中央处理器。
8.INCDPTR()
9.CLRR0()
10.MOVA,@DPTR()
四、简答题(本题共20分,每小题4分)
1.MCS-51单片机的时钟周期,机器周期,指令周期是如何定义的?
当主频为12MHz的时候,一个机器周期是多长时间?
执行一条最长的指令需要多长时间?
2.MCS-51指令系统主要有哪几种寻址方式?
试举例说明。
3.控制器的组成和作用
4.SJMP,AJMP和LJMP指令在功能上有何不同?
5.MCS-51系统中,片外程序存储器和片外数据存储器共用16位地址线和8位数据线为何不会产生冲突?
五、读程序(本题共10分,每小题5分)
1.设(A)=38H,R0=28H,(28H)=18H,执行下列程序后,(A)=
ANLA,#27H
XRLA,28H
ORLA,@R0
CPLA
2.设(A)=49H,(20H)=38H,PSW=00H,(B)=02H,填写以下中间结果。
SETBC
SUBBA,20H(A)=(CY)=
RRCA(A)=(CY)=
MULAB(A)=(B)=
六、编程题(本大题共30分,每小题10分)
1.片内RAM40H开始的单元内有10字节二进制数,编程找出其中最大值并存于50H单元中.
2.试编程对8155进行初始化。
设A口为基本输出,B口为基本输入,C口为基本输出,并启动定时器/计数器按方式1工作(产生连续方波),方波周期时间为10ms,定时器计数脉冲频率为单片机的时钟频率24分频,fosc=12MHZ。
(设8155芯片口地址命令口:
7100H,PA口:
7101H,PB口:
7102H,PC口:
7103H,定时器低8位:
7104H,定时器高8位:
7105H)。
3.如图所示是单片机与ADC0809接口电路,写出ADC0809的片选的地址范围。
编写使用IN3通道测量启动及测量程序(将测量结果存入单片机片内RAM的30H中)。
七、连图题(本大题共10分)
阅读下列硬件图,补齐连接线(4分),并回答问题(1分+3分+2分):
1.P0口的功能:
2.图中各芯片的名称和功能
3.2764、6264的地址范围(悬空引脚全部取1)
标准答案及评分标准A卷
专业_______________班级_____________
1.4K,1282.5,23.20H,2FH4.165.十进制加法修正6.2,四
7.8,A/D转换器,88.62H,30H,70H9.4,8
10.8位数据线/低8位地址线,高8位地址线
1.(A)2.(B)3.(D)4.(C)5.(C)
6.(C)7.(D)8.(D)9.(B)10.(B)
1.(对)2.(错)3.(对)4.(对)5.(错)
6.(对)7.(错)8.(对)9.(错)10.(错)
答:
时钟周期是单片机系统晶体振荡器工作周期;
机器周期是系统完成基本操作的时间等于12个时钟周期;
指令周期是执行一条指令时间。
当主频为12MHz的时候,一个机器周期是1微秒。
执行一条最长的指令(MULAB)需要4微秒。
答:
MCS-51指令操作数主要有以下7种寻址方式:
寻址方式举例
立即寻址MOVA,#16
直接寻址MOV20H,P1
寄存器寻址MOVA,R0
寄存器间接寻址MOVXA,@DPTR
变址寻址MOVCA,@A+DPRT
相对寻址SJMPLOOP
位寻址ANLC,70H
控制器:
由程序计数器、指令寄存器、指令译码器、时序发生器和操作控制器等组成。
用来协调指挥计算机系统的操作。
它们全部是无条件转移指令。
SJMP和AJMP是相对转移指令,LJMP指令绝对转移指令。
SJMP指令:
是以SJMP的下一条指令的起始地址为中心的256字节范围的转移(-128~+127)。
AJMP指令:
是以AJMP的下一条指令的起始地址为中心的2K字节范围的转移(-1024~+1023)。
LJMP指令:
是在整个64K地址空间转移。
5.MCS-51系统中,片外程序存储器和片外数据存储器共用16位地址线和8位数据线为何不会产生冲突?
这是因为外部程序存储器和外部数据存储器所使用的控制信号不同。
对外部程序存储器的选读通是用PSEN控制线,而对外部数据存储器的读/写控制是用RD和WR读、写控制线,所以不会发生地址冲突。
1.设(A)=38H,R0=28H,(28H)=18H,执行下列程序后,(A)=C7H
2.设(A)=38H,(20H)=49H,PSW=00H,(B)=02H,填写以下中间结果。
SUBBA,20H(A)=10H(CY)=0
RRCA(A)=08H(CY)=0
MULAB(A)=10H(B)=0
解:
START:
MOVR0,#40H;
数据块首地址送R0
MOVR7,#09H;
比较次数送R7
MOVA,@R0;
取数送A
LOOP:
INCR0
MOV30H,@R0;
取数送30H
CJNEA,30H,NEHT;
(A)与(30H)相比
NEXT:
JNCBIE1;
(A)≥(30H)转BIE1
MOVA,30H;
(A)<(30H),大数送A
BIE1:
DJNZR7,LOOP;
比较次数减1,不为0,继续比较
MOV50H,A;
比较结束,大数送50H
RET
8155定时器输入脉冲频率:
f=12/14=0.5MHz,其周期T=2μs.
定时计数值N=10000/2=5000=1388H
初始化程序:
INIT:
MOVDPTR,#7104H
MOVA,#88H
MOVX@DPTR,A
INCDPTR
MOVA,#53H;
40H+13H=53H
MOVDPTR,#7100H
MOVA,#0CDH
RET
1.ADC0809的片选地址是:
7000H~7007H
2.IN3通道测量程序:
M_IN3:
MOVR0,#30H;
置数据缓冲区指针
MOVDPTR,#7004H;
置IN3通道地址
MOVX@DPTR,A;
IN3接A/D,并启动A/D
JBP3.2,$;
为高,则继续查询
MOVXA,@DPTR;
数据读入A
MOV@R0,A;
存入40H单元
图中需要补5条线:
ALE,PSEN,WR,RD,数据总线D0~D7。
地址线A0~A7
为单片机数据总线
序号
器件型号
名称
功能
备注
1
8031
单片机
主控制器
2
74LS138
3线/8线译码器
片选地址译码
3
74LS373
8D锁存器
地址信号锁存
4
2764
EPROM
片外程序存储器
5
6264
SRAM
片外数据存储器
2764地址范围:
0E000H~0FFFFH
6264地址范围:
0C000H~0DFFFH
B卷
一、填空题(每空1分,共20分)
1.8051单片机片内有程序存储器_________字节、片内有数据存储器________字节。
有_____个16位定时/计数器、有_____个中断和1个全双工_____________。
2.在定时器工作方式0下,计数器的宽度为13位,如果系统晶振频率为3MHz,则最大定时时间为。
3.在MCS-51中,PC和DPTR都用于提供地址,但PC是为了访问存储器提供地址,而DPTR是为了访问存储器提供地址。
4.已知(A)=59H,执行指令INCA后,(A)=H,继续执行DAA后,(A)=H。
5.若(PSW)=18H,则选取的是第组通用寄存器。
其的地址范围从_____。
6.若系统晶振频率为12MHz,则机器周期μs。
7.单片机一共有四个物理存储器空间,分别是_______________、_____________、_____________和_____________。
8.A/D转换器芯片ADC0809中,既可作为查询的状态标志,又可作为中断请求信号使用的引脚信号是。
9.外部中断0(INT0)的中断入口地址为;
定时器1的中断入口地址为。
1.以下不是构成单片机的部件()。
(A)微处理器(CPU)(B)存储器(C)接口适配器(I/O接口电路)(D)打印机
2.十进制29的二进制表示为原码()。
(A)11100010(B)10101111(C)00011101(D)00001111
3.在中断服务程序中,至少应有一条()。
(A)传送指令(B)转移指令(C)加法指法(D)中断返回指令
4.在寄存器间接寻址方式中,指定寄存器中存放的是()
(A)操作数(B)操作数地址(C)转移地址(D)地址偏移量
5.对程序存储器的读操作,只能使用()
(A)MOV指令(B)PUSH指令(C)MOVX指令(D)MOVC指令
6.中断查询查询的是()
(A)中断请求信号(B)中断标志位(C)外部中断方式控制位(D)中断允许控制位
7.如在系统中只扩展一片6264,除应使用P0口的8条口线外,至少还应使用P2口的口线()
(A)2条(B)3条(C)4条(D)5条
8.在MCS-51中,定时/计数器在工作方式1下,计数器是由TH的全部8位和TL的8位组成,因此其计数范围是()
(A)1~8192(B)0/8191(C)0~8192(D)1~65536
9.SP的值是()
(A)当前指令前一条指令的地址(B)当前正在执行指令的地址
(C)当前堆栈的栈顶地址(D)当前堆栈的栈底地址
10.在CPU内部,反映程序运行状态或反映运算结果的特征寄存器是()。
(A)PC(B)PSW(C)A(D)SP
2.若不使用MCS-51片内程序存储器时,引脚EA必须接地。
4.当MCS-51上电复位时,堆栈指针SP=00H。
5.PC存放的是当前执行的指令。
6.MCS-51的特殊功能寄存器分布在60H~80H地址范围内。
7.MCS-51的5个中断源优先级相同。
8.DECDPTR()
9.CLRC()
10.MOVCA,@DPTR()
1.什么是中断和中断系统?
其主要功能是什么?
3.8051单片机指令系统按功能可分为几类?
4.ACALL和LCALL指令在功能上有何不同?
5.访问特殊功能寄存器和外部数据存储器应采用哪种寻址方式?
五、读程序(本题共10分,每小题5分,)
ORLA,#27H
ANLA,28H
XCHDA,@R0
CPLA
ADDCA,20H(A)=(CY)=
RLCA(A)=(CY)=
MULAB(A)=(B)=
1.有晶振频率为6MHz的MCS-51单片机,使用定时器0以定时方式在P1.0输出周期为500μs的矩形脉冲。
2.将ROM中1000H单元开始的100个单元的数据移到片外数据存储器2000H开始的连续单元。
3.试编程对8155进行初始化。
设A口为基本输入,B口为基本输出,C口为基本输出,并启动定时器/计数器按方式1工作,定时时间为1ms,定时器计数输入脉冲频率1MHZ。
5100H,PA口:
5101H,PB口:
5102H,PC口:
5103H,定时器低8位:
5104H,定时器高8位:
5105H)。
1.ALE、PSEN、WR、RD的功能:
标准答案及评分标准B卷
1.4K,128,2,5,串行口
2.32768μs
3.程序,数据
4.5AH,60H
5.3,18H~1FH
6.1μs
7.片内程序存储器,片内数据存储器,片外程序存储器,片外数据存储器
8.EOC
9.0003H,001BH
1.(D)2.(C)3.(D)4.(B)5.(D)
6.(B)7.(D)8.(D)9.(C)10.(B)
1.(对)2.(对)3.(对)4.(错)5.(错)
6.(错)7.(错)8.(错)9.(对)10.(错)
当CPU正在处理某件事情的时候,外部发生的某一事件请求CPU迅速去处理,CPU暂时中止当前的工作,转去处理所发生的事件,处理完该事件以后,再回到原来被中止的地方,继续原来的工作。
这种过程为中断,实现这种服务的部件称为中断系统。
功能:
①实时处理,能对外界异步发生的事件作出及时的处理。
②完全消除了CPU在查询方式中的等待现象,大大提高了CPU的工作效率。
③实现实时控制。
MCS-51单片机指令系统按功能可分为5类:
(1)数据传送指令
(2)算术运算指令
(3)逻辑运算和移位指令
(4)控制转移指令
(5)位操作指令
解:
8051单片机指令系统中ACALL和LCALL指令都是子程序调用指令,在实际应用中,可从寻址范围和指令长度两个方面来选择长调用指令LCALL和短调用指令ACALL。
长调用LCALL指令调用位于64KB程序空间的子程序,而短调用ACALL指令调用位于2KB程序空间范围的子程序。
ACALL指令代码长度为2个字节;
LCALL指令代码长度为3个字节。
访问特殊功能寄存器,应采用直接寻址、位寻址方式。
访问外部数据存储器,应采用寄存器间接寻址方式。
在0~255B范围内,可用寄存器R0、R1间接寻址:
MOVXA,@R0或MOVXA,@R1
MOVX@R0,A或MOVX@R1,A
在0~64KB范围内,可用16位寄存器DPTR间接寻址:
MOVXA,@DPTR
MOVX@DPTR,A
1.设(A)=38H,R0=28H,(28H)=18H,执行下列程序后,(A)=E7H
ADDCA,20H(A)=82H(CY)=0
RLCA(A)=04H(CY)=1
MULAB(A)=08H(B)=00H
六、编程题(本大题共20分,每小题10分)
解:
计数脉冲为:
(500μs/2μs)/2=125,定时器初值为:
8192-125=8067=1F83H=
=0001111110000011B
所以:
TH0=0FCH,TL0=03H
ORG0000H
SJMPSTART
ORG0030H
CLRTF0
CLRTR0
MOVTMOD,#00H;
使用方式0,其它方式也可以
MOVIE,#00H
MOVTH0,#0FCH;
如果其它工作方式初始值要更改
MOVTL0,#03H
SETBTR0;
启动定时器T0
JNBTF0,$
CLRTF0
CPLP1.0
SJMPLOOP
END
MV:
MOVDPTR,#1000H
MOVP2,#20H
MOVR0,#00H
MOVR7