《2013(答案)单片机原理与应用试卷A(最新).doc》由会员分享,可在线阅读,更多相关《2013(答案)单片机原理与应用试卷A(最新).doc(8页珍藏版)》请在金锄头文库上搜索。
1、得分一、填空题(每空1分,共15分)1 8051内部有4个8位的并行I/O口,其中 P3 口的引脚还具有外中断、串行通信等第二功能。2 MCS-51系列单片机内部数据存储器,片内RAM中位寻址区的地址范围是20H 2FH ,工作寄存器区的地址范围是 00H1FH 。3 MCS-51的时钟频率范围为 1.212MHz 。设fosc=6MHZ,执行一条2个机器周期的指令,时间为 4s ,ALE信号的工作频率是 1MHZ 。4 在MCS-51中,PC和DPTR都用于提供地址,但PC是为访问 程序 存储器提供地址,而DPTR是为访问 数据 存储器提供地址。5 在MCS-51中,只有当EA引脚接 高 电
2、平时,CPU才访问片内的ROM。6 用于查表的汇编指令语言助记符是 MOVC 。7 五个中断源中优先级最高的是 外部中断0 ,其对应的中断号为 0 。8 MCS-51的堆栈寄存器SP是 8 位寄存器,堆栈是按_向上_方向伸展的.9 中断服务程序的返回指令是 RETI 。得分三、阅读程序题(每小题5分,共20分)1已知(A)=22H,(R1)=50H,(40H)=15H,(50H)=33H试写出80C51执行下列程序段后,寄存器(A)= 44H ,(R1)= 40H ,地址(40H)= 22H ,(50H)= 33H 。(要求写出分析过程)。解:(R1)=40H,((40H)=22H;(A)=4
3、4H, (50H)不变 。 MOV R1,#40H MOV R1 ,A RL A 2. 已知(SP)=65H ,(A)=30H,(R0)=80H,(B)=20H则当MCS-51执行下列程序后,(SP)= 66H ,(DPTR)= 2080H (要求写出分析过程)。解:SP=SP+1=66H,(SP)=30H;SP=SP+1=67H,(SP)=80H;SP=SP+1=68H,(SP)=20H;(DPH)=20H, SP=SP-1=67H;(DPL)=80H, SP=SP-1=66H;。 PUSH ACC PUSH R0PUSH BPOP DPHPOP DPL3试用文字叙述程序所完成的功能是什么?
4、(要求写出分析过程)ORG 8000H 解:单片机执行上述程序后,所实现的功能是:对地址50H开始的连续16个单元清零。评分标准:MOV R0,#50HMOV R2,#10HMAIN1: MOV R0,#0H INC R0 DJNZ R2,MAIN1 SJMP $END4指出下面程序的错误。解:变量应先定义再使用;函数delay后无分号、且缺少“”;delay为无参函数,不能传递参数。此处多了分号;无char类型,应为unsigned char#includemain()a=b;int a=6,b;delay(10)void delay(); char i; for(i=0;i=255;i+)
5、; 得分四、简单程序设计(每小题10分,共20分)1、用8051单片机实现2-4译码器逻辑功能。假设以单片机的P1口的高2位作为译码器的2个输入端口,P3口作为译码器的4个输出端(低电平有效),P1.0作为译码器的使能端(低电平有效)。请写出其2-4译码器的C51程序。# include void main()unsigned char n;while(1) P1 = 0xff;if(P1_0 = 0) n = P1&0xC0;switch(n)case 0: P3_0 =0; break;case 64: P3_1 =0; break;case 128: P3_2 =0; break;cas
6、e 192: P3_3 =0; break;default:P3=0xff;break;else P3 = 0xff;2编写一个由P1.2口周期输出400us的等宽连续方波信号的程序,系统采用12MHz晶振,要求使用T1工作在方式1。试编写其以中断方式实现的相关C语言程序。提示:解:计算计算初值:(65336-x)*1us=200us; 即:0FF38H;控制寄存器设计:0001XXXX# include sbit P1_2 = P12void service_int0() interrupt 3TH1 = 0xffH; TL1 = 0x38H;P1_2 = !P1_2; void main(
7、void)TMOD = 0x10;TH1 = 0xffH; TL1 = 0x38H;EA= 1;ET1 = 1;TR1 = 1;While(1);得分五、应用题(每小题15分,共30分)1. 将8031单片机外接一片2716 EPROM和一片6116 RAM,一片6264RAM组成一个应用系统。要求用线选法(限定用P2.7、P2.6、P2.5)完成下图MCS-51片外存储器扩展线路的连接,并指出各存储器芯片的地址范围(没用到的地址线设为1)。解:2716的地址为1101 1000 0000 0000-1101 1111 1111 1111 D800H-DFFFH 6116的地址为1011 10
8、00 0000 0000-1011 1111 1111 1111 B800H-BFFFH 6264的地址为0110 0000 0000 0000-0111 1111 1111 1111 6000H-6FFFH2、假设图2中PA口和PC口共同接两个共阳极的七段显示器,MCS-51RAM 70H-73H存放的内容为3、4、5、6,将这些数以动态显示方式分别在对应位的数码管上显示,即显示的效果为3456。试编写C语言程序。图2#include #include #define unchar unsigned char#define _8155A_cmd XBYTE0xDF00#define _815
9、5A_PA XBYTE0xDF01#define _8155A_PC XBYTE0xDF03const unchar segtab4= 0x4F,0x66,0x6D, 0x7D;void main(void)unchar i;_8155A_cmd=0x0f; 控制字为0x0d也对While(1) for(i=0;i4;i+) _8155A_PC=(1i);_8155A_PA=segtabi;delay();得分三、阅读程序题(每小题5分,共20分)1已知(A)=11H,(R1)=50H,(40H)=15H,(50H)=33H试写出80C51执行下列程序段后,寄存器(A)= 80H ,(R1)=
10、 40H ,地址(40H)= 11H ,(50H)= 33H 。(要求写出分析过程)。MOV R1,#40H R1 40HXCHD R1 ,A (40H)0-3 (A)0-3RR A (A)右移一位2. 已知(SP)=60H ,(A)=30H,(B)=70H则当MCS-51执行下列程序后,(SP)= 60H ,(DPTR)= 3070H (要求写出分析过程)。解:(SP)=(60H)+1=61H; (61H) =(A)=30H;(SP)=(61H)+1=62H; (62H) =(B)=70H; (DPL) =(62H)=70H; (SP)=(62H)-1=61H; (DPH) =(61H)=3
11、0H;(SP)=(61H)-1=60H。PUSH ACC PUSH B POP DPL POP DPH 3下面查表指令执行后,累加器(A)= D或者44H (要求写出分析过程)ORG 8000HMOV A,#30H (A)=30H,2字节指令MOVC A,A+PC 执行时(PC)=8003H. ORG 8030H TAB: DB ABCDEFGHIJ 执行查表指令后将8003H+30H=8033H地址对应的程序存储器中的内容字符D送到A4指出下面程序的错误。#includeVoid main()解:1. uchar 别名需先定义; 2. 缺少头文件 3. dp1赋值的地址应小于FFH;4、De
12、lay()不能传递参数且Delay(10)后缺少“;” 5. void delay()之前缺少“”且之后多“;”.。 uchar data var1; uchar pdata *dp1;var1=XBYTE0x0008;dp1=0x1000;*dp1=0x80;delay(10)while(1);void delay(); uchar i; for(i=0;i=255;i+);得分四、简单程序设计(每小题10分,共20分)1、用8051单片机实现8-3编码器逻辑功能。假设以单片机的P2口作为编码器的8个输入端口(低电平有效),P3口的低3位作为编码器的3个输出端,P3.5作为编码器的使能端(低
13、电平有效)。请画出该编码器的逻辑图,并写出其8-3编码器的C51程序。# include void main()unsigned char n;while(1) P2 = 0xff; P3 = 0x20;或者P3=P3& 0x20;if(P3_5 = 0) n = P2;switch(n)case 254: P3= 0x00; break;case 253: P3= 0x01; break;case 251: P3= 0x02; break;case 247: P3= 0x03;break;case 239: P3= 0x04;break;case 223: P3= 0x05; break;case 191: P3= 0x06;break;case 127: P3= 0x07;