- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2013(答案)单片机原理与应用试卷A(最新).doc
………………………………………………………………………………………………………………
得
分 一、填空题(每空1分,共15分)
8051内部有4个8位的并行I/O口,其中 P3 口的引脚还具有外中断、串行通信等第二功能。
MCS-51系列单片机内部数据存储器,片内RAM中位寻址区的地址范围是20H ~ 2FH ,工作寄存器区的地址范围是 00H~1FH 。
MCS-51的时钟频率范围为 1.2—12MHz 。设fosc=6MHZ,执行一条2个机器周期的指令,时间为 4us ,ALE信号的工作频率是 1MHZ 。
在MCS-51中,PC和DPTR都用于提供地址,但PC是为访问 程序 存储器提供地址,而DPTR是为访问 数据 存储器提供地址。
在MCS-51中,只有当EA引脚接??? 高 ??? 电平时,CPU才访问片内的ROM。
用于查表的汇编指令语言助记符是 MOVC 。
五个中断源中优先级最高的是 外部中断0 ,其对应的中断号为 0 。
MCS-51的堆栈寄存器SP是? 8 位寄存器,堆栈是按__向上__方向伸展的.
中断服务程序的返回指令是 RETI 。
得
分 三、阅读程序题(每小题5分,共20分)
1.已知(A)=22H,(R1)=50H,(40H)=15H,(50H)=33H试写出80C51执行下列程序段后,寄存器(A)=??? 44H??? ,(R1)=??? 40H ??? ,地址(40H)=??? 22H ??? ,(50H)=??? 33H??? 。(要求写出分析过程)。
MOV R1,#40H
MOV @R1 ,A
RL A
2. 已知(SP)=65H ,(A)=30H,(R0)=80H,(B)=20H则当MCS-51执行下列程序后,(SP)=??? 66H ??? ,(DPTR)=??? 2080H ??? (要求写出分析过程)。
PUSH ACC
PUSH R0
PUSH B
POP DPH
POP DPL
3.试用文字叙述程序所完成的功能是什么?(要求写出分析过程)
ORG 8000H
MOV R0,#50H
MOV R2,#10H
MAIN1: MOV @R0,#0H
INC R0
DJNZ R2,MAIN1
SJMP $
END
4.指出下面程序的错误。
#includereg51.h
main()
{
a=b;
int a=6,b;
delay(10)
void delay();
{
char i;
for(i=0;i=255;i++);
}
得
分 四、简单程序设计(每小题10分,共20分)
1、用8051单片机实现2-4译码器逻辑功能。假设以单片机的P1口的高2位作为译码器的2个输入端口,P3口作为译码器的4个输出端(低电平有效),P1.0作为译码器的使能端(低电平有效)。请写出其2-4译码器的C51程序。
# include reg51.h
void main()
{
unsigned char n;
while(1)
{
P1 = 0xff;
if(P1_0 == 0)
{
n = P10xC0;
switch(n)
{
case 0: P3_0 =0; break;
case 64: P3_1 =0; break;
case 128: P3_2 =0; break;
case 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 reg51.h
sbit P1_2 = P1^2
void service_int0() interrupt 3
{
TH1 = 0xffH;
TL1 = 0x38H;
P1_2 = !P1_2;
}
void main(void)
{
TMOD = 0x10;
TH1 = 0xffH;
TL1 = 0x38H;
EA= 1;
ET1 = 1;
TR1 = 1;
While(1);
}
得
分 五、应用题(每小题15分,共30分
文档评论(0)