《单片机(C51)技术》复习题 下载本文

26 if(P1==0x7f)SBUF=led[7];ys(20); 27 }

28 while(TI==1)TI=0 29 }

①错误行号 修改为 ②错误行号 修改为 ③错误行号 修改为 ④错误行号 修改为 ⑤错误行号 修改为 ⑥错误行号 修改为 ⑦错误行号 修改为 ⑧错误行号 修改为 ⑨错误行号 修改为 ⑩错误行号 修改为

9.本小题共有10处错误,请在不删减原程序指令条数基础上加以改正,请将错误行号和改正后的结果写在对应行后的空白处。每空1分,错改漏改均不得分。 行号 程序

1 #include 2 int duanx[0]

3 ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; 4 void delayms(unsigned int ms) 5 {

6 unsignedchar t; 7 while(ms--); 8 {

9 for(t = 0; t < 120; t++); 10 } } 11 main(); 12 { 13 int a

第16页(共41页)

14 p3=0;

15 for(a=0,a<10,a++) 16 {

17 P2=duanx(a); 18 delayms[1000]; 19 } 20 }

①错误行号 修改为 ②错误行号 修改为 ③错误行号 修改为 ④错误行号 修改为 ⑤错误行号 修改为 ⑥错误行号 修改为 ⑦错误行号 修改为 ⑧错误行号 修改为 ⑨错误行号 修改为 ⑩错误行号 修改为

10.本小题共有10处错误,请在不删减原程序指令条数基础上加以改正,请将错误行号和改正后的结果写在对应行后的空白处。每空1分,错改漏改均不得分。

行号 程序

1 #include 2 sbit led[]

3 ={0xfe,0xfd,0xfb,0xf7,0x7f,0xbf,0xdf,0xef}; 4 void ys(char a); 5 {

6 unsigned char j,k; 7 for(i=a;i>0;i--) 8 for(j=200;j>0;j--) 9 for(k=250;k>0;k--) 10 } 11 main()

第17页(共41页)

12 { 13 bit i;

14 for(i=0;i<8;i++); 15 {

16 p1=led[i]; 17 ys(10) 18 }} }

①错误行号 修改为 ②错误行号 修改为 ③错误行号 修改为 ④错误行号 修改为 ⑤错误行号 修改为 ⑥错误行号 修改为 ⑦错误行号 修改为 ⑧错误行号 修改为 ⑨错误行号 修改为 ⑩错误行号 修改为

11.改错题:本大题共有10处错误,请在不删减原程序指令条数基础上加以改正,请将错误行号和改正后的结果写在对应行后的空白处。每空1分,错改漏改均不得分,共20分。

行号 程序

1 #include

2 #define uchar unsigned char 3 #define uint unsigned int 4 bit LED1 = P0^0; 5 sbit LED2 = P0^1; 6 sbit LED3 = P0^2; 7 sbit LED4 = P0^3; 8 sbit K1 = P1^0; 9 sbit K2 = P1^1; 10 sbit K3 = P1.2; 11 sbit K4 = P1^3;

12 void DelayMS(uint x) 13 {

14 uchar t;

第18页(共41页)

15 while(x--) 16 {

17 for(t=120;t>0;t--);}} 18 void main 19 {

20 p0=0xff; 21 P1=oxff; 22 while(1); 23 {

24 LED1 = K1; 25 LED2 = K2; 26 if(K3==0)

27 { while(K3==0)

28 { LED3=~LED3; } 29 } 30 if(K4=0)

31 { while(K4==0)

32 { LED4=~LED4; } 33 }

34 DelayMS(10) 35 } 36 }

①错误行号 修改为 ②错误行号 修改为 ③错误行号 修改为 ④错误行号 修改为 ⑤错误行号 修改为 ⑥错误行号 修改为 ⑦错误行号 修改为 ⑧错误行号 修改为 ⑨错误行号 修改为 ⑩错误行号 修改为

12.改错题:本大题共有10处错误,请在不删减原程序指令条数基础上加以改正,请将错误行号和改正后的结果写在对应行后的空白处。每空1分,错改漏改均不得分,共20分。 行号 程序

1 #include 2 void yanshi02s(void) 3 {

第19页(共41页)

4 int j,k; 5 for(i=2;i>0;i--) 6 for(j=200;j>0;j--) 7 for(k=250;k>0;k--) 8 } 9 void main 10 { 11 while 12 {

13 p2=0x01; 14 yanshi02s; 15 P2=0x02; 16 yanshi02s[]; 17 P2=0x04; 18 yanshi02s() 19 P2=ox08; 20 yanshi02s(); 21 }}

①错误行号 修改为 ②错误行号 修改为 ③错误行号 修改为 ④错误行号 修改为 ⑤错误行号 修改为 ⑥错误行号 修改为 ⑦错误行号 修改为 ⑧错误行号 修改为 ⑨错误行号 修改为 ⑩错误行号 修改为

13.改错题:本大题共有10处错误,请在不删减原程序指令条数基础上加以改正,请将错

误行号和改正后的结果写在对应行后的空白处。每空1分,错改漏改均不得分,共20分。 行号 程序

第20页(共41页)