单片机复习资料.docx
《单片机复习资料.docx》由会员分享,可在线阅读,更多相关《单片机复习资料.docx(22页珍藏版)》请在冰豆网上搜索。
单片机复习资料
基础题
一、选择题
1.采用补码形式表示一个带符号8位二进制数,它能表示的整数范围是D。
A.-127~+128B.-127~+127C.-128~+128D.-128~+127
2.下列带符号数中最大的数为D。
A.10010010BB.89HC.81HD.79H
3.下列几种中断优先级的次序中,为可实现的次序(可选两个答案)。
A.
T1,
T0,串口B.串口,T0,
,T1,
C.T0,
T1,
串口D.串口,
T0,
T1
4.若PSW的内容为18H,那么执行下列三套指令的最后一条指令的目标地址是否相等。
1)MOV18H,A2)MOVR0,A3)MOVR0,#18H;MOV@R0,A
A.相等B.不相等
5.一般来讲8031最大能扩展外部程序存储器的容量为。
A.256KB.512KC.16KD.64K
6.8031外接晶振频率为12MHz,其计数器允许输入外部脉冲的最高频率为A。
A.0.5MHzB.1MHzC.6MHzD.12MHz
7.使用8051时,
引脚应。
A.接低电平B.接高电平C.空D.作为I/O输入口
8.MCS-51单片机中,决定程序执行顺序的寄存器是。
A.PSWB.DPTRC.PCD.SP
9.8031在扩展外部数据存储器后,还有条通用I/O线可供用户使用。
A.16B.32C.14D.8
10.指令AJMP的跳转范围是。
(A)256(B)1KB(C)2KB(D)64KB
11.各中断源发出的中断请求信号,都会标记在MCS-51SFR中的中。
(A)TMOD(B)TCON、SCON(C)IE(D)IP
二、填空题
1.8051有5个中断源,可分为2个优先级。
上电复位时中断源的优先级别最高。
2.8031上电复位时PC=00H,SP=H;而工作寄存器则缺省采用第区,这组寄存器的地址范围是从H到H。
3.CPU与外存或I/O接口连接的系统总线通常由、、三种总线组成。
4.8031内部RAM共分为个功能区,其高端128个字节的地址空间称为区,但其中仅有个字节有实际意义。
5.74LS373芯片通常作为之用;ADC0809通常作为之用;DAC0832通常作为之用。
6.74LS138是具有3个输入译码器芯片,其输出作为片选信号时,最多可以选中块芯片。
三、读程序、编程、与问答题
1.设(A)=0FH,(R0)=30H
内部RAM(30H)=0AH,(31H)=0BH,(32H)=0CH请写出在执行各条列指令后,所示单元的内容。
MOVA,@R0;(A)=
MOV@R0,32H;(30H)=
MOV32H,A;(32H)=
MOVR0,#31H;(R0)=
MOVA,@R0;(A)=
2.用数据传输指令来完成下列要求的数据传送。
(1)R0内容输出到R1;
(2)外部RAM20H单元的内容传送到A;
(3)内部RAM30H单元的内容送到R0;
(4)外部RAM30H单元的内容送内部RAM20H;
(5)外部RAM1000H单元的内容送内部RAM20H;
(6)程序存储器ROM2000H单元的内容送到R1;
(7)程序存储2000H单元的内容送内部RAM20H;
(8)程序存储器2000H单元的内容送外部RAM30H;
(9)程序存储2000H单元的内容送外部RAM1000H。
3.分析下面个程序段中指令的执行结果
(1)MOVA,#30H
MOVB,#0AFH
MOVR0,#31H
MOV30H,#87H
XCHA,R0;(A)=31H;(R0)=87H
SWAPA;(A)=13H
(2)MOVA,#83H
MOVR0,#47H
MOV47H,#34H
ANLA,#47H;(A)=03H
ORL47H,A;(A)=03H;(47H)=37H
XRLA,@R0;(A)=34H
4.编写程序,把外部RAM1000H~10FFH区域内的数据逐个搬到从2000H开始的区域。
5.设计一个循环灯程序,如下图所示,使这些发光二极管每次只点亮一个,依次一个一个地点亮,循环不止。
6.什么是中断?
中断与子程序有何区别?
8031单片机提供了几个中断源?
有几级中断优先级别?
各中断源的中断服务程序的入口地址是多少?
简述51单片机响应中断的过程。
7.简述51单片机定时器工作方式1。
8.已知单片机系统晶振频率为6MHz,试编写程序,用定时器T0,工作方式2,使P1.0输出如下周期波形。
9.在8031扩展系统中,外部程序存储器和数据存储器共用
16位地址线和8位数据线,为什么两个存储器的地址不会发生冲突?
10.8031如只外接了程序存储器,实际上还有多少根I/O口线可供用户使用?
如只外接了数据存储器,实际上还有多少根I/O口线可供用户使用?
并说明原因。
11.试将8031单片机外接一片27128,两片62128扩展成一个应用系统:
画出扩展系统的电路连接图,并指出RAM的地址分布。
12.根据图示电路,设计一个程序,开机后LED显示0,以后每按一次键,显示的数字加1,显示9后,再回到0,并照此循环。
13.什么是单片机?
MCS51中8031有哪些资源?
14.“由于LJMP和SJMP都是转移指令,所以程序中的LJMP指令都可以用SJMP指令来代替。
”请问这种说法是否正确,为什么?
15.89c51单片机的内部数据存储器可以分为几个不同区域?
各有什么特点?
16.什么叫串行通讯、波特率,串口通讯中两条线各起什么作用?
8031串口有几种工作方式?
74LS164功能?
如何用它作LED显示,画出电路图。
基本习题参考答案:
4.MOVDPL,#00H
MOVR7,#0FFH
LOOP:
MOVDPH,#10H
MOVXA,@DPTR
MOVDPH,#20H
MOVX@DPTR,A
INCDPL;此题中DPL可公用
DJNZR7,LOOP
END
5.MOVA,#0FEH;0FEH=11111110,
LOOP:
MOVP1,A;只有一个LED亮
LCALLDEL200;延时
RLA;A左移一位
SJMPLOOP
DEL200:
MOVR7,#XXH;根据晶振计算其值
DEL2:
MOVR6,#XXH;根据晶振计算其值
DEL1:
DJNZR6,DEL2
DJNZR7,DEL1
RET
8.ORG0000H
LJMPMAIN
ORG000BH
LJMPPULSE
ORG0030H
MAIN:
MOVTMOD,#02H;T0,方式2
MOVTH0,#0EC;延时40us
MOVTL0,#0ECH
SETBET0
SETBEA;开中断
SETBTR0;启动定时
SJMP$;等待中断
PULSE:
CPLP1.0;中断服务程序
RETI
END
10.答:
使用外部程序存储器时,P0口和P2口要作数据总线和地址总线,所以只有P1口和P2口可用作I/O口,共16条I/O线。
在使用外部数据存储器时,除了占用P0和P2之外,还需要用
和
控制线,而这两条线就是P3口中的两条:
P3.6和P3.7,所以这时只有14条I/O可用使用。
当然,P2口的8条线并不一定全部占用,但即使如此,这几条线也不能再作I/O线,而只能系统扩展时再用。
12.ORG0030H
DISPLAY:
MOV20H,#00H;20H存放要显示的数
KEYIN:
ACALLDIS
SETBP3.3;置P3.3为1
MOVC,P3.3;读键
JNCPROKEY;P3.3为0,有键按下
SJMPKEYIN;P3.3为1,无键按下
PROKEY:
INC20H;有键按下,显示数字+1
CJNE20H,#0AH,KEYIN
MOV20H,#00H
DIS:
MOVA,20H
MOVDPTR,#TAB;表首地址
MOVCA,@A+DPTR;查表
MOVP1,A;显示
RET;子程序返回
ORG0100H;段码表
TABLE:
DBxxH,……
END
15.答:
89c51内部数据存储器共有256个字节单元(地址为00H-0FFH)。
其中前32个单元,即00H-01F称为工作寄存器区,安排了4个工作寄存器组,每组8个,都用R0-R7表示。
并通过PSW中的RS1和RS0来选区。
20H-2FH为可位寻址区,单元中的每一位都可以进行独立的位操作。
30H-7FH是可供用户使用的数据缓冲区。
80H-0FFH为特殊功能寄存器区,共有21个特殊功能寄存器在此区,没有被特殊功能寄存器占用的单元不能当作一般的RAM使用。
21个特殊功能寄存器的地址凡是能被8整除的也可以进行位寻址。
模拟试题一
一、选择填空
1.采用补码形式表示一个带符号8位二进制数,它能表示的整数范围是D。
A.-127~+128B.-127~+127C.-128~+128D.-128~+127
2.下列带符号数中最小的数为A。
A.10010010BB.89HC.91HD.79H
3.下列几种中断优先级的次序中,C为可实现的次序。
A.
T1,
串口,T0B.串口,T0,
,T1,
C.
T0,T1,串口D.串口,T1,
T0,
4.若PSW的内容为18H,那么执行下列三套指令18H中内容是否相等A。
1)MOV18H,A2)MOVR0,A3)MOVR0,#18H;MOV@R0,A
A.相等B.不等
5.一般来讲8031最大能扩展外部程序存储器的容量为D。
A.256KB.512KC.16KD.64K
6.8031外接晶振频率为6MHz,其计数器允许输入外部脉冲的最高频为A。
A.0.25MHzB.0.5MHzC.6MHzD.1MHz
7.使用8051时,
引脚应B。
A.接低电平B.接高电平C.空D.作为I/O输入口
8.MCS-51单片机中,决定程序执行顺序的寄存器是C。
A.PSWB.DPTRC.PCD.SP
9.8031在扩展外部程序存储器后,最多有C条通用I/O线可供用户使用。
A.14B.32C.16D.8
10.用补码表示十进制数-89为B。
A.89HB.A7HC.A9HD.DAH
二、判断改错(正确的划√;不正确的划×,并改正错误,有下划线的部分不得修改)(共10分,每小题2分)
1.执行MOVX@DPTR,A时,P2口输出高8位数据地址,执行MOVX@R0,A时,P2口不输出高8位数据地址。
2.执行INCA与执行ADDA,#01H是完全等价的。
3.8031单片机有5个中断源,用户只能使用芯片上的外部中断请求输入引脚。
4.P1,P2,P3口的输出缓冲器可以驱动8个LSTTL电路,P0口的输出缓冲器可以驱动4个LSTTL电路。
5.若8031仅外接了16K的程序存储器,P2口还剩2根引脚一般也可作通用I/O口使用。
三、阅读以下程序,填写运行结果
1.ORG0100H
SETBC
MOVR0,#00H
DECR0
DECR0
END
运行后:
(Cy)=________
(R0)=________
2.填写运行过程中的结果
ORG1000H
MOVA,#83H
MOVR0,#27H
MOV27H,#34H
MOVA,@R0;(A)=________
CPLA;(A)=________
MOV@R0,A;(27H)=________
ORLA,#27H;(A)=________
END
四、简答题
1.何为中断?
说明中断与调用子程序的最主要异同点。
简要说明8031响应中断的过程。
按8031的中断优先权从高到低的顺序写出所有中断源及其中断入口地址。
2.8031在使用外部数据存储器时,最多还有多少条通用I/O线可供用户
使用?
并说明原因。
3.什么叫单片机?
8031芯片本身主要有那些硬件资源。
五、按图1编写一程序。
要求:
按S1,只有红灯亮;按S2,只有黄灯亮;按S3,只有绿灯亮。
图1:
六、根据图2,利用定时器和中断方式,做一个在共阳极的两个LED上显示
00~99(每次增加1秒)反复循环的秒钟(要求:
一定要利用定时器和中断)。
模拟题一参考答案:
一、选择题
1.D;2.A;3.c;4.A;5.d;6.A;7.B;8.C;9.C;10.B;
二、判断改错(正确的划∨;不正确的划×,并改正错误,有下划线的部分不得修改)
1.×;执行MOVX@DPTR,A时,P2口输出高8位数据地址,执行MOVX@R0,A时,P2口仍然输出高8位数据地址。
2.×;执行INCA与执行ADDA,#01H是不完全等价的。
3.×;8031单片机有5个中断源,用户可以使用5个内外部中断请求。
4.×;P1,P2,P3口的输出缓冲器可以驱动4个LSTTL电路,P0口的输出缓冲器可以驱动8个LSTTL电路。
5.×;若8031仅外接16K的ROM,P2口还剩2根引脚,但不能作通用I/O使用。
三、阅读以下程序
1)(Cy)=1
(R0)=FEh
2)(A)=34h
(A)=CBh
(27H)=CBh
(A=)EFh
四、简答题
1.答:
CPU为响应一些突发事件(如外部引脚变为低电平、定时器/计数器溢出、串行口缓冲器满或空等),停止执行当前程序,转去执行相应的程序的过程。
子程序是预先安排好的,中断是随机发生的。
其共同点是停止执行当前程序,转去执行相应的程序。
8031在每一个机器周期顺序检查每一个中断源,并按优先顺序处理所有被激活了的中断请求,然后根据一定条件进入相应的中断入口地址执行中断服务程序,遇到RETI时则返回到原来的程序中。
INT00003H;T0000BH;INT10013H;T1001BH;SP0023H
2.答:
使用外部程序存储器时,P0口和P2口要作数据总线和地址总线,所以只有P1口和P2口可用作I/O口,共16条I/O线。
在使用外部数据存储器时,除了占用P0和P2之外,还需要用
和
控制线,而这两条线就是P3口中的两条:
P3.6和P3.7,所以这时只有14条I/O可用使用。
当然,P2口的8条线并不一定全部占用,但即使如此,这几条线也不能再作I/O线,而只能系统扩展时再用。
3.答:
单片机是在一块硅片上集成了中央处理器(CPU),存储器(RAM、ROM),和各种输入、输出接口(计数器、并行口、串行口等),在一块芯片上具有一台计算机的主要功能。
8031主要有256个字节的内部RAM;32根IO口,但P0,P2只能作地址和数据总线;2个外部中断,2个计数器/定时器;一个双工串行口等。
五、略,编程题无唯一的答案,按考生的具体答案打分。
六、略,编程题无唯一的答案,按考生的具体答案打分。
七、略,见实验指导书。
模拟试题二
一、填空题(30分)(每空1分)
1)8051系列单片机中,片内数据存储区一共分为4个区,这4个区分别为:
; ; ; 。
2)8K字节的存储器共有地址线 根。
3)3—8译码器74LS138在全译码寻址方式中,译码器的输出端通常与单片机接口芯片的 端连接。
4)当单片机接到外设的中断申请时,单片机响应中断,单片机将暂停主程序的执行,转去执行 程序,执行完 ,再执行 程序。
5)8051单片机的中断源有:
, , , , 。
6)单片机P0口为 总线和 总线的复用端口,74LS373与P0口连接,其输出线作为系统的 ,74LS373的G端与单片机 连接。
7)已知程序执行前有A=01H,SP=52H,(51H)=FFH,(52H)=FFH。
下述程序执行后:
POP DPH
POP DPL
MOV DPTR,#3000H
RL A
MOV B,A
MOVC A,@A+DPTR
PUSH A
MOV A,B
INC A
MOVC A,@A+DPTR
PUSH A
RET
ORG 3000H
DB 10H,80H,30H,80H,50H,80H
请问:
A=(),SP=(),(51H)=(),(52H)=(),PC=()。
9)如果DPTR=507BH,SP=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:
POP DPH
POP DPL
POP SP
则:
DPH=(),DPL=(),SP=()
10)假定A=83H,(R0)=17H,(17H)=34H,执行以下指令:
ANL A,#17H
ORL 17H,A
XRL A,@R0
CPL A
后,A的内容为()。
二、简答题(20分)
1)单片机的复位(RST)操作有几种方法,复位功能的主要作用。
(5分)
2)编制中断服务程序时,为什么在主程序的初始化程序中,必须设置SETB EA这条指令,以及在中断服务程序中为什么通常需要保护现场和恢复现场?
(10分)
3)中断服务子程序返回指令RETI和普通子程序返回指令RET有什么区别?
(5分)
三、判断下列指令的正误:
(10分)
1)MOV 28H,@R2 ( )
2)DEC DPTR ( )
3)INC DPTR ( )
4)MOV C,30H ( )
5)CPL R5 ( )
6)MOV R0,R1 ( )
7)PUSH DPTR ( )
8)MOV F0,C ( )
9)MOV F0,ACC.3 ( )
10)RLC R0 ( )
四、编程题(40分)
1、编制中断初始化程序,外部中断0(跳变触发)、定时器0开中断(中断允许);外部中断1、定时器1关中断(不允许中断)。
(5分)
2、编程将片内RAM40H单元开始的16个数传送到片外RAM2000H开始的单元中。
(5分)
3、使用定时器中断方式编程实现从P1.0引脚上输出一个周期为1s的方波。
(系统时钟为6MHz)(15分)
4.根据硬件图计算ADC0809的8个模拟量输入通道的地址,并编写程序实现8个通道的模拟量循环采集,采集结构存放至片内RAM40H~47H中。
(15分)
模拟试题二参考答案
一、填空题(每空1分)
1、工作寄存器区、位寻址区、数据缓冲区、特殊功能寄存器区
2、13
3、片选端
4、中断服务程序,中断服务程序,主程序
4、外部0中断,定时器T0中断,外部1中断,定时器T1中断,串行口通讯中断
5、数据,地址,地址,ALE
6、中断服务,中断服务,主
7、30H,50H,80H,30H,3080H
8、3CH,5FH,4FH
9、0CBH
二、简答题
1、单片机的复位操作方式有:
1、上电复位;2、手动复位。
(2分)
复位功能的主要作用是:
复位时,PC初始化为0000H,使MCS-51单片机从0000H开始执行程序。
(3分)
2、中断允许寄存器IE中有1个总的开关中断控制位EA,当EA=0时,所有的中断请求被屏蔽,CPU不接受任何中断;只有当EA=1时,CPU才开放中断。
所以主程序的初始化程序中,必须设置SETB EA这条指令。
(5分)
现场是指中断时刻单片机中某些寄存器和储存器单元中的数据或状态,为了使中断服务程序的执行不破坏这些数据和状态,以免在中断返回后影响主程序的运行,因此要这些数据和状态送入堆栈保存,这就是现场保护。
中断结束后,在返回主程序谦,则需要把保存的现场数据和状态从堆栈中弹出,以恢复那些寄存器和存储器单元中的原有内容,这就是现场恢复。
(5分)
3、中断服务子程序返回指令RETI和普通子程序返回指令RET的区别在于:
RETI指令在返回的同时清除相应的优先级触发器,以允许下次中断。
(5分)
三、判断下列指令的正误:
(10分)
1、 ×
2、 ×
3、 √
4、 √
5、 ×
6、 ×
7、 ×
8、 √
9、 ×
10、×
四、编程题
1、编制中断初始化程序,外部中断0(边沿触发)、定时器0开中断(中断允许);外部中断1、定时器1关中断(不允许中断)。
(5分)
解:
SETBEX0
SETBIT0
SETBET0