《单片机(C51)技术》复习题.doc_第1页
《单片机(C51)技术》复习题.doc_第2页
《单片机(C51)技术》复习题.doc_第3页
《单片机(C51)技术》复习题.doc_第4页
《单片机(C51)技术》复习题.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一.填空题(每空1分,共10分)1单片机的最小系统除了单片机外还应包括时钟电路. 及电源电路。2MCS-51单片机具有一个 位的CPU和 位的程序计数器。3MCS-51单片机执行指令所用的时间以机器周期为单位,1个机器周期= 时钟周期。4如果单片机的晶振频率为12MHZ,那么机器周期为 ,如果单片机的晶振频率为6MHZ,那么机器周期为 。5用Keil C51软件编写C语言源文件时应保存为扩展名为 的文件,用PROTEUS软件进行仿真时应下载扩展名为 的代码文件。6编译预处理命令是计算机将C语言编译为机器语言是进行的预处理,编译预处理命令以 开头,末尾不加 。7C51语言中有字符型、整型、浮点型指针型和位变量等几种基本变量类型,其中,字符型变量所占用的长度为 Byte。整型变量所占用的长度为 Byte。8若想用uchar代换程序中的unsigned char则所使用的语句为: ; 9.在编程过程中,变量必须先 后使用。#define N 5 语句中N为 (常量.变量)。10.在程序运行中,其值可以改变的量称为变量。一个变量主要由两部分构成:一个是 ,一个是 。1165%10= ;67/10= ;919%100= ;0x7f的十进制数为 。12逻辑表达式的结合性为 。逻辑表达式的值应该是一个逻辑值“真”或“假”,以 代表假,以 代表真。13函数是具有一定功能的程序段,C语言程序有主函数. 和用户自定义函数。函数的定义不能嵌套。一段程序只能有且只有一个 函数。14有两种方法可以终止子函数运行并返回到调用它的函数中:一是执行到函数的 返回;二是执行到语句 返回,并可以带回返回值。15在Keil C中,如果被调函数定义在调用函数之后,则在函数调用之前必须进行 。16.unsigned char a10;定义了一个 型数组a,数组长度为 ,可用的下标为 。unsigned char m36;定义了一个 维数组m,数组元素的个数为 。17数组定义时方括号中的数值必须是 ,该数值反映了数组元素的多少。数组元素的引用采用 加下标的方法。18P1=0XFE;P1=P12;移位后P1= 。19循环结构是程序设计中的一种基本结构,循环结构的语句有: . 和do-while语句。20在循环体中加入break语句可以改变循环的运行过程,遇到break;结束 。21语句for(i=0;i=5;i+);控制的循环次数为 。语句for(i=5;i0;i-);控制的循环次数为 。若i=5,语句while(i=10) z=1; y=x-9; else z=0; y=x; 当x=0x45时,程序执行完毕后,x= ;y= ,z= 当x=0x48时,程序执行完毕后,x= ;y= ,z= 2unsigned char x,y;if(x30)if(x=30 & x=45)y=3;else if(x45 | x30)if(x30)y=1;else y=5;else y=3;当x的值为20时,y= ;当x=40时,y= ;当x=50时,y= 。5int x,y,z;x=0x46;x|=0x15;y=x/10;z=x%10;x= ;y= ,z= 6unsigned char x=1,y, a10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6fa0= ; ax= ; a2*y= 7int x,y;while(x10) x+; y+=x; 8 int x,y=0; for(x=0;x10;x+) y+=x; x= ;y= 。9 int x=0,y=0; while(x10) x+; y+=x; x= ;y= 。10int x,y=0; for(x=0;x10;x+) y*=x; x= ;y= 。11int x,y=1; for(x=1;x3;x+) y*=x; x= ;y= 。12 int x=0,y=1; while(x4) x+; y*=x; x= ;y= 。13int x=0,y=0; while(x10) x+; y*=x; x= ;y= 。 14unsigned char x,y,a5=23,67,12,89,43; x=0; for(y=0;yay) x=ay; x= ;y= 。 15unsigned char x,y,a5=23,67,12,89,43; x=100; for(y=0;y5;y+) if(xay) x=ay; x= ;y= 。16 unsigned char x,y,a5=23,67,12,89,43; x=12; for(y=0;y5;y+) if(ay=x) break; x= ;y= 。17 unsigned char x,y,a5=23,67,12,89,43; x=15; for(y=0;y5;y+) if(ay=x) break; x= ;y= 。18 unsigned char x=15,y=0,a5=23,67,12,89,43; while(ay!=x) y+; x= ;y= 。19 unsigned char x=15,y=0,a5=15,15,12,89,43; while(ay=x) y+; x= ;y= 。20void delay()int i,j,k;for(i=1;i0;j-)for(k=248;k0;k-);main()int i,temp;while (1)P2=0xff;delay();P2=0xfe;temp=0xfe;for(i=0;i8;i+) P2=tempi;delay();i=6时,P2= 。并说明其程序功能 。21#includechar b=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; void delay() int i,j; for(i=20;i0;i-) for(j=248;j0;j-); void main()int a; a=0; P2=0X3F;P3=0X3F;while(1) if (P1!=0xff)delay();if(P1!=0xff)switch(P1)case 0xfe:a+;P2= ba/10 ;P3=ba%10;break;case 0xfd:a-; P2= ba/10 ;P3=ba%10;break;case 0xfb:a=0; P2= ba/10 ;P3=ba%10;break; if(a=99) a=0;while(P1!=0xff); 分别说明P1为0xfe时功能 ,P1为0xfd时功能 ,P1为0xfb时功能 。22#includeint a10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;b2=0x01,0x02; int c=60,i,x2,j,k;main()TMOD=0x10;TH1=0X9E;TL1=0X58;EA=1;ET1=1;TR1=1;while(1)x0=c/10;x1=c%10;for(i=0;i0;k-); void ds() interrupt 3 TH1=0X9E;TL1=0X58;j+;if(j=40)j=0;c-;定时时间为 ,中断源编号为 ,并简要说明其功能 。23#includemain()TMOD=0x01;TH0=0XB1;TL0=0XE0;EA=0;ET0=0;TR0=1;while(1)if(TF0=1)TF0=0;TH0= ;TL0= ;P1_0=P1_0;说明其功能 。24#include main( ) while(1)switch (P1) case 0xfe:P2=0x01;break; case 0xfd:P2=0x02; break; case 0xfb:P2=0x04; break; case 0xf7:P2=0x08; break; case 0xef:P2=0x10;break; case 0xdf:P2=0x20;break; case 0xbf:P2=0x40; break; case 0x7f:P2=0x80; break; default:P2=0xff; P1=0xbf时P2= , P1=0xfe时P2= ,P1=0xbe时 P2= 。第三题 改错1本小题共有5处错误,请在不删减原程序指令条数基础上加以改正,请将错误行号和改正后的结果写在答题卡相应位置。每空1分,错改漏改均不得分。行号 程序1 include 2 void ys(void)3 4 unsigned char j,k;5 for(i=2;i0;i-)6 for(j=200;j0;j-)7 for(k=250;k0;k-)8 9 void main (void)10 11 unsigned char j,k;12 j=0x0113 for(k=0;k8;k+)14 15 P2=j;16 ys;17 j=j1;18 19 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 2本小题共有5处错误,请在不删减原程序指令条数基础上加以改正,请将错误行号和改正后的结果写在答题卡相应位置。每空1分,错改漏改均不得分。行号 程序1 #include2 unsigned char i;3 bit D1=P11;4 void zd() interrupt 35 6 THo=(65536-50000)/256;7 TLo=(65536-50000)%256;8 i+;9 if(i=20)10 11 i=0;12 D1=!D1;13 14 15 main()16 17 tmod=0x01;18 TH0=(65536-50000)/256;19 TL0=(65536-50000)%256;20 EA=1;21 ET0=1;22 TR0=1;23 i=0;24 while(1);25 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 3.本小题共有5处错误,请在不删减原程序指令条数基础上加以改正,请将错误行号和改正后的结果写在答题卡相应位置。每空1分,错改漏改均不得分。行号 程序1 #includereg51.h2 unsigned char i;3 bit D1=P11;4 void zd() interrupt 25 6 TH0=(65536-50000)/256;7 TL0=(65536-50000)%256;8 i+9 if(i=20)10 11 i=0;12 D1=!D1;13 14 15 main()16 17 TMOD=0x01;18 TH0=(65536-50000)/256;19 TL0=(65536-50000)%256;20 EA=1;21 ET0=1;22 TR0=1;23 i=0;24 while(1)25 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 4本小题共有5处错误,请在不删减原程序指令条数基础上加以改正,请将错误行号和改正后的结果写在答题卡相应位置。每空1分,错改漏改均不得分。行号 程序1 #include2 void ys1s(void)3 4 unsigned char i,j,k5 for(i=10;i0;i-)6 for(j=200;j0;j-)7 for(k=250;k0;k-);8 9 void main()10 11 unsigned char a,b;12 a=0x80;13 for(b=0,b1;18 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 5改错题:本大题共有10处错误,请在不删减原程序指令条数基础上加以改正,请将错误行号和改正后的结果写在答题卡相应位置。每空1分,错改漏改均不得分,共20分。行号 程序1 #include(reg51.h)2 unsigned char i;3 sbit D1=P1.1;4 void zd interrupt 15 6 TH0=(65536-50000)/256;7 TL0=(65536-50000)%256;8 i+9 if(i=20)10 11 i=0;12 D1=!D1;13 14 15 main()16 17 Tmod=0x01;18 Th0=(65536-50000)/256;19 Tl0=(65536-50000)%256;20 EA=1;21 ET0=1;22 TR0=123 i=0;24 while(1)25 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 6本小题共有10处错误,请在不删减原程序指令条数基础上加以改正,请将错误行号和改正后的结果写在答题卡相应位置。每空1分,错改漏改均不得分。行号 程序1 #includ2 main3 4 switch5 6 cace 0xfe:P1=0xfe;break;7 case 0xfd;P1=0xfd;break;8 case 0xfb:P1=0xfb;breek;9 case 0xf7:p1=0xf7;break;10 case 0x7f:P1=0x7f;break11 case 0xbf:P1=0xbf;break;12 case 0xdf:P1=0xdf:break;13 case oxef:P1=0xef;break;14 15 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 7本小题共有10处错误,请在不删减原程序指令条数基础上加以改正,请将错误行号和改正后的结果写在答题卡相应位置。每空1分,错改漏改均不得分。行号 程序1、 #include2、 unsigned char duanma03、 =0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;4、 unsigned char jianma85、 =0xfe;0xfd;0xfb,0xf7;0xef;0xdf;0xbf;0x7f;6、 void yanshi20ms(void)7、 8、 unsigned char j,k;9、 foor(j=40;j0;j-)10、 for(k=250:k0:k-);11、 12、 void main(void)13、 14、 unsigned char jishu;jianhao,saomiao;15、 P2=0x3f;16、 while(1);17、 18、 P1=0xff;19、 saomiao=P1;20、 if(saomiao!=0xff)21、 22、 yanshi20ms;23、 saomiao=P1;24、 if(saomiao!=0xff)25、 26、 for(jishu=0;jishu8;jishu+)27、 28、 if(saomiao=jianmajishu);29、 30、 jianhao=jishu+1;31、 break32、 33、 34、 P2=duanmajianhao;35、 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 8改错题:本大题共有10处错误,请在不删减原程序指令条数基础上加以改正,请将错误行号和改正后的结果写在对应行后的空白处。每空1分,错改漏改均不得分,共20分。行号 程序1 #include2 uchar led=0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;3 void ys(char a)4 5 unsigned char i,j,k;6 for(i=a;i0;i-)7 for(j=200;j0;j-)8 for(k=250;k0;k-)9 10 main()11 12 Tmod=0X20;13 TH1=0XF3;14 scon=0X50;15 pcon=0;16 TR0=1;17 while(1)18 19 if(P1= 0xfe)SBUF=led0;ys(20);20 if(P1=0xfd) SBF=led1;ys(20);21 if(P1=0xfb)SBUF=led2;ys(20);22 if(P1=0xf7)SBUF=led3;ys(20);23 if(P1=0xef)SBUF=led4;ys(20);24 if(p1=0xdf)SBUF=led5;ys(20);25 if(P1=0xbf)SBUF=led6;ys(20);26 if(P1=0x7f)SBUF=led7;ys(20);27 28 while(TI=1)TI=029 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 9本小题共有10处错误,请在不删减原程序指令条数基础上加以改正,请将错误行号和改正后的结果写在对应行后的空白处。每空1分,错改漏改均不得分。行号 程序1 #include2 int duanx03 =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 a14 p3=0;15 for(a=0,a10,a+)16 17 P2=duanx(a);18 delayms1000;19 20 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 错误行号 修改为 10本小题共有10处错误,请在不删减原程序指令条数基础上加以改正,请将错误行号和改正后的结果写在对应行后的空白处。每空1分,错改漏改均不得分。 行号 程序 1 #include2 sbit led3 =0xfe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论