77范文网 - 专业文章范例文档资料分享平台

《单片机(C51)技术》A卷 复习题

来源:网络收集 时间:2018-12-27 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

2014 —2015 学年第 二 学期期末考试 《单片机(C51)技术》试卷(A) 班级 姓名 学号 成绩 题号 分值 得分 阅卷人 一 10 二 30 三 20 四 20 五 20 总分 100 装┋┋┋┋┋┋┋┋┋┋┋┋┋┋┋┋┋┋┋┋┋┋┋┋┋┋┋┋┋┋┋┋┋┋┋┋说明:注意书写格式,区分大小写,字迹清晰, 卷面整洁。单片机的时钟频率均为12MHz。 一、填空题(每空1分,共10分) 1.单片机的最小系统除了单片机外还应包括时钟电路、 及电源电路。 2.MCS-51单片机具有一个 位的CPU和 位的程序计数器。 3.若想用 uchar 代换程序中的 unsigned char 则所使用的预处理命令为: ; 4.65= ;67/10= ; 5.数组定义时方括号中的数值必须是 ,该数值反映了数组元素的多少。数组元素的引用采用 加下标的方法。 6.定时计数器T0有四种工作模式。其中模式1由TH1的 和TL1的 构成16位计数器。 二、读程序:写出下列程序段运行完之后的结果。(本大题共3小题,每空3分,共30分。) 1.程序 unsigned char x,y,z; x=x&0x0f; if(x>=10) { z=1; y=x-9; } else { 订线 z=0; y=x; }

运行结果当x=0x35时,程序执行完毕后,x= ;y= ,z= 2.程序

unsigned char x,y; if(x>=30 && x<=45) y=3;

else if(x<30) y=1; else y=5;

运行结果当x的值为30时,y= ;当x=45时,y= ;当x=55时,y= 。 3.程序

#include

char b[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void delay() { int i,j;

for(i=20;i>0;i--) for(j=248;j>0;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= b[a/10] ;P3=b[a] ;break; case 0xfd:a--; P2= b[a/10] ;P3=b[a] ;break; case 0xfb:a=0; P2= b[a/10] ;P3=b[a] ;break; }

if(a==99)

┋┋┋┋┋┋┋┋┋┋┋┋┋┋┋第 1 页( 共 4 页 )

a=0; ④错误行号 修改为 while(P1!=0xff) ; ⑤错误行号 修改为 2.本小题共有5处错误,请在不删减原程序指令条数基础上加以改正,写在答题} } } 卡相应位置。(每空1分,错改漏改均不得分,共10分。) 运行结果分别说明P1为0xfe时P2、P3功能 , P1为0xfd时P2、P3功能功能 ,P1为0xfb时行号 程序 功能P2、P3功能 ,delay()函数执行完循环次数1 #include 为 。 2 unsigned char i;

3 bit D1=P1^1;

4 void zd() interrupt 3 三、改错题

5 {

1.本小题共有5处错误,请在不删减增加原程序指令条数基础上加以改正,写在

6 THo=(65536-50000)/256;

答题卡相应位置。(每空1分,错改漏改均不得分,共10分。)

7 TLo=(65536-50000)%6;

8 i++;

行号 程序

9 if(i==20)

1 include

10 {

2 void ys(void)

11 i=0;

3 {

12 D1=!D1;

4 unsigned char j,k;

13 }

5 for(i=2;i>0;i--)

14 }

6 for(j=200;j>0;j--)

15 main()

7 for(k=250;k>0;k--)

16 {

8 }

17 tmod=0x01;

9 void main (void)

18 TH0=(65536-50000)/256;

10 {

19 TL0=(65536-50000)%6;

11 unsigned char j,k;

20 EA=1;

12 j=0x01

21 ET0=1;

13 for(k=0;k<8;k++)

22 TR0=1;

14 {

23 i=0;

15 P2=~j;

24 while(1);

16 ys;

25 }

17 j=j<<1;

①错误行号 修改为

18 }

②错误行号 修改为

19 }

③错误行号 修改为

①错误行号 修改为

④错误行号 修改为

②错误行号 修改为

⑤错误行号 修改为

③错误行号 修改为

第 2 页( 共 4 页 )

四、修改程序与完善程序:(本大题共2小题,每小题10分,共20分。) 1.将主程序中斜体部分的程序语句修改为函数,并保持程序的完整性,答 采用外部中断INT0实现数码管从0~9的循环显示,每按一次按键时,数码管显示变化一次,编写外部中断函数。

#include

案写在程序右边的横线上。功能:显示数字59。

#include unsigned char duanma[10]= {0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char weima[2]={0x02,0x01}; unsigned char xianshi[2] ={0,0}; char jishu1; unsigned char j,k; main() { xianshi[0]=duanma[5];

xianshi[1]=duanma[9]; while(1) { P2=weima[jishu1];

P1=xianshi[jishu1];

jishu1++; if(jishu1==2)

{jishu1=0;}

for(j=20;j>0;j--) for(k=250;k>0;k--); } } 2.完成以下程序的编写

功能说明:说明P2口接一位共阴数码管,P3.2接一个按键。

unsigned char disp[10]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char num=0;

void main (void) {

EA=1; EX0=1; IT0=1; P2=disp[num]; while(1); }

五、编程题:共20分(参见电子版试卷 第五题编程)

本题为开放型试题,不限编程方法。

第 3 页( 共 4 页 )

第 4 页( 共 4 页 )

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库《单片机(C51)技术》A卷 复习题在线全文阅读。

《单片机(C51)技术》A卷 复习题.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/391882.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: