您好,欢迎访问三七文档
当前位置:首页 > 幼儿/小学教育 > 小学教育 > 2009年春季学期《单片机》期末考试试卷A卷答案
第1页共5页北方民族大学试卷课程代码:01100104课程:单片机原理及应用(A卷)答案注:本试卷适用于2006级通信工程和电气工程及其自动化专业,也适用于重修的学生。学生可以带计算器。一、单项选择题(每题1分,共20分)1、AT89C52单片机是B位机。(A)4(B)8(C)16(D)322、8031与8751的区别是:C。(A)内部数据存储单元数目的不同(B)内部数据存储器的类型不同(C)有无内部程序存储器(D)内部的寄存器的数目不同3、SRAM的中文含义是B。(A)只读存储器(B)静态随机存储器(C)动态随机存储器(D)闪速存储器4、下列芯片中属于单片机的芯片是A。(A)89C2051(B)8086(C)80486(D)805865、MCS—51系列单片机扩展存储器芯片时,4个I/O口中做为地址总线的是A。(A)P0口和P2口(B)仅P0口(C)P2口和P3口(D)仅P2口6、AT89C51单片机其串口工作方式中波特率可由用户根据晶振频率随意设定的是C。(A)方式0和2(B)方式0和1(C)方式1和3(D)方式1和27、当8051单片机系统的振荡晶体频率为3MHz时,其一个机器周期的时间是D。(A)0.5μS(B)1μS(C)2μS(D)4μS8、MCS-51单片机复位后程序计数器PC=D。(A)0FFFFH(B)0030H(C)0003H(D)0000H9、8051单片机的P3口可以驱动A个LSTTL负载。(A)4(B)8(C)16(D)3210、对于MCS-51单片机来说,上电复位所需的最短时间是振荡周期建立时间加上A个机器周期时间。(A)2(B)4(C)8(D)1611、8051单片机的定时器T1有C种工作方式。(A)1(B)2(C)3(D)412、51单片机执行MOVXA,@DPTR指令时,相关的信号状态是B。(A)PSEN无效为低电平,RD有效为低电平(B)PSEN无效为高电平,RD有效为低电平(C)PSEN有效为低电平,RD无效为高电平(D)PSEN有效为高电平,RD无效为高电平13、8031单片机的RST引脚通过一个D与单片机复位电路相连。(A)分频器(B)D触发器(C)单稳触发器(D)施密特触发器14、可编程芯片8155内部的定时/计数器是C计数器。(A)加法(B)加减法(C)减法(D)可逆15、对于MCS-51系列单片机来说,基址加变址寻址可寻址的空间是C。(A)内部RAM中0-7FH的空间和SFR(B)内部RAM和外部RAM(C)程序存储器(D)外部RAM16、当T0向51系列单片机的CPU发出中断请求时,若CPU允许并接受中断时,程序计数器PC的内容将被自动修改为B。(A)0003H(B)000BH(C)0013H(D)001BH17、累加器A的内容是0CAH,执行RLCA指令后累加器的内容变为D。(A)90H(B)95H(C)65H(D)不确定18、一条DW语句定义的数表,其表项的个数不得超过A个。(A)80(B)40(C)20(D)1019、在51系列单片机CPU内部,反映程序运行状态或反映运算结果一些特征的寄存器是D。(A)PC(B)A(C)B(D)PSW20、下列指令中有错误的是B。(A)CLRA(B)MOV@DPTR,A(C)MOVP3,A(D)JBTF1,LOOP二、填空题(每空2分,共10分)1、8051单片机上电复位时串口中断源的优先级别最低。2、在51系列单片机中指令SJMPrel属于相对寻址方式。3、MCS-51单片机访问外部设备用MOVX指令。4、常用的单片机应用系统其键盘形式分为独立式和行列式(或矩阵式)两种形式。三、判断正误(请在你认为正确的题后括号中填入“√”,否则填入“×”。每题2分,共10分)1、当执行PUSHACC指令后,SP中的内容加1。(√)2、判断指令的正误:MOVR0,R1。(×)3、P89C51单片机有四个中断优先级。(√)4、52系列单片机内部RAM的高128字节区域,即能直接寻址,又可以寄存器间接寻址。(×)5、51系列单片机的RST引脚接低电平时单片机复位。(×)题目一二三四五六七总成绩复核得分阅卷教师电信学院专业级班姓名:学号:2008—2009学年春季学期期末考试试题。------------------------------------密------------------------------------封------------------------------------线------------------------------------第2页共5页四、阅读下列程序,注释并填写指令执行后的结果(每题10分,共20分)1、ORG0LJMPSTART;无条件跳转到START处ORG30HSTART:MOVR0,#21H;R0←#21H,(R0)=21HMOVR2,#1AH;R2←#1AH,(R2)=1AHMOVA,#33H;A←#33H,(A)=33HXRLA,#0FFH;A←A○+#0FFH,(A)=0CCHMOV@R0,A;(R0)←(A),(21H)=0CCHSETB08H;21H.0←1,(21H)=0CDHMOVA,21H;A←(21H),(A)=0CDHXCHA,R0;A←→R0,(A)=21H,(R0)=0CDHMOVP1,A;P1←(A),(P1)=21HADDA,R2;A←(A)+(R2),(A)=3BHMOVDPTR,#2301H;DPTR←#2301H,(DPTR)=2301HMOVX@DPTR,A;(DPTR)←(A),(2301H)=3BHANLA,#0FH;A←A∧#0FH,(A)=0BHINCDPTR;DPTR←(DPTR)+1,(DPTR)=2302HORLA,#88H;A←A∨#88H,(A)=8BHMOVX@DPTR,A;(DPTR)←(A),(2302H)=8BHDECDPH;DPH←(DPH)-1,(DPH)=22H,(DPTR)=2202HEND(21H)=0CDH(P1)=21H(DPTR)=2202H(2301H)=3BH(2302H)=8BH评分办法:注释写对可得5分(不要求写出相应寄存器内容,可以采用文字来说明指令执行的操作),程序运行结果写对可得5分(每个结果1分)。若仅写对部分注释可酌情给1-4分。2、ORG0MOVSP,#60H;SP←#60H,(SP)=60HMOVA,#77H;A←#77H,(A)=77HCPLA;A←A,(A)=88HCLRC;Cy←0,(Cy)=0SUBBA,#13H;A←(A)-#13H-(Cy),(A)=75H,(Cy)=0RRA;A循环右移一位,(A)=0BAHMOVDPTR,#1200H;DPTR←#1200H,(DPTR)=1200HMOVX@DPTR,A;(DPTR)←(A),(1200H)=0BAHMOVR2,#10H;R2←#10H,(R2)=10HDECR2;R2←(R2)-1,(R2)=0FHDJNZR2,$;R2←(R2)-1,如果(R2)≠0则转移,否则继续执行。ORLA,#0CH;A←(A)∨#0CH,(A)=0BEHMOVP2,R2;P2←(R2),(P2)=00HPUSHACC;累加器内容压栈,SP=(SP)+1,(SP)=61HPOPDPH;堆栈弹出到DPH,SP=(SP)-1,(SP)=60H,(DPH)=0BEHINCA;A←(A)+1,(A)=0BFHPUSHACC;累加器内容压栈,SP=(SP)+1,(SP)=61HPOPDPL;堆栈弹出到DPL,SP=(SP)-1,(SP)=60H,(DPL)=0BFHEND(P2)=00H(Cy)=0(DPTR)=0BEBFH(1200H)=0BAH(SP)=60H评分办法:注释写对可得5分(不要求写出相应寄存器内容,可以采用文字来说明指令执行的操作),程序运行结果写对可得5分(每个结果1分)。若仅写对部分注释可酌情给1-4分。第3页共5页五、写出完成下列操作的指令或指令序列(每题2分,共10分)1、从P2.0口读入引脚的状态,并将其写入F0标志位。SETBP2.0MOVC,P2.0MOVF0,C2、将内部RAM40H单元的内容最高和最低位置“1”,其余位保持不变。ORL40H,#81H3、将外部RAM1230H单元内容加2后送回原单元。MOVDPTR,#1230HMOVXA,@DPTRADDA,#2MOVX@DPTR,A4、设置串行口工作方式为方式2,单机通信方式,禁止接收。MOVSCON,#80H5、将工作寄存器R7的内容清零。MOVR7,#0评分办法:每个题目思路正确可得1分,指令序列完全写对可得2分。若仅写出少量指令可酌情给0.5分。若仅写错少量指令可酌情扣0.5分。六、编程(每题10分,共20分)1、若外部RAM的(1000H)=X,(1001H)=Y,请编程实现Z=2X+Y*Y+5(设Z65536),并将结果保存到片内RAM的30H和31H单元(31H单元存放结果的高8位,30H单元存放结果的低8位)。解:XEQU1000HZHEQU31HZLEQU30HORG0MOVZH,#0;结果单元清零MOVZL,#0MOVDPTR,#1000HMOVXA,@DPTR;取X的值MOVB,#2MULAB;计算2XADDA,ZLMOVZL,A;存结果低8位MOVA,B;取乘积高8位ADDA,ZHMOVZH,A;存结果高8位INCDPTR;指向YMOVXA,@DPTR;取YMOVB,AMULAB;计算Y*YADDA,ZL;计算结果低8位MOVZL,AMOVA,B;取乘积的高8位ADDCA,ZH;计算结果高8位,注意必须带进位加MOVZH,AMOVA,ZLADDA,#5;计算结果加5MOVZL,AMOVZH,A;存结果低8位ADDCA,#0;将低8位进位加到结果高8位,注意必须带进位加MOVZH,A;存结果高8位END评分办法:不要求写出程序的注释和使用伪指令。程序设计思路正确可得5分,指令完全写对可得10分。若仅写对少量指令,可酌情给1-3分;若仅有少量指令写错,可酌情扣1-3分。第4页共5页2、已知89C51单片机的晶体振荡频率为3MHz,请编程从P1.0和P1.1口输出互补的(即互为反相)、周期为2秒的方波。(要求:T0工作在方式1下,采用中断方式工作,在中断服务程序中控制P1.0和P1.1的输出)解:要求输出周期为2秒的方波,只需每隔半个周期(1秒)将输出取反即可。设定T0定时为200ms,只需对T0的200ms定时中断计5次即可得到1秒钟的定时。T0的定时初值为:65536-200*1000*3/12=15536=3CB0H(计算正确得1分)ORG0LJMPSTARTORG0BHLJMPTSORG30HSTART:MOVTMOD,#01H;设T0为方式1,定时器(写对得1分)MOVTH0,#3CH;送200ms定时初值MOVTL0,#0B0HSETBET0;允许T0中断SETBEA;开中断CLRP1.0;输出初始化SETBP1.1MOVR7,#5;中断5次为1秒钟SETBTR0;启动T0计数SJMP$;等待中断TS:MOVTH0,#3CH;送200ms定时初值MOVTL0,#0B0HDJNZR7,TS1;没到1秒钟则返回MOVR7,#5;中断5次为1秒钟CPLP1.0;输出取反CPLP1.1TS1:RETIEND评分办法:不要求写出程序的注释和使用伪指令。T0的方式控制字写对和定时初值计算正确可各得1分;程序设计思路正确可得4分,指令完全写对可得满分(10分)。若少量指令写错可酌情扣1-2分;若仅写出少量指令可酌情给1-2分。七、单片机系统扩展与编程(10分)由AT89C51构成十进制加法计数器电路如下图所示,按钮开关SW用来输入计数信号,两个LED数码管用来实时显示计数值。每按动一次SW则计数值加一。若计数值为99,则再次按动SW时计数值变为00。请写出芯片U2和U3的地址范围,并编程实现上述功能。要求:外部中断1和定时器T1工作在中断方式下。外部中
本文标题:2009年春季学期《单片机》期末考试试卷A卷答案
链接地址:https://www.777doc.com/doc-3063114 .html