最新《单片机C51技术》复习题资料Word格式.docx

上传人:b****6 文档编号:21755964 上传时间:2023-02-01 格式:DOCX 页数:49 大小:28.29KB
下载 相关 举报
最新《单片机C51技术》复习题资料Word格式.docx_第1页
第1页 / 共49页
最新《单片机C51技术》复习题资料Word格式.docx_第2页
第2页 / 共49页
最新《单片机C51技术》复习题资料Word格式.docx_第3页
第3页 / 共49页
最新《单片机C51技术》复习题资料Word格式.docx_第4页
第4页 / 共49页
最新《单片机C51技术》复习题资料Word格式.docx_第5页
第5页 / 共49页
点击查看更多>>
下载资源
资源描述

最新《单片机C51技术》复习题资料Word格式.docx

《最新《单片机C51技术》复习题资料Word格式.docx》由会员分享,可在线阅读,更多相关《最新《单片机C51技术》复习题资料Word格式.docx(49页珍藏版)》请在冰豆网上搜索。

最新《单片机C51技术》复习题资料Word格式.docx

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}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1