最新《单片机C51技术》复习题资料Word格式.docx
- 文档编号:21755964
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:49
- 大小:28.29KB
最新《单片机C51技术》复习题资料Word格式.docx
《最新《单片机C51技术》复习题资料Word格式.docx》由会员分享,可在线阅读,更多相关《最新《单片机C51技术》复习题资料Word格式.docx(49页珍藏版)》请在冰豆网上搜索。
20.在循环体中加入break语句可以改变循环的运行过程,遇到break;
结束。
21.语句for(i=0;
i<
=5;
i++);
控制的循环次数为。
语句for(i=5;
0;
i--);
若i=5,语句while(i<
6)i++;
22.把P1^1口定义为K1:
定义一个位变量key1:
23.指针是C语言中一个重要的概念,指针型变量以标记。
24.按键消抖一般有两种方法:
和软件消抖,软件消抖中,当单片机检测到有键按下时,可以先越过抖动过程再对按键识别。
25.MCS-51单片机有四个8位双向并行的I/O口,这四个端口既可以字节寻址又可
以,其中内部没有上拉电阻的端口是。
26.数码管按发光二极管连接方式分为共阴极和数码管。
按段数可分为七段数码管和。
27.AT89C51单片机共有5个中断源。
它们分别为2个外部中断:
.,3个
片内中断:
T0.T1和。
28.T0、T1除了有定时功能外还有。
29.利用中断服务程序时除了要开各自的中断允许外,还要开。
30.T0、T1有4种工作模式,其中具有自动重装载功能的是。
31.定时计数器T0有四种工作模式。
其中模式0由TH0的和TL0的构成13位计数器。
32.定时计数器T0/T1有四种工作模式。
其中模式0为计数器,模式1为计数器,模式2和模式3为计数器。
33.T0定时器/计数器的溢出中断标志位是,T1定时器/计数器的运行控制位是,串口的中断允许控制位是。
34.AT89C51单片机中断源分为级,由中断优先寄存器IP设置,系统复位后所有中断源被设置为。
35.C51提供的中断函数语法为:
返回值类型函数名(形参)interruptn,n对应中断源的编号,若n=4,则对应的中断源为。
36.根据信息的传送方向,串行通信可以分为单工.和3种。
89C51有一个可编程的串行通信接口。
37.CPU与其他设备之间的通信有和串行通信,串行通信又分为同步和串行通信。
38.AT89C51单片机的串行口通过编程可以有4种工作方式。
其中,方式0和方式2的波特率是,方式1和方式3的波特率可变,由定时器决定。
39.若i=5,执行语句b=i++;
b=,i=。
二.读程序
1.unsignedcharx,,y,z;
x=x&
0x0f;
if(x>
=10)
{
z=1;
y=x-9;
}
else
z=0;
y=x;
当x=0x45时,程序执行完毕后,x=;
y=,z=
当x=0x48时,程序执行完毕后,x=;
2.unsignedcharx,y;
if(x>
30)
if(x<
45)
y=3;
elsey=1;
elsey=5;
当x的值为20时,y=;
当x=40时,y=;
当x=45时,y=。
3.unsignedcharx,y;
=30&
&
x<
=45)
elseif(x<
30)y=1;
当x=50时,y=。
4.unsignedcharx,y;
45||x<
30)y=1;
elsey=3;
5.intx,y,z;
x=0x46;
x|=0x15;
y=x/10;
z=x%10;
x=;
6.unsignedcharx=1,y,a[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}
a[0]=;
a[x]=;
a[2*y]=
7.intx,y;
while(x<
10)
x++;
y+=x;
8.intx,y=0;
for(x=0;
x<
10;
x++)
x=;
y=。
9.intx=0,y=0;
while(x<
10.intx,y=0;
y*=x;
11.intx,y=1;
for(x=1;
3;
12.intx=0,y=1;
4)
13.intx=0,y=0;
14.unsignedcharx,y,a[5]={23,67,12,89,43};
x=0;
for(y=0;
y<
5;
y++)
a[y])
x=a[y];
15.unsignedcharx,y,a[5]={23,67,12,89,43};
x=100;
if(x<
16.unsignedcharx,y,a[5]={23,67,12,89,43};
x=12;
if(a[y]==x)
break;
17.unsignedcharx,y,a[5]={23,67,12,89,43};
x=15;
18.unsignedcharx=15,y=0,a[5]={23,67,12,89,43};
while(a[y]!
=x)y++;
19.unsignedcharx=15,y=0,a[5]={15,15,12,89,43};
while(a[y]==x)y++;
20.voiddelay()
{inti,j,k;
for(i=1;
8;
i++)
for(j=20;
j>
j--)
for(k=248;
k>
k--);
}
main()
{inti,temp;
while
(1)
{P2=0xff;
delay();
P2=0xfe;
temp=0xfe;
for(i=0;
{P2=temp<
i;
i=6时,P2=。
并说明其程序功能。
21.#include<
at89x51.h>
charb[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
voiddelay()
{inti,j;
for(i=20;
i>
i--)
for(j=248;
j--);
voidmain()
{inta;
a=0;
P2=0X3F;
P3=0X3F;
while
(1)
{if(P1!
=0xff)
if(P1!
{
switch(P1)
{case0xfe:
a++;
P2=b[a/10];
P3=b[a%10];
break;
case0xfd:
a--;
P2=b[a/10];
case0xfb:
a=0;
if(a==99)
while(P1!
=0xff);
}}}
分别说明P1为0xfe时功能,P1为0xfd时功能
,P1为0xfb时功能。
22.#include<
inta[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
b[2]={0x01,0x02};
intc=60,i,x[2],j,k;
{TMOD=0x10;
TH1=0X9E;
TL1=0X58;
EA=1;
ET1=1;
TR1=1;
x[0]=c/10;
x[1]=c%10;
{P3=b[i];
P2=a[x[i]];
for(k=120;
}}
voidds()interrupt3
{TH1=0X9E;
j++;
if(j==40)
{j=0;
c--;
定时时间为,中断源编号为,并简要说明其功能
。
23.#include<
TMOD=0x01;
TH0=0XB1;
TL0=0XE0;
EA=0;
ET0=0;
TR0=1;
{if(TF0==1)
{TF0=0;
TH0=;
TL0=;
P1_0=~P1_0;
说明其功能。
24.
#include<
reg51.h>
main()
{while
(1)
switch(P1)
{case0xfe:
P2=0x01;
case0xfd:
P2=0x02;
case0xfb:
P2=0x04;
case0xf7:
P2=0x08;
case0xef:
P2=0x10;
case0xdf:
P2=0x20;
case0xbf:
P2=0x40;
case0x7f:
P2=0x80;
default:
P2=0xff;
}}
P1=0xbf时P2=,P1=0xfe时P2=,
P1=0xbe时P2=。
第三题改错
1.本小题共有5处错误,请在不删减原程序指令条数基础上加以改正,请将错误行号和改正后的结果写在答题卡相应位置。
每空1分,错改漏改均不得分。
行号程序
1include<
2voidys(void)
3{
4unsignedcharj,k;
5for(i=2;
6for(j=200;
7for(k=250;
k--)
8}
9voidmain(void)
10{
11unsignedcharj,k;
12j=0x01
13for(k=0;
k<
k++)
14{
15P2=~j;
16ys;
17j=j<
1;
18}
19}
①错误行号修改为
②错误行号修改为
③错误行号修改为
④错误行号修改为
⑤错误行号修改为
2.本小题共有5处错误,请在不删减原程序指令条数基础上加以改正,请将错误行号和改正后的结果写在答题卡相应位置。
1#include<
2unsignedchari;
3bitD1=P1^1;
4voidzd()interrupt3
5{
6THo=(65536-50000)/256;
7TLo=(65536-50000)%256;
8i++;
9if(i==20)
11i=0;
12D1=!
D1;
13}
14}
15main()
16{
17tmod=0x01;
18TH0=(65536-50000)/256;
19TL0=(65536-50000)%256;
20EA=1;
21ET0=1;
22TR0=1;
23i=0;
24while
(1);
25}
⑤错误行号修改为
3.本小题共有5处错误,请在不删减原程序指令条数基础上加以改正,请将错误行号和改正后的结果写在答题卡相应位置。
1#include{reg51.h}
4voidzd()interrupt2
6TH0=(65536-50000)/256;
7TL0=(65536-50000)%256;
8i++
17TMOD=0x01;
24while
(1)
⑤错误行号修改为4.本小题共有5处错误,请在不删减原程序指令条数基础上加以改正,请将错误行号和改正后的结果写在答题卡相应位置。
2voidys1s(void)
3{
4unsignedchari,j,k
5for(i=10;
9voidmain()
11unsignedchara,b;
12a=0x80;
13for(b=0,b<
8,b++)
15p1=~a;
16ys1s()
17a=a>
18}}}
5.改错题:
本大题共有10处错误,请在不删减原程序指令条数基础上加以改正,请将错误行号和改正后的结果写在答题卡相应位置。
每空1分,错改漏改均不得分,共20分。
1#include(reg51.h)
3sbitD1=P1.1;
4voidzdinterrupt1
14}}
17Tmod=0x01;
18Th0=(65536-50000)/256;
19Tl0=(65536-50000)%256;
22TR0=1
①错误行号修改为
③错误行号修改为
④错误行号修改为
⑤错误行号修改为
⑥错误行号修改为
⑦错误行号修改为
⑧错误行号修改为
⑨错误行号修改为
⑩错误行号修改为
6.本小题共有10处错误,请在不删减原程序指令条数基础上加以改正,请将错误行号和改正后的结果写在答题卡相应位置。
1#includ<
AT89x51.h>
2main
4switch<
P2>
6cace0xfe:
P1=0xfe;
7case0xfd;
P1=0xfd;
8case0xfb:
P1=0xfb;
breek;
9case0xf7:
p1=0xf7;
10case0x7f:
P1=0x7f;
break
11case0xbf:
P1=0xbf;
12case0xdf:
P1=0xdf:
13caseoxef:
P1=0xef;
15}
7.本小题共有10处错误,请在不删减原程序指令条数基础上加以改正,请将错误行号和改正后的结果写在答题卡相应位置。
1、#include<
reg51、h>
2、unsignedcharduanma[0]
3、={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
4、unsignedcharjianma[8]
5、={0xfe;
0xfd;
0xfb,0xf7;
0xef;
0xdf;
0xbf;
0x7f};
6、voidyanshi20ms(void)
7、{
8、unsignedcharj,k;
9、foor(j=40;
10、for(k=250:
0:
k--);
11、}
12、voidmain(void)
13、{
14、unsignedcharjishu;
jianhao,saomiao;
15、P2=0x3f;
16、while
(1);
17、{
18、P1=0xff;
19、saomiao=P1;
20、if(saomiao!
21、{
22、yanshi20ms;
23、saomiao=P1;
24、if(saomiao!
25、{
26、for(jishu=0;
jishu<
jishu++)
27、{
28、if(saomiao==jianma[jishu]);
29、{
30、jianhao=jishu+1;
31、break
32、}
33、}
34、P2=duanma{jianhao};
35、}}}}
8.改错题:
本大题共有10处错误,请在不删减原程序指令条数基础上加以改正,请将错误行号和改正后的结果写在对应行后的空白处。
2ucharled[]={0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
3voidys(chara)
4{
5unsignedchari,j,k;
6for(i=a;
7for(j=200;
8for(k=250;
9}
10main()
11{
12Tmod=0X20;
13TH1=0XF3;
14scon=0X50;
15pcon=0;
16TR0=1;
17while
(1)
18{
19if(P1=0xfe)SBUF=led[0];
ys(20);
20if(P1==0xfd)SBF=led[1];
21if(P1==0xfb)SBUF=led[2];
22if(P1==0xf7)SBUF=led[3];
23if(P1==0xef)SBUF=led[4];
24if(p1==0xdf)SBUF=led[5];
25if(P1==0xbf)SBUF=led[6];
26if(P1==0x7f)SBUF=led[7];
27}
28while(TI==1)TI=0
29}
③
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机C51技术 最新 单片机 C51 技术 复习题 资料