《单片机原理及应用 试卷及答案 C卷.docx》由会员分享,可在线阅读,更多相关《单片机原理及应用 试卷及答案 C卷.docx(8页珍藏版)》请在课桌文档上搜索。
1、题号二三四五六七八九十满分满分201020301010100实得分满分:20一、选择题(每题1分,共20分)实得分:题号12345678910答案题号11121314151617181920答案1 .AT89C51的中断允许触发器内容为83H,CPU将响应的中断请求是()A、TlB、TO,TlC、Tl,串行接口D、TO2 .定时器若工作在循环定时或循环计数场合,应选用()oA、工作方式0B、工作方式1C、工作方式2D、工作方式33 .89C51有关串口数据缓冲器的描述中()是不正确的。A、串行口中有两个数据缓冲器SUBFB、两个数据缓冲器在物理上是相互独立的,具有不同的地址C、SUBF发只能写
2、入数据,不能读出数据D、SUBF收只能读出数据,不能发送数据4 .二进制数IlOOloll的十进制无符号数是()0A、213B、203C、223D、2335 .二进制数IIloIuoB与OlIlOllIB的“与、“或”和“异或”结果是(5A、01100110B10011001B11111111BB、11111111B10011001B01100110BC、01100110B01110111B10011001BD、01100110B11111111B10011001B6 .截止2020年6月23日我国北斗导航系统一共发射了()颗卫星As45B、55C、30D、667.嫦娥五号月球探测器是在()发
3、射成功的A、酒泉B、西昌C、文昌D、太原8.华为的创始人()A、董明珠B、任正非C、马云D、张瑞敏9.截止2021年1月中国高铁总里程接近()公里A、2万B、3万C、4万D、5万10.()已经成为社会选人、用人、评价人的基本尺度。A、德才兼备、以才为先B、德才兼备、以德为先C、德才兼备、不分先后D、智体兼备、以智为先11.共阴极数码管显示O的段码是()A、OxcOB、0xf9C、0x3FD、0x6f12 .LCD1602的RS=I时代表的是()A、读写LCD1602的命令信号B、读写LCDI602的数据信号C、对LCDI602进行读操作D、对LCDI602进行写操作13 .C51中如果定义的变
4、量存放在外部的数据存储器OoOOHOOFFH中,应使用()存储器类型。AndataB、PdataC、bdataD、xdata14 .设a=32H,b=65H,这a&b=()A、0B、1C、20HD、77H15 .设有以下语句:intx=10;x+=3+x%(3),则x的值是()A、11B12C、14D、1516 .当AT89S51复位时,下面说法正确的是()A、PC=OOOOHB、SP=OOHC、SBUF=OOHD、PO=OOH17 .PSW=18H时,则当前工作寄存器是()A、0组B、1组C、2组D、3组18 .AT89S51的专用寄存器SFR中的堆栈指针SP是一个特殊的存贮区,用来()A、
5、存放运算中间结果B、存放标志位C、暂存数据和地址D、存放待调试的程序19 .PC是()A、一根硬件信号线B、一个可由用户直接读写的8位RAM寄存器C、一个能自动加1的16位的计数器D、一个能自动加1计算的RoM存储单元20 .当ALE信号有效时,表示()A、从RoM中读取数据B、从Po口可靠地送出低8位地址C、从Po口送出数据D、从RAM中读取数据二、填空题(每空1分,共10分)满分:10 实得分:1 .当计数器计数溢出时,溢出标志位TFX由硬件自动置,用查询方式处理计数溢出时,由清Oo2 .假定BCD码(八)=56H,(R5)=67Ho执行指令:ADDA,R5DAA后,累加器A的内容为,CY
6、的内容为o3 .MOVC,20H源寻址方式为寻址。4 .设DPTR=2000H,(八)=80H,则MOVCA,A+DPTR的操作数的实际地址为。5 .ADCO809当转换结束时,EoC引脚输出。6 .当DACO832ILE引脚接高电平,采用直通工作方式,其他控制引脚都应接J7 .按键去抖的方法有和o三、简答题(共20分)满分:20L89C51单片机的片内、片外存储器如何选择?实得分:2 .程序存储器的空间里,有5个单元特殊,这5个单元对应5个中断源的中断入口地址。这些单元的地址为什么?3 .什么是伪指令?为什么要用伪指令?4 .简述89C51串口通信的方式2及其特点。四、编程题(共30分)满分
7、:30L将外部数据存储器的OooBH和OOOoCH单元的内用互相交换。(5分)实得分:2 .单片机的fosc=12MHZ,使PLO和PLl分别输出周期为ImS和IOms的方波,请用定时器TO方式2编程实现。(12分)3 .将片内30H单元存放的压缩的BCD码转换成非压缩的BCD码存放在31H和32H单元。(5分)灯按“加I 1”方式循环显示(比如:Dl(I)亮完D2 (2)亮,然4 .电路图如下,编程实现P2口LED后D1D2(3)同时点亮)。后分)满分:10 实得分:五、完善程序(共10分)外部中断0由边沿触发,控制P2口的8个发光二极管依次点亮。C51程序如下#include#includ
8、eunsignedchara=0x7f;voidDelay();Voidmain()主函数(EA=I;总中断允许/外部中断0中断允许200ITl=I;选择外部中断。为跳沿触发方式While(1);循环)/外部中断0的中断服务函数禁止外部中断0中断左移一位P2=a;/延时300msEXO=I;voidDelay(unsignedinti)延时ImS子程序unsignedinti;for(;i0;i-)for(j=0;j333;j+);1六、设计题(10分)根据要求设计硬件电路,并编写程序:PO口连接8*8LED点阵的行,P3口连接8*8LED点阵的歹U,让LED点阵显示心形,其中行接高电平,列接
9、低电平。满分:10XIAL1POOADO PO. 1.ADIXTAL2RSTP02.AD2 P0.3,AD3P0.4.AW PoSAD6 PO.,AD P0.7D7P2.QlA8psEn ALE AP2.1,A9 P2.2lA10 P2,3.lA11 P2.4A12 P2.5A13 P26AM P2.7/A15P3RD PllOXD P3.2fW5 P3.3.WFTP3AD P35EP3WR PN 7RDP1.1P1 7UlAT89C51一、选择题(每题1分,共三、简答题(共20分,每题5分)1.80C51单片机的片内、片外存储器如何选择?引脚为访问内部或外部程序存储器的选择端。接高电平时,C
10、PU将首先访问内部存储器,当指令地址超过OFFFH时,自动转向片外RoM去取指令;接低电平时(接地),CPU只能访问外部程序存储器2.程序存储器的空间里,有5个单元特殊,这5个单元对应5个中断源的中断入口地址。这些单元的地址为:外部中断0(INTO):0003H定时器0(TO):OOOBH外部中断1(INTI):0013H定时器1(TI):OOlBH串行口:0023H3 .什么是伪指令?为什么要用伪指令?机器汇编时为便于机器操作,汇编程序提供一些本身的操作指令,比如汇编程序汇编时知道汇编语言源程序中哪些是数据,数据的状态,程序的起始和终止地址等。这些汇编程序本身的操作指令出现在汇编语言源程序中
11、,但它不是控制单片机操作的指令,而是控制汇编程序的指令,所以称为伪指令,没有机器码。4 .简述89C51串口通信的方式2及其特点。方式2:用于串行发送或接收,为11位通用异步接口。TXD与RXD分别用于发送与接收数据。收发一帧数据的格式为1位起始位、8位数据位(低位在前)、I位可编程的第9数据位和1位停止位,共11位。波特率取决于PCoN中SMOD位的值:当SMOD=O时,波特率为的1/64;当SMoD=I时,波特率为的l32o四、编程题(共30分)I.将外部数据存储器的OOOBH和O(X)OCH单元的内用互相交换。(5分)#include#includevoidmain(void)(unsi
12、gnedchari;1 =XBYTE11XBYTE是一个地址指针XBYTE11=XBYTE12;XBYTE12=i;2 .单片机的fosc=12MHz,使PLO和PLl分别输出周期为ImS和IOms的方波,请用定时器TO方式2编程实现。解fosc=12MHz,所以机器周期为lus。要使Pl.0输出周期为100OUS的方波,可以通过定时中断方式实现,定时时间为250us,定时计数2次来实现,对PLO求反即可。要使Pl.1输出周期为IOmS的方波,也可以通过定时中断方式实现,定时时间为5ms,当时间到时,对PLl求反即可。由于5ms250us=20,所以也可以通过对250us的定时计数20次来实现
13、。程序如下:#includesbitPLo=PlA0;输出周期为100Ous的方波的引脚sbitP1J=P11;输出周期为IOmS的方波的引脚unsignedcharnuml=0,num2=0;中断次数计数器,初值为0voidmain()P1.0=0;输出初值为0PLl=O;/输出初值为0TMOD=0x02;/TO方式2定时THO=256-250;计250次,TLO=THO;IE=0x82;允许CPU响应中断,允许TO发中断请求TTRO=I;/启动TOfor(;)无限循环等待中断1voidtimer()interrupt1using1numl+;num2+;中断次数加1if(num1=2)/中
14、断次数达到2次PLO=!P1J);输出P1_O求反num1=0;中断次数复位为0)if(num2=20)/中断次数达到20次num2=0;中断次数复位为OP1_1=!P1_1;输出Pl_l求反2.将片内30H单元存放的压缩的BCD码转换成非压缩的BCD码存放在31H和32H单元。(5分)Voidmain()unsignedchar*p=0x30;Unsignedcharnumber,shiwei,gewei;Number=*p;ShiWei=number&OxFO;Shiwei=_cror_(shiwei,4)GeWei=number&OxOF;P+;*p=shiwei;P+;*p=gewei
15、;4电路图如下,编程实现P2口LED灯按“加1”方式循环显示(比如:Dl(1)亮完D2(2)亮,然后D1D2(3)同时点亮)。(8分)#include#includemain()unsignedcharcnt=O,temp;unsignedinti=0,j;while(l)temp=OxOO;for(i=0;i255;i+)(P2=temp;for(j=0;j=20000;j+);temp=temp+1;)五、完善程序题(10分)答:EXO=I;voidint()interrupt0using0EXO=Oa=_crcl_(a,1);Delay(300);六、设计题(10分)ncludeunsi
16、gnedcharscan=OxO1,0x02,0x04,0x08,Ox10,0x20,0x40,0x80);/S5gunsignedcharhearl=0xff,0x99,0x66,0x7e,Oxbd,Oxdb,0xe7,0xfT;心形图案数据voiddelay(unsignedintms)unsignedinti,j;for(i=0;ims;i+)for(j=0;j124;j+);)voidmain()(unsignedchari,j;while(l)(for(i=0;i8;i+)(Po=SCani;输出扫描信号P3=hearti;输出图案数据delay(l);/延时Ims/P3=0xff;/消影/PO=OxOO;/消影