单片机考试复习题及答案_第1页
单片机考试复习题及答案_第2页
单片机考试复习题及答案_第3页
单片机考试复习题及答案_第4页
单片机考试复习题及答案_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

。精选资料,欢迎下载选择题1、主频为12MHz的单片机他的机器周期为(c)。A、1/12微秒B、0.5微秒C、1微秒D、2微秒2、MCS-51系列单片机是属于(C)体系结构。A、冯诺依曼B、普林斯顿C、哈佛D、图灵3、定时器/计数器工作方式0为(A)。A、13位定时/计数方式B、16位定时/计数方式C、8位可自动装入计数初值方式D、2个8位方式

6、MCS-51单片机每个机器周期都要进行中断查询,查询的是(A)。A、中断标志位B、中断允许控制位C、中断优先级控制位D、外部中断触发方式控制位7、当外部中断被设置为下降沿触发时,对触发信号的要求是高、低电平的持续时间均应大于(B)。A、1个机器周期B、2个机器周期C、4个机器周期D、8个机器周期8、在下列寄存器中,与定时器/计数器无关的是(C)。scon是控制寄存器A、TCONB、TMODC、SCOND、IE9、若欲将T0设置为定时器方式2、T1设置为计数器方式1,T0、T1均采用软件启/停控制,则方式寄存器TMOD的方式控制字为(B)。A、00100101B、01010010C、10101101C、110110101010、当晶振频率为6MHz、定时/计数器工作于方式1,最大定时时间为(D)。A、8.192msB、16.384msC、65.53msD、131.07211、当晶振频率为6MHz,定时/计数器T0工作于定时器方式2,若要求定时值为0.2ms,则定时初值为(A)。A、156B、56C、100D、20012、设MCS-51单片机的晶振频率为12MHz,定时器作计数器使用时,其最高的输入计数频率为(C)。A、2MHzB、1MHzC、500KHzD、250KHz13、利用下列(D)关键字可以改变工作寄存器组。A、interruptB、sfrC、whileD、using14、(D)是c语言提供的合法的数据类型关键字。A、FloatB、signedC、integerD、Char15、12MHz晶振的单片机在定时器工作方式下,定时器中断记一个数所用的定时时间是(A)。A、1usB、2usC、4usD、8us16、8051单片机的定时器/计数器工作方式1是(B)。 A、8位计数器结构B、16位计数器结构C、13位计数器结构D、2个8位计数器结构17线反转法识别有效按键时,如果读入的列线全为1,则说明(A)。A、没有键被按下B、有一个案件被按下C、有多个按键被按下D、以上说法都不对、18、利用下列(D)关键字可以改变寄存器组。A、interruptB、sfrC、whileD、using19、支持写入单片机或仿真调试的目标程序的文件格式是(D)A、*.ASMB、*.CC、*.EXED、*.HEXMCS_51单片机的复位信号是(A)有效。A高电平B低电平C脉冲D下降沿AT89S51单片机是(B)单片机。A4位B8位C16位D32位51单片机五个中断源的默认优先权由高到低排队正确的是(C)A串行口、定时计数器0、定时计数器1、外中断0、外中断1B串行口、外中断0、定时计数器0、定时计数器1、外中断1C外中断0、定时计数器0、外中断1、定时计数器1、串行口D外中断0、外中断1、定时计数器0、定时计数器1、串行口定时/计数器T0的M1M0=00时,定时计数器的最大计数值是(B)A65536B8192C256D12824.下列选项中不是C51编程是使用的的关键字的是(B)AintegerBdefineCbreakDsbit定时/计数器中段发生在(D)A送入初始值 B启动定时/计数器C定时/计数器停止时 D 计数器满量程时26.89C51定时/计数器共有四种操作模式,由TMOD寄存器中M1/M0的状态决定,当M1/M0的状态为01时,定时/计数器被设定为(A)A 13位定时/计数器 B 16位定时/计数器C 自动重装8位定时/计数器D T0为2个独立的8位定时/计数器27. 8051单片机的一个机器周期包含(C)个时钟周期A 6 B 2 C 12 D 9单片机的定时器/计数器工作方式1是(D)A 8位计数器结构 B2个8位计数器结构C 13位计数器结构 D16位计数结构C51中一般char型变量占用(A)字节存储。A 一个 B 两个 C 三个 D 四个函数_crol_()包含在头文件(C)中A reg51.h B absacc.h C intrins.h D math.h十进制数67在C语言中表达为十六进制数形式为(C)A 0x52 B 0x67 C 0x43 D 0x34八段共阴极数码管显示0的字段码是(A)A 0x3f B 0xc0 C 0x00 D 0xff33、MCS-51单片机的51子系列为用户提供了(B)个硬件中断源A、4B、5C、6D、734、下列选项中()是定时/计数器T0的中断允许控制位A、EABB、ET0C、IT0D、IE035、已知某数的BCD码为0111010101000010,则其表示的十进制数值为(B)A、7542HB、7542C、75.42HD、75.4236、所谓CPU是指(A)A、运算器和控制器B、运动器和存储器C、输入输出设备D、控制器和存储器37、单片机能直接运行的程序叫(C)A、源程序B、汇编程序C、目标程序D、编译程序38、8031单片机若晶振频率为fosc=12MHZ,则一个机器周期等于(C)usA、1/12B、1/2C、1D、239、8051单片机定时器工作方式0是指的(C)A、8位B、8位自动重装C、13位D、16位40、用8031的定时器T1作定时方式,用模式1,则工作方式控制字为(C)A、01HB、05HC、10HD、50H41、8051单片机有(B)个中断优先级A、1B、2C、3D、442、下列(D)型号的单片机有T0和T2三个16位的定时/计数器A、8031B、8051C、AT89C51D、AT89C5243、在下列寄存器中,与定时/计数控制无关的是(C)A、TC0NB、TM0DC、SC0ND、IE44、七段共阴极数码管的a~g段分别接P0.0~P0.6,则要显示字符“H”,P0口应送段码为(D)A、67HB、6EHC、90HD、76H45、N位LED显示器采用动态显示方式时,需要提供的I/0线总数是(A)A、8+NB、8*NC、ND、8*N+146、定时/计数器有4种工作模式,它们由(B)寄存器中的M1/M0状态决定的A、TC0NB、TM0DC、PCOND、SC0N47、以下能正确定义一维数组的选项是(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^=0x0f50、主题为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、reentrant54、一个C语言程序总是从(C)开始执行的A、书写顺序的第一函数B、书写顺序的第一条执行语句C、主函数mainD、不确定判断题所有定义在主函数之前的函数无需进行声明。F所谓机器周期是指CPU执行一条指令所需要的时间。F指令周期一般由若干个机器周期组成定时/计数器工作于定时方式时,是通过89C51片内振荡输出经12分频后的脉冲进行计数,直至溢出为止。T若一个函数的返回类型为void,则表示其没有返回值。T#include<reg51.h>与#include“reg51.h”是等价的。T命令语句if(x=10){P0=0xff};表达的含义是当x的值为10时,才执行P0=0xff的命令。T使用高速的24MHZ或33MHZ单片机代替原有的12MHZ或16MHZ单片机,可以方便地将运行速度提高一倍。Tbit和sbit都是用来定义位变量,所以两者之间没有区别,可以随便替换使用。F单片机外部中断是只有用低电平触发。F单片机C语言程序设计中可以不分大小写。F单片机C语言程序设计中,用关键字bit定义单片机的端口。 F五个中断源中优先级是高的是外部中断0,优先级是低的串行口中断。T单片机只能做控制用,不能完成算数运算。F各中断源发出的中断请求信号,都会标记在MCS-51系统中的TC0N中。F外部中断1,中断请求信号由P3.3输入。T十进制数89的BCD码可以记为89H。F单片机的复位有上电自动复位和按钮手动复位两种,当单片机运行出错或进入死循环时,可按复位键重新启动。TMCS-51单片机的两个定时器的均有两种工作方式,即定时和计数工作方式。T启动定时器工作,可使用SETBTRi(i=0,1)启动。T定时/计数器工作于计数方式时,是通过8051的P3.4和P3.5对外部脉冲进行计数,当遇到脉冲下降沿时计数一次。T填空题两位十六制数最多可以表示256个存储单元。89C51具有64KB的字节程序空间寻址能力。当系统处于正常工作状态且振荡稳定后,在RST引脚上加一个高电平并维持两个个机器周期,可将系统复位。单片机89C51的时钟频率为6MHZ,若要求定时1ms,定时/计数器工作于模式1,其定时/计数器的初值为FE0CH。函数是C语言的基本单位。定时/计数器T0作为计数器使用时,其计数频率不能超过晶振频率fosc的1/24。单片机C51语言源程序从main函数开始执行。每个C语言程序必须有一个且只能有一个main函数。C51程序的函数由函数首部和函数体两部分构成。C51定义可寻址位,使用关键字为sbit,定义特殊功能寄存器当中的某位用关键字sfr。修饰符interruptm中m的取值为0对应的中断情况是外部int0中断。8051子系列单片机片内有两个16位的定时/计数器。LED数码管的显示方式有共阴和共阳两种。变量a1=0x92,if(a1)结果是(真/假)。运算符号“=”用于赋值,符号“==”用于恒等于。变量tmp=0x15,经运算tmp>>=4;后的tmp值为21。液晶LCD1602模块,实际显示区有2行,每行显示16个5*7点阵的ASICII字符。当系统处于正常工作状态且振荡稳定后,在RST引脚上加一个高电平并维持两个个机器周期,可将系统复位。中断请求信号有边缘触发和电平触发两种触发方式。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。简答题什么叫中断?设置中断有什么优点?使CPU暂停运行原来的程序而应更为急迫事件的需要转向去执行为中断源服务的程序,待该程序处理完后,再返回运行源程序优点:可以提高cpu工作效率。具有故障处理功能。实现时分操作,控制多个外设同时工作。2、AT89S51采用6MHz的晶振,写出用定时器方式1时产生2ms定时中断的初值计算过程并确定其初值(16进制数)是多少?对于12MHz的时钟,51单片机的机器周期就为1/(12000000/12)=1us那么对于定时1ms,需要定时器计数的个数就为1ms/1us=1000那么,对于方式1,需要装入的时间常数就为2^16-1000=64536——0xfc183、简述中断的概念。使CPU暂停运行原来的程序而应更为急迫事件的需要转向去执行为中断源服务的程序,待该程序处理完后,再返回运行源程序4、什么是单片机?简述单片机的应用领域。单片机又称单片微控制器,是把一个计算机系统集成到一个芯片上。1、智能产品2、智能仪表3、测控系统4、数控系统什么叫中断?中断有什么特点?中断:使CPU暂停运行原来的程序而应更为急迫事件的需要转向去执行为中断源服务的程序,待该程序处理完后,再返回运行源程序。中断特点:(1)中断类型码或者由指令给出.或者是预先规定的;(2)不执行INTA*(中断应答)总线周期;(3)除单步中断外,任何内部中断都无法禁止;(4)除单步中断外,任何内部中断的优先级都比外部中断高。完整中断的基本功能:(1)响应中断、处理中断与返回;(2)实现优先权排队;(3)高级中断源能中断低级的中断处理6、单片机用内部定时器方法产生频率为100KHz等宽距形波,假设单片机的晶振频率为12MHz,请编程实现。voidTimer0Init(void) //定时1ms@12.000MHz{AUXR|=0x80; //定时器时钟1T模式TMOD&=0xF0; //设置定时器模式TMOD|=0x01; //设置定时器模式TL0=0xA8; //设置定时初值TH0=0xFD; //设置定时初值TF0=0; //清除TF0标志ET0=1; //中断使能TR0=1; //定时器0开始计时}//定时器0中断服务函数//定时器0中断服务函数bitflag=0;//用于电平翻转voidtimer0_isr(void)interrupt1{TL0=0xA8; //设置定时初值TH0=0xFD; //设置定时初值P1.7=~flag;//电平翻转}利用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{ TH0=(65536-50000)/256; TL0=(65536-50000)%256; tt++; if(tt==100) { tt=0; P1_0=~P1_0; }}如何消除键盘的抖动?消除键盘抖动的常用两种方法,一是采用硬件去抖电路,用基本RS触发构成;二是采用软件去抖程序在使用8051的定时器/计数器前,应对它进行初始化,其步骤是什么?TMOD选择定时器以及定时器工作模式THnTLn设定初始值TRn开始运行已知P3口接有发光二极管的阴极,编写程序使发光二极管闪烁三次。共阳极数码管,写出0~9的显示编码。0:0xc01:0xf92:0xa43:0xb04:0x995:0x926:0x827:0xf88:0x809:0x9012. 89C51单片机晶振fosc=6MHz,T0中断工作在模式1,最大定时的时长是多少?方式0:13位定时器,所以定时时间范围最大为2^13*2us=16.384ms方式1:16位定时器,所以定时时间范围最大为2^16*2us=131.072ms方式2:8位重装定时器,所以定时时间范围最大为2^8*2us=512us12mhz12MHz时一个指令周期为1μs。模式0是13位计数器,因此最大定时时长2的13次方=8192μs。模式1是16位计数器,因此最大定时时长2的16次方=65536μs。模式2是可重载8位计数器,单次定时时长2的8次方=256μs已知focs=12MHZ,利用定时器T1使P1.1口发光二极管进行秒闪烁。即亮500ms,暗500ms,用C51写出程序。#include<reg52.h>#defineth10x36#definetl10xb0//500ms@12MHzFoscsbitLED=P1^7;voidTimer1()interrupt3{TL1=tl1;TH1=th1;LED=~LED;}voidTimerInit(){TMOD=0x01;TH1=th1;TL1=tl1;EA=1;ET1=1;TR1=1;}voidmain(){TimerInit();while(1);}已知单片机系统晶振频率为6MHZ,若要求定时值为10ms时,定时器T0工作方式1时,定时器T0对应的初值是多少?TMOD的值是多少?TH0=?TL0=?TMOD=0X01;TH0=(65536-5000)/256;=0xecTL0=(65536-5000)%256;=0x78请说明为什么使用LED需要接限流电阻,当高电平为+5V时,正常点亮一个LED需要多大阻值的限流电阻(设LED的正常工作电流为10mA,导通压降为2V),为什么?R=(5-2)/10mA=300欧简述LED数码管动态扫描的原理及其实现方式。数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动17.指出下面程序的语法错误并改正。#include<reg51.h>main(){a=C;Inta=7,Cdelay(10)voiddelay();{cgari;for(i=0;i<=255;”++”);}#include<reg51.h>main(){

a=C;

//a和C必须先定义才可使用

Int

a=7,C

//缺分号,应该提在使用前说明

I要小写

delay(10)

//延时子程序必须先定义,或先有函数原型说明

void

delay();{

//作为函数定义,有函数定义不能嵌套的问题,

//即不能在一个函数内定义另一个函数,而且“{”前不应有分号

//作为函数原型说明,应该放在函数调用之前,且其后不应该接函数体

cgar

i;

//字符型应该是unsigned

char

for(i=O;

i<=255;

”++”);//

”++”应改成i++

}

//主函数没有结束,缺”}”#include<reg51.h>#defineuintunsignedint#defineucharunsignedcharvoiddelay(uintk);main(){inta,C;a=C;a=7,C;delay(10);}voiddelay(uintk){ uchari; while(--k) for(i=0;i<=255;i++) {;}}18.指出下面程序的语法错误并改正。#include<reg51.h> Sbitled=p1^0;Voidinto_srv()interrupt0{Led=!led;}Voidmain();IT0=1;IE=0x81While(1);计算题设单片机时钟频率为6MHZ,使P1.0引脚输出50ms周期的方波,画出电路图并编程实现。采用89C52单片机,P1口外接8个共阳Led0~Led7指示灯。由接在P3.2/P3.3的2个按键SW1和SW2控制其上循环及下循环逐

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论