单片机复习资料复习课程.docx
《单片机复习资料复习课程.docx》由会员分享,可在线阅读,更多相关《单片机复习资料复习课程.docx(15页珍藏版)》请在冰豆网上搜索。
单片机复习资料复习课程
一单项选择题
1、PSW中的RSI和RSO用来(A)
A、选择工作寄存器组B、指示复位
C、选择定时器D、选择工作方式
2、单片机上电复位后,PC的内容为(A)
A、0000HB、0003H
C、000BHD、0800H
3、在C51程序中常常把(D)作为循环体,用于消耗CPU时间,产生延时效果。
A、赋值语句B、表达式语句
C、循环语句D、空语句
4、在C51语句的if语句中,用作判断的表达式为(D)
A、关系表达式B、逻辑表达式
C、算术表达式D、任意表达式
5、使MCS-51系列单片机的定时器T0停止计数的语句是(A)
A、TR0=0B、TR1=0C、TR0=1D、TR1=1
6、MCS-51系列单片机串行口发送/接收中断源的工作过程是:
当串行口接收或发送完一帧数据时,将SCON中的(A),向CPU申请中断。
A、RI或TI置1B、RI或TI置0
C、RI置1或TI置0D、RI置0或TI置1
7、一个单片机应用系统用LED数码管显示字符“8”的段码是80H,可以判定该显示系统用的是(B)
A、不加反向驱动的共阴极数码管
B、加反向驱动的共阴极数码管或不加反向驱动的共阳极数码管
C、加反向驱动的共阳极数码管
D、以上都不对
8、按键开关的结构通常是机械弹性元件,在按键按下和断开时,触点在闭合和断开瞬间会产生接触不稳定,为清除抖动引起的不良后果常采用的方法有(C)
A、硬件去抖动B、软件去抖动
C、硬、软件两种方法D、单稳态电路去抖动方法
9、MCS-51单片机的复位信号是(A)有效
A、高电平B、低电平C、上升沿D、下降沿
10、单片机能够直接运行的程序是( D )
A、汇编源程序 B、C语言源程序 C、高级语言程序D、机器语言源程序
11、51单片机CPU是(C)位的单片机
A、16B、4C、8D、准16位
12、单片机应用程序一般存放在(B)中
A、RAMB、ROMC、寄存器D、CPU
13、51单片机的内部RAM中,可以进行位寻址的地址空间为(B)
A、00H~2FHB、20H~2FHC、00H~FFHD、20H~FFH
14、51单片机的程序计数器PC为16位计数器,其寻址范围是(D)
A、8KB、16KC、32KD、64K
15、在8051的输入输出口中,(A)输入输出端口执行在输出功能时没有内部上拉电阻
A、P0B、P1C、P2D、P3
16、51单片机存储器结构可分为(A)两大部分
A、DATA区和CODE区B、XDATA区和CODE区
C、SFR区和CODE区D、BDATA区和SFR区
17、MCS-51单片机在正常运行程序时RST引脚应为(B)
A、高电平B、低电平C、脉冲输入D、高阻态
18、8051单片机有(C)中断源
A、3个B、4个C、5个D、6个
19、关于指针变量的定义,下列正确的是(D)
A、charPXB、day*monthC、#define*PID、inta.*P.b
20、用MCS-51串行口扩展并行I/O口,串行口工作方式应选择(A)
A、方式0B、方式1C、方式2D、方式3
21、MCS-51单片机的堆栈区应建立在(A)
A、片内数据存储区的低128字节单元B、片内数据存储区
C、片内数据存储区的高128字节单元D、程序存储区
22、MCS-51单片机定时器工作方式0是指的(C)工作方式
A、8位B、8位自动重装C、13位D、16位
23、当需要在MCS-51单片机程序存储器中定义表格时,应在变量中申明(B)
A、DATAB、CODEC、P0D、SFR
24、MCS-51单片机片外扩展的数据存储器最大容量是(D)
A、4KBB、8KBC、32KBD、64KB
25、定义函数时,函数后面的圆括号中的变量名称为(D)
A、虚拟参数B、实际参数C、空参数D、形式参数
26、当MCS-51复位时,下面说法正确的是(A)
A、(PC)=0000HB、(SP)=00H
C、(SBUF)=00HD、(30H)=00H
27、要使MCS-51能够响应定时器T1中断、串行接口中断,它的中断允许寄存器IE的内容应是(A)
A、98HB、84HC、42HD、22H
28、扩展存储器时要加锁存器74LS373,其作用是(A)
A、锁存寻址单元的低8位地址B、锁存寻址单元的数据
C、锁存寻址单元的高8位地址D、锁存相关的控制和选择信号
29、在CPU内部,反应程序运行状态或反映运行结果一些特征的寄存器是(B)
A、PCB、PSWC、AD、SP
30、单片机在扩展外部芯片时,通常用(C)口线作为地址的高8位
A、P0B、P1C、P2D、P3
31、CPU完成一种基本操作所需要的时间称为(C)
A、晶振周期B、时钟周期C、机器周期D、指令周期
32、8031定时/计数器是否计满可采用等待中断的方法进行处理,也可通过对(C)的查询方法进行判断
A、OV标志B、CY标志C、中断标志D、奇偶标志
33、控制串行接口工作方式的寄存器是(C)
A、TCONB、PCONC、SCOND、TMOD
34、定时器工作方式寄存器各位值为00010000,表示使用的定时计数器工作方式为(A)
A、T1工作方式为方式1,T0工作方式为方式0
B、T1工作方式为方式0,T0工作方式为方式1
C、T2工作方式为方式1,T0工作方式为方式0
D、T1工作方式为方式1,T0工作方式为方式2
2、填空题
1、单片机8031定时计数器的工作方式是由方式寄存器TMOD[GATE,C/T,M1,M0,GATE,
C/T,M1,M0]各位状态决定的,当以定时器T1方式2对内定时,定时器T0不工作时其状态字应为20H,当定时器T1以方式1对内定时,同时定时器T0以方式2对外计数,其状态字应为16H。
2、单片机寻址区的单元地址是从20H单元到2FH单元,若某位地址是10H,它所在单元的地址应该是22H。
3、741s273是带清除端CLR的8D锁存器,只有在清楚端为高电平是才具有锁存功能。
4、单片机串行通信时,其波特率分为固定和可变两种方式,在波特率可变的方式中,可采用T1的溢出率来设定和计算波特率。
5、在只使用外部程序存储器时,单片机的EA管脚必须接地。
6、ADC0809的转换时钟一般为500KHz,可采用单片机的ALE信号,再经过二分频的方法获得。
7、中断源的允许是由中断允许(IE)寄存器决定的,中断源的优先级别是由中断优先级(IP)寄存器决定的。
8、串行口工作方式2为9位异步通信,若SMOD=0,FOSC=6MHz,则其相应波特率为93.75Kb/t。
9、程序计数器PC是一个16位的专用寄存器,用来存放下一条待执行指令的地址,且具有自动加1的功能。
10、C程序由函数构成,C程序总是从主程序开始执行。
3、简答题
1、在使用MCS-51单片机的定时器/计数器前,应对它进行初始化,其步骤是什么?
答:
(1)工作方式初始化;
(2)计数初值初始化;
(3)开总中断和源中断;
(4)开定时器;
2、8051单片机引脚有多少I/O线?
它们和单片机对外的地址总线和数据总有什么关系?
地址总线和数据总线各是几位?
答:
有32根I/O;口线,其中P2是地址总线的高8位,P0是数据总线和地址总线的低8位,地址总线有16位,数据总线有8位。
3、简述使用KeilC51开发工具开发软件的流程。
答:
(1)创建一个项目,从器件库中选择目标器件并配置工具软件的设置;
(2)用C语言或汇编语言创建源程序;
(3)用项目管理器生成用户的应用;
(4)修改源程序中的错误;
(5)调试链接后的应用;
4、中断服务函数的一般形式是什么?
其中m的含义是什么?
写出各中断源的中断号。
答:
中断服务程序的一般格式是:
Void函数名()interruptm[usingn]
外中断0、定时器0、外中断1、定时器1和串口的中断号依次分别为0,1,2,3,4,。
5、简述P3口的第二功能。
答:
P3口的第二功能从P3.0~P3.7分别为:
串行输入RXD,串行输出TXD,外中断0INT0,外中断1INT1,定时计数器T0、定时计数器T1、读WR、写RD。
6、如何定义二维数组?
二维数组的各元素的表示形式是什么?
答:
二维数组定义的一般形式:
数据类型数据名[常量表达式1][常量表达式2]={列表值}
各元素的表达形式:
数组名[第一维下标][第二维下标]
4、程序填空
1、要求与P0.0相连的发光二极管不停闪烁,当按下与P1.0相连的按钮............闪烁,完成下列程序。
#include
sbitP10=P1^P;
sbitP00=P0^0;
voidmain()
{
inti;
while
(1)
{
P00=~P00;//P0.0取反
for(i=30000;i>0;i--);
if(P1.0==0)
break;
}
2、已知单片机晶振频率为6MHz,试编程利用T0的方式1在P1.0引脚输出周期为500us的方波,按要求填写下列空格。
TMOD初始化为0x01
(1)#include
sbitPI.0=P1^0;
voidmain()
{
TMOD=0x01;
TH0=(216-125)/256;
TL0=(216-125)%256;
TR0=1;
EA=1;//开总中断
ET0=1;
#include
sbitPI.0=P1^0;
unsignedcharsdata=0xfe;
voidmain()
{
SCON=0;
P1.0=0;//关闭并行输出
SBUF=sdata;//开始串行输出
EA=1;//开总中断
ES=1;//开源中断
While
(1);
}
Voidisr_scrial()interrupt4
{
inti;
P10=1;
for(i=10000;i>0;i--);
sdata<<=1;//sdata左移一位
sata1=1;
if(sdata==0xff);
sdata=0xfe;
P10=0;
SBUF=sdata;
5.写出串口工作方式0接收时的串口控制字(P107)
解:
方式0时:
SM0、SM1=(00)
方式0时SM2必须为(0)
允许接收REN=
(1)
方式0时为8的数据,TB8、RB8=(不使用)
接收前,发送中断标志TI=0
接收中断标志RI=0
所以控制字SCON=(00010000)
6、某单片机系统应用8255开展I/O口,设其A口为方式1输入,B口为方式1输出,C口余下的引脚用于输出,其初始化程序如下,写出蓝色部分的含义。
#include
#include
#defineCOM8255XBYTE[0xe003]//11100011
voidinit8255(void)
{
COM8255=0xb4;//10111000
}
7、分析下列程序写出程序运行结果
#include
voidmain()
inti;
for(i=0;i<3;i++)
Switch(i)
{
case0;printf(“%d”,i);
case2;printf(“%d”,i);
default;printf(“%d”,i);
}
结果为012
五、
1、根据图4完成以下问题(p262)
图中的电路DAC0832的工作方式是单缓冲方式;DAC0832的地址是7fffh。
。
2、根据以下程序计算出输出波形周期并画出其波形
2、根据以下程序计算出输出波形周期并画出其波形
六、按要求编写程序
1、p1.0~p1.3接四个按钮,p1.4~p1.7接四个发光二级管,现要求在一般情况下,4个发光二级管全亮,如果只按S1时D1灭,只按S2时D3灭,以此类推,画出包括单片机最小系统电路在内的电路原理图并编程实现。
2.DAC0832工作于单缓冲方式时,于单片机连接实现锯齿波输出,要求晶振为12MHz,电路图并编写程序实现。
接之前上面的4题:
4、如图所示电路,如需要二极管D1、D4亮,P0口的数据应该为多少?
写出二进制数并将其转换成16进制。
(二极管为共阳极接法)
答案应该是:
11110110B;0F6H;0XF6