急!急!!急!!!求单片机考试答案,大侠路过给予指点~~~(编程题给予相关解题思路说明)非诚勿扰~~~
1:51单片机复位时采用第( )组工作寄存器,其地址范围是( )
2::51汇编指令集中寻址范围是64KB的查表指令是( )
3:当51单片机访问外部存储器时,外部存储器的16位地址信号的低8位由( )输出,地址信号的高8位由( )输出
4:C51语言中char型的数据的值域为( )
5:串行同步通信的优点是( ),接受串行数据时,同步时钟的( )(填“上升沿”或“下降沿”)触发单片机开始对数据位采样
6:8位A/D转换器的分辨率是指( )
二:名词解释
1:单片机:
2:SFR:
3:工作寄存器组:
4:中断向量:
三:简答
1:51单片机有哪几种寻址方式?适用于什么地址空间?
2:中断服务于程序如何保护、恢复工作寄存器组?
3:分析执行如下指令后,累加器A和PSW中、位7,、位6、位2和位0的状况变化
MOV A .#84H
ADD A.OAEH
4:堆栈指钟SP的作用是什么?51单片机在程序设计时,为什么要对SP重新赋值?
四:编程设计
1:已知单片机的晶振频率为12MHZ,设计延时50ms的汇编子程序(要求计时误差小于0.1%)
2:单片机的时钟频率为12MHZ,要求在P1.0脚输出周期是3ms的方法.编写利用定时器1.使用中断方式工作的C51程序
3:某控制系统有2个开关K1和K2,1个数码管,当K1按下时,数码管加1,K2按下时,数码管减1,试画出8051与外设的连接图并编程实现上述要求 展开
1: 0组的范围好像是00H-07H
2::51汇编指令集中寻址范围是64KB的查表指令是(MOVC )
3.高8由P2输出,低8由R0或R1
4:C51语言中char型的数据的值域为(0~255)
5:串行同步通信的优点是(传输速率高 ),接受串行数据时,同步时钟的(下降沿 )(填“上升沿”或“下降沿”)触发单片机开始对数据位采样
6:8位A/D转换器的分辨率是指(使输出数字量变化一个相邻数码所需要输入模拟电压的编变化量 )
名词解释~~字太多~~~ 自己到书上找找 都 不难
编程1void delay ()
{ char sign=0 ;
TMOD=0x01;
TH0=15536/256;
TL0=15536%256;
TR0=1;
while(1)
{ if(TF0==1)
sign++;
TH0=15536/256;
TL0=15539%256;
TF0=0;
if(sign==10) {sec=0; break;}
}
使用定时计数器来实现准确定时,
编程3
#include <REGX51.H>
#define uchar unsigned char
#define uint unsigned int
void delay(void)
{ long int j;
for(j=3000;j>0;j--){}
}
void main(void)
{
uchar code tab[]={
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e};
char i=0;
P0=tab[i];
while(1)
{if(P2_1==0)
{ delay();
if(P2_1==0)
{i++; P0=tab[i];} }
if(P2_5==0)
{delay();
if(P2_5==0)
{i--; P0=tab[i];} }
}
} 接线如图 图片搞不上来
1.0组的范围好像是00H-07H
3.高8由P2输出,低8由R0或R1
4.-128-127