单片机考试复习题及答案Word文件下载.docx
《单片机考试复习题及答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《单片机考试复习题及答案Word文件下载.docx(17页珍藏版)》请在冰豆网上搜索。
19、支持写入单片机或仿真调试的目的程序的文件格式是〔D〕
A、*.ASMB、*.CC、*.EXED、*.HEX
20.MCS_51单片机的复位信号是〔A〕有效。
A高电平B低电平C脉冲D下降沿
21.AT89S51单片机是〔B〕单片机。
A4位B8位C16位D32位
22.51单片机五个中断源的默认优先权由高到低排队正确的选项是〔C〕
A串行口、定时计数器0、定时计数器1、外中断0、外中断1
B串行口、外中断0、定时计数器0、定时计数器1、外中断1
C外中断0、定时计数器0、外中断1、定时计数器1、串行口
D外中断0、外中断1、定时计数器0、定时计数器1、串行口
23.定时/计数器T0的M1M0=00时,定时计数器的最大计数值是〔B〕
A65536B8192C256D128
24.以下选项中不是C51编程是使用的的关键字的是〔B〕
AintegerBdefineCbreakDsbit
25.定时/计数器中段发生在〔D〕
A送入初始值B启动定时/计数器
C定时/计数器停顿时D计数器满量程时
26.89C51定时/计数器共有四种操作形式,由TMOD存放器中M1/M0的状态决定,当M1/M0的状态为01时,定时/计数器被设定为〔A〕
A13位定时/计数器
B16位定时/计数器
C自动重装8位定时/计数器
DT0为2个独立的8位定时/计数器
27.8051单片机的一个机器周期包含〔C〕个时钟周期
A6B2C12D9
28.单片机的定时器/计数器工作方式1是〔D〕
A8位计数器构造B2个8位计数器构造
C13位计数器构造D16位计数构造
29.C51中一般char型变量占用〔A〕字节存储。
A一个B两个C三个D四个
30.函数_crol_()包含在头文件〔C〕中
ABCD
31.十进制数67在C语言中表达为十六进制数形式为〔C〕
A0x52B0x67C0x43D0x34
32.八段共阴极数码管显示0的字段码是〔A〕
A0x3fB0xc0C0x00D0xff
33、MCS-51单片机的51子系列为用户提供了(B)个硬件中断源
A、4B、5C、6D、7
34、以下选项中()是定时/计数器T0的中断允许控制位
A、EABB、ET0C、IT0D、IE0
B)
A、7542HB、7542C、75.42H
36、所谓CPU是指(A)
A、运算器和控制器B、运动器和存储器C、输入输出设备D、控制器和存储器
37、单片机能直接运行的程序叫(C)
A、源程序B、汇编程序C、目的程序D、编译程序
38、8031单片机假设晶振频率为fosc=12MHZ,那么一个机器周期等于(C)us
A、1/12B、1/2C、1D、2
39、8051单片机定时器工作方式0是指的(C)
A、8位B、8位自动重装C、13位D、16位
40、用8031的定时器T1作定时方式,用形式1,
那么工作方式控制字为(C)
A、01HB、05HC、10HD、50H
41、8051单片机有(B)个中断优先级
A、1B、2C、3D、4
42、以下(D)型号的单片机有T0和T2三个16位的定时/计数器
A、8031B、8051C、AT89C51D、AT89C52
43、在以下存放器中,与定时/计数控制无关的是(C)
A、TC0NB、TM0DC、SC0ND、IE
44、七段共阴极数码管的a~g段分别接P0.0~P0.6,那么要显示字符“H〞,P0口应送段码为(D)
A、67HB、6EHC、90HD、76H
45、N位LED显示器采用动态显示方式时,需要提供的I/0线总数是(A)
A、8+NB、8*NC、ND、8*N+1
46、定时/计数器有4种工作形式,它们由(B)存放器中的M1/M0状态决定的
A、TC0NB、TM0DC、PCOND、SC0N
47、以下能正确定义一维数组的选项是(B)
A、inta[5]={0,1,2,3,4,5};
B、chara[]={0,1,2,3,4,5};
C、chara={“A〞,“B〞,“C〞};
D、inta[5]=“0123〞;
48、MCS-51单片机上电复位的信号是(D)
A、下降沿B、上升沿C、低电平D、高电平
49、可以将P1口的低4位全部置高电平的表达式是(A)
A、P1&
=0x0fB、P1|=0x0fC、P1^=0x0fD、P1^=0x0f
50、主题为12MHZ的单片机,它的机器周期为(C)
A、1/12微秒B、0.5微秒C、1微秒D、2微秒
51、定时/计数器的定时是指(C),定时/计数器的计数是指(B)
A、对时间计数B、外部事件定时C、内部时钟计数D、尾部事件计数
52、以下程序段(A)
X=1;
dox=x*x;
while(!
x);
A、是死循环B、循环执行两次C、循环执行一次D、有语法错误
53、单片机C51中用关键字(C)来改变存放器组
A、interruptB、unsignedC、usingD、reentrant
54、一个C语言程序总是从(C)开场执行的
A、书写顺序的第一函数B、书写顺序的第一条执行语句
C、主函数mainD、不确定
判断题
1、所有定义在主函数之前的函数无需进展声明。
F
2、所谓机器周期是指CPU执行一条指令所需要的时间。
F指令周期一般由假设干个机器周期组成
3、定时/计数器工作于定时方式时,是通过89C51片内振荡输出经12分频后的脉冲进展计数,直至溢出为止。
T
4、假设一个函数的返回类型为void,那么表示其没有返回值。
5、#include<
reg51.h>
与#include“reg51.h〞是等价的。
6、命令语句if(x=10){P0=0xff};
表达的含义是当x的值为10时,才执行P0=0xff的命令。
7、使用高速的24MHZ或33MHZ单片机代替原有的12MHZ或16MHZ单片机,可以方便地将运行速度进步一倍。
8、bit和sbit都是用来定义位变量,所以两者之间没有区别,可以随意交换使用。
9、单片机外部中断是只有用低电平触发。
10、单片机C语言程序设计中可以不分大小写。
11、单片机C语言程序设计中,用关键字bit定义单片机的端口。
F
12、五个中断源中优先级是高的是外部中断0,优先级是低的串行口中断。
13、单片机只能做控制用,不能完成算数运算。
14、各中断源发出的中断恳求信号,都会标记在MCS-51系统中的TC0N中。
15、外部中断1,中断恳求信号由P3.3输入。
16、十进制数89的BCD码可以记为89H。
17、单片机的复位有上电自动复位和按钮手动复位两种,当单片机运行出错或进入死循环时,可按复位键重新启动。
18、MCS-51单片机的两个定时器的均有两种工作方式,即定时和计数工作方式。
19、启动定时器工作,可使用SETBTRi(i=0,1)启动。
20、定时/计数器工作于计数方式时,是通过8051的P3.4和P3.5对外部脉冲进展计数,当遇到脉冲下降沿时计数一次。
填空题
1、两位十六制数最多可以表示256个存储单元。
2、89C51具有64KB的字节程序空间寻址才能。
3、当系统处于正常工作状态且振荡稳定后,在RST引脚上加一个高电平并维持两个个机器周期,可将系统复位。
4、单片机89C51的时钟频率为6MHZ,假设要求定时1ms,定时/计数器工作于形式1,其定时/计数器的初值为FE0CH。
5、函数是C语言的根本单位。
6、定时/计数器T0作为计数器使用时,其计数频率不能超过晶振频率fosc的1/24。
7、单片机C51语言源程序从main函数开场执行。
每个C语言程序必须有一个且只能有一个main函数。
C51程序的函数由函数首部和函数体两局部构成。
8、C51定义可寻址位,使用关键字为sbit,定义特殊功能存放器当中的某位用关键字sfr。
9、修饰符interruptm中m的取值为0对应的中断情况是外部int0中断。
10、8051子系列单片机片内有两个16位的定时/计数器。
11、LED数码管的显示方式有共阴和共阳两种。
12、变量a1=0x92,if(a1)结果是(真/假)。
13、运算符号“=〞用于赋值,符号“==〞用于恒等于。
14、变量tmp=0x15,经运算tmp>
>
=4;
后的tmp值为21。
15、液晶LCD1602模块,实际显示区有2行,每行显示16个5*7点阵的ASICII字符。
16、当系统处于正常工作状态且振荡稳定后,在RST引脚上加一个高电平并维持两个个机器周期,可将系统复位。
17、中断恳求信号有边缘触发和电平触发两种触发方式。
18.当系统处于正常工作状态且振荡稳定后,在RST引脚上加一个高电平并维持〔两〕个机器周期,可将系统复位。
19.中断恳求信号有电平触发和脉冲触发两种触发方式。
20.在8051单片机中,如采用6MHZ晶振,一个机器周期,一个周期为〔2〕us。
21.8051单片机有5个中断源,2级中断优先级别。
22.MCS-51单片机中有2个16位的定时/计数器,可以被设定的工作方式有4种。
23.消除键盘抖动的常用两种方法,一是采用硬件去抖电路,用根本RS触发构成;
二是采用软件去抖程序,既测试有键输入时需延时5-10ms后再测试是否有键输入,此方法可判断是否有键抖动。
24.计算机的系统总线有数据局总线、系统总线、和控制总线。
25.8051有两个16位可编程定时/计数器,其中定时作用是指对单片机对内部晶振频率内部时钟脉冲进展计数,而计数器的作用是指对单片机外部事件。
26.1只共阴极LED显示器,其中a笔端为字型代码的最低位,假设需显示数字5,它的字型代码应为0x6d;
假设需显示字符‘A’,其字型代码为0x77。
27.完好的中断处理的过程包括三个阶段,即中断恳求、中断响应、以及中断处理。
28.MCS-51内有5个中断源,按其自然优先级从高到低的排列顺序为外部0
、
定时器/计数器0、
外部1
定时器/计数器1
串口,它们所对应的c51中断入口序号分别为0、1、2、3、4。
29.8051单片机一个字节所能表示的无符号数的范围为00-255,而带符号所能表示的无符号数的范围为-128-127。
简答题
1、什么叫中断?
设置中断有什么优点?
使CPU暂停运行原来的程序而应更为急迫事件的需要转向去执行为中断源效劳的程序,待该程序处理完后,再返回运行源程序
优点:
可以进步cpu工作效率。
具有故障处理功能。
实现时分操作,控制多个外设同时工作。
2、AT89S51采用6MHz的晶振,写出用定时器方式1时产生2ms定时中断的初值计算过程并确定其初值〔16进制数〕是多少?
对于12MHz的时钟,51单片机的机器周期就为
1/(12000000/12)=1us
那么对于定时1ms,需要定时器计数的个数就为
1ms/1us=1000
那么,对于方式1,需要装入的时间常数就为
2^16-1000=64536——0xfc18
3、简述中断的概念。
4、什么是单片机?
简述单片机的应用领域。
单片机又称单片微控制器,是把一个计算机系统集成到一个芯片上。
1、智能产品2、智能仪表3、测控系统4、数控系统
5、什么叫中断?
中断有什么特点?
中断:
使CPU暂停运行原来的程序而应更为急迫事件的需要转向去执行为中断源效劳的程序,待该程序处理完后,再返回运行源程序。
中断特点:
(1)中断类型码或者由指令给出.或者是预先规定的;
(2)不执行INTA*(中断应答)总线周期;
(3)除单步中断外,任何内部中断都无法制止;
(4)除单步中断外,任何内部中断的优先级都比外部中断高。
完好中断的根本功能:
(1)响应中断、处理中断与返回;
〔2〕实现优先权排队;
〔3〕高级中断源能中断低级的中断处理
6、单片机用内部定时器方法产生频率为100KHz等宽距形波,假设单片机的晶振频率为12MHz,请编程实现。
voidTimer0Init(void)
{
AUXR|=0x80;
//定时器时钟1T形式
TMOD&
=0xF0;
//设置定时器形式
TMOD|=0x01;
TL0=0xA8;
//设置定时初值
TH0=0xFD;
TF0=0;
//去除TF0标志
ET0=1;
//中断使能
TR0=1;
//定时器0开场计时
}
//定时器0中断效劳函数
bitflag=0;
//用于电平翻转
voidtimer0_isr(void)interrupt1
P1.7=~flag;
//电平翻转
}
7.利用T0的工作形式0产生定时,在P1.0引脚输出周期为10ms的方波。
设晶振频率fosc=12MHz.编程实现其功能〔分别采用查询方式和中断方式〕
中断:
#include<
reg52.h>
//52单片机头文件
#include<
intrins.h>
//包含有左右循环移位子函数的库
#defineuintunsignedint//宏定义
#defineucharunsignedchar//宏定义
sbitP1_0=P1^0;
uchartt;
voidmain()//主函数
{
TMOD=0x01;
//设置定时器0为工作方式1
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
//开总中断
ET0=1;
//开定时器0中断
TR0=1;
//启动定时器0
while
(1);
//等待中断产生
voidtimer0()interrupt1
TL0=(65536-50000)%256;
tt++;
if(tt==100)
{
tt=0;
P1_0=~P1_0;
}
8.如何消除键盘的抖动?
消除键盘抖动的常用两种方法,一是采用硬件去抖电路,用根本RS触发构成;
二是采用软件去抖程序
9.在使用8051的定时器/计数器前,应对它进展初始化,其步骤是什么?
TMOD选择定时器以及定时器工作形式THnTLn设定初始值
TRn开场运行
10.P3口接有发光二极管的阴极,编写程序使发光二极管闪烁三次。
11.共阳极数码管,写出0~9的显示编码。
0:
0xc01:
0xf92:
0xa43:
0xb04:
0x995:
0x926:
0x827:
0xf88:
0x809:
0x90
12.89C51单片机晶振fosc=6MHz,T0中断工作在形式1,最大定时的时长是多少?
方式0:
方式1:
方式2:
8位重装定时器,所以定时时间范围最大为2^8*2us=512us
12mhz
12MHz时一个指令周期为1μs。
形式0是13位计数器,因此最大定时时长2的13次方=8192μs。
形式1是16位计数器,因此最大定时时长2的16次方=65536μs。
形式2是可重载8位计数器,单次定时时长2的8次方=256μs
13.focs=12MHZ,利用定时器T1使P1.1口发光二极管进展秒闪烁。
即亮500ms,暗500ms,用C51写出程序。
#defineth10x36
#definetl10xb0//500ms@12MHzFosc
sbitLED=P1^7;
voidTimer1()interrupt3
TL1=tl1;
TH1=th1;
LED=~LED;
voidTimerInit()
TMOD=0x01;
EA=1;
ET1=1;
TR1=1;
voidmain()
TimerInit();
while
(1);
14.单片机系统晶振频率为6MHZ,假设要求定时值为10ms时,定时器T0工作方式1时,定时器T0对应的初值是多少?
TMOD的值是多少?
TH0=?
TL0=?
TMOD=0X01;
TH0=〔65536-5000〕/256;
=0xec
TL0=〔65536-5000〕%256;
=0x78
15.请说明为什么使用LED需要接限流电阻,当高电平为+5V时,正常点亮一个LED需要多大阻值的限流电阻(设LED的正常工作电流为10mA,导通压降为2V),为什么?
R=(5-2)/10mA=300欧
16.简述LED数码管动态扫描的原理及其实现方式。
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"
a,b,c,d,e,f,g,dp"
的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到一样的字形码,但终究是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制翻开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动
17.指出下面程序的语法错误并改正。
main(){
a=C;
Inta=7,C
delay(10)
voiddelay();
cgari;
for(i=0;
i<
=255;
〞++〞);
main(){
//a和C必须先定义才可使用
Int
a=7,C
//缺分号,应该提在使用前说明
I要小写
delay(10)
//延时子程序必须先定义,或先有函数原型说明
void
delay();
{
//作为函数定义,有函数定义不能嵌套的问题,
//即不能在一个函数内定义另一个函数,而且“{〞前不应有分号
//作为函数原型说明,应该放在函数调用之前,且其后不应该接函数体
cgar
i;
//字符型应该是unsigned
char
for(i=O;
//
〞++〞应改成i++
}
//主函数没有完毕,缺〞}〞
#defineuintunsignedint
#defineucharunsignedchar
voiddelay(uintk);
main()
inta,C;
a=C;
a=7,C;
delay(10);
voiddelay(uintk)
uchari;
while(--k)
for(i=0;
i++)
{;
18.指出下面程序的语法错误并改正。
Sbitled=p1^0;
Voidinto_srv()interrupt0
{Led=!
led;
Voidmain();
IT0=1;
IE=0x81
While
(1);
计算题
1、设单片机时钟频率为6MHZ,使P1.0引脚输出50ms周期的方波,画出电路图并编程实现。
2、采用89C52单片机,P1口外接8个共阳Led0~