您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 单片机原理及应用-14下-电气12卓越-考试-A答案
第1页四川理工学院试卷(2014至2015学年第1学期)课程名称:单片机原理及应用(考试课A卷)命题教师:适用班级:电气工程及其自动化2012级卓越班考试年月日共8页题号一二三四总分评阅(统分)教师得分注意事项:1、满分100分。要求卷面整洁、字迹工整、无错别字。2、考生必须将姓名、班级、学号完整、准确、清楚地填写在试卷规定的地方,否则视为废卷。3、考生必须在签到单上签到,若出现遗漏,后果自负。4、如有答题纸,答案请全部写在答题纸上,否则不给分;考完请将试卷和答题卷分别一同交回,否则不给分。试题一、填空题(每空1分,共20分)1.单片机英文名称是_____SCM________,它的结构特点是将微型计算机的基本功能部件,如:____CPU________、____存储器______、输入接口、输出接口、定时/计数器及终端系统等全部集成在一个半导体芯片上。2.MCS-51单片机的CPU主要包括运算器和______控制器______两大部件。3.MCS-51可寻址空间是两个64KB的空间,即64KB的___程序_________存储空间和64KB的_____数据_______存储空间。4.MCS-51单片机内部RAM的寄存器区共有32个字节单元,分为____4_____组寄存器,每组______8______个单元,以___R0-R7____作为寄存器名称。5.MCS-51单片机片内有_____5_______个中断源,其中______2______个外部中断源,可实现_______2_____级中断嵌套。6.通过堆栈操作实现子程序调用,首先要把_____PC____的内容入栈,以进行断点保护。调用子程序返回时再进行出栈操作,把保护的断点送回___PC__。7.在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的_______地址_____。8.异步串行数据通信的帧格式由____起始___位、___数据___位、____可编程________位和_______停止_____位组成。得分评阅教师系专业级班学号姓名密封线密封线内不要答题第2页二、选择题,请将答案填入下面的表格内,否则不得分(每小题2分,共20分)题号12345678910答案CABCCABDDB1.MCS-51单片机中,PC的值是:A.当前指令前一条指令的地址B.当前正在执行指令的地址C.下一条指令的地址D.控制器中指令寄存器的地址2.在MCS-51单片机中,用作标志寄存器的一个特殊功能寄存器是:A.PSWB.DPTRC.PCD.B3.MCS-51单片机的ALE引脚是:A.输出高电平B.输出矩形脉冲,频率为fosc的1/6C.输出低电平D.输出矩形脉冲,频率为fosc的1/24.若要求最大定时时间为216个机器周期,则应选用定时器的最佳工作方式是:A.方式0B.方式1C.方式2D.方式35.MCS-51单片机定时器外部中断1和外部中断0的触发方式选择位是:A.TR1和TR0B.IE1和IE0C.IT1和IT0D.TF1和TF06.MCS-51单片机定时器T0的溢出标志TF0,若计满数在CPU响应中断后:A.由硬件清零B.由软件清零C.A和B都可以D.随机状态7.MCS-51单片机的堆栈指针SP始终是:A.指示堆栈底B.指示堆栈顶C.指示堆栈地址D.指示堆栈长度8.利用下列哪个关键字可以改变使用工作寄存器组:A.interruptB.sfrC.whileD.using9.MCS-51单片机的晶振频率为fosc=6MHz,则执行一条双周期指令需要:A.1µSB.0.5µSC.2µSD.4µS得分评阅教师第3页10.使用XBYTE等宏来访问绝对地址时,一般需包含的库文件是:A.reg51.hB.absacc.hC.intrins.hD.startup.h三、简答及读程序题(每空2分,共20分)1.假定(SP)=62H,(61H)=30H,(62H)=70H。执行下列指令:POPDPHPOPDPL后,DPTR的内容为_______7030H_____,SP的内容为_______60H_____。2.执行下列程序,求出执行后的结果。MOV21H,#0A7HMOV22H,#10HMOVR0,#22HMOV31H,21HANL31H,#2FHMOVA,@R0SWAPA结果:(31H)=27H,A=01H。3.执行下列程序,求出执行后的结果。已知A=83H,R0=17H,(17H)=34H,写出下列程序段执行之后的A中的内容是______0CBH_____。ANLA,#17HORL17H,AXRLA,@R0CPLAEND4.读下列程序,回答问题。#includereg51.hunsignedcharxdatax_at_0x0024;得分评阅教师第4页voidmain(){unsignedchar*ptr1,a,b;unsignedcharpdata*ptr2;ptr1=0x20;a=*ptr1;ptr2=&x;b=*ptr2;x=a*b;while(1);}“pdata”的含义是指:以Ri间接访问的片外RAM低256Byte;“xdata”的含义是指:以DPTR间接访问的片外RAM,可访问64KB范围;变量a,b默认的存储区域是片内RAM区(data区);假设片内RAM0x20处的值是0x20,片外RAM0x24处的值是0x05,则执行完上述程序后:变量b的值是0x05;变量x的值是0x0A0。四、分析编程题,编程语言不限,程序应有适当注释(每小题10分,共40分)得分评阅教师符号地址D7D6D5D4D3D2D1D0TCON88HTF1TR1TF0TR0IE1IT1IE0IT0TMOD89HGATEC/TM1M0GATEC/TM1M0IEA8HEAESET1EX1ET0EX0IPB8HPSPT1PX1PT0PX0SCON98HSM0SM1SM2RENTB8RB8TIRIPCON87HSMODPDIDL第5页1.将外部RAM10H~20H单元的内容传送到内部RAM10H~20H单元。答案:#includereg51.hvoidmain(){charn=0x11;(2分)char*ptr1=0x10;(2分)charxdata*ptr2;ptr2=0x10;(2分)while(n--){*ptr1++=*ptr2++;}}(4分)2.根据下图编制在8个共阳极数码管上从左到右分别显示1~8的程序。已知共阳极数码管0~9的字段码表:0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90。第6页答案:#includereg51.hunsignedcharcodeLEDCode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};unsignedcharcodeLEDSelect[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};(4分)voidmain(void){unsignedchari;for(i=0;i=7;i++){P0=LEDSelect[i];P1=LEDCode[i+1];}}(6分)ABCDEFGDPABCDEFGDPA02B018A13B117A24B216A35B315A46B414A57B513A68B612A79B711CE19AB/BA1U174LS245XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U2AT89C51X1CRYSTALC11nFC21nFGNDR110kR210kR310kR410kR510kR610kR710kR810kGND第7页3.已知晶振频率为12MHZ,请用请用定时器T0的方式2定时及溢出中断方式编程,实现从P1.0引脚输出周期为20ms,占空比为50%的方波。要求先确定定时时间并给出定时初值的计算步骤,然后写程序。答:fosc=12MHz,所以机器周期为1us。要使P1.0输出周期为20ms的方波,也可以通过定时中断方式实现,定时时间为10ms,当时间到时,对P1.0求反即可。由于10ms/250us=40,所以也可以通过对250us的定时计数40次来实现。(2分)程序如下:#includereg51.hsbitP1_0=P1^0;//输出周期为400us的方波的引脚unsignedcharnum=0;//中断次数计数器,初值为0voidmain(){P1_0=0;//输出初值为0TMOD=0x02;//T0方式2定时TH0=256-250;//计200次,计数初值为模256减200TL0=TH0;IE=0x82;//允许CPU响应中断,允许T0发中断请求TR0=1;//启动T0for(;;){}//无限循环等待中断}(4分)voidtimer0()interrupt1using1{num++;//中断次数加1if(num==40){//中断次数达到20次num=0;//中断次数复位为0P1_0=!P1_0;//输出P1_0求反}}(4分)第8页4.设51单片机时钟频率fosc=11.0592MHz,编写一段程序,对串口进行初始化,使之工作于方式1,波特率为1200bps,SMOD=0,并实现从串口接收一字节数据之后直接又从串口发送该字节的数据的功能。答:Baud=120012)256(322)256(322modmodxfTxoscss,smod=0时,x=232=E8H(3分)程序如下:#includereg51.hvoidmain(void){unsignedcharbuf;SCON=0x50;TMOD=0x20;TH1=0xE8;TL1=0xE8;PCON=0x00;TR1=1;(3分)while(1){while(RI==0);buf=SBUF;RI=0;(2分)SBUF=buf;While(TI==0);TI=0;}}(2分)
本文标题:单片机原理及应用-14下-电气12卓越-考试-A答案
链接地址:https://www.777doc.com/doc-5433485 .html