单片机习题册(含答案)(3)

2019-07-27 10:14

}

for(i=500;i>0;i--)

for(j=110;j>0;j--);

【答案】void delay1s( )

4、在横线上将空缺的语句补充完整。 //该程序功能为使第一个数码管显示8 #include

//52系列单片机头文件

sbit dula=P2^6; //申明U1锁存器的锁存端 sbit wela=P2^7; //申明U2锁存器的锁存端 void main() {

① //打开U2锁存器 P0=0xFE; //送入位选信号 wela=0; //关闭U2锁存器

② //打开U1锁存器 P0=0x7F; //送入段选信号 dula=0; //关闭U2锁存器 while(1); //程序停止到这里 }

【答案】①wela=1; ②dula=1;

5、在横线上将空缺的语句补充完整。 //该程序功能为点亮第一个发光二极管 #include //52系列单片机头文件 sbit led1=P1^0; //声明单片机P1口的第一位 //主函数 { }

【答案】void main( )

6、在横线上将空缺的语句补充完整。 #include sbit led1=P1^0; void delay1s(); void main() {

while(1) { }

led1=0;

第 11 页 共 28 页

led1=1;

/*点亮第一个发光二极管*/ /*关闭第一个发光二极管*/

① //调用延时子函数 ② //调用延时子函数

//大循环

//52系列单片机头文件 //宏定义

//声明单片机P1口的第一位 //声明子函数

//主函数

#define uint unsigned int

led1=0; /*点亮第一个发光二极管*/

}

void delay1s() { }

【答案】①delay1s(); ②delay1s();

7、在横线上将空缺的语句补充完整。 #include

#define uint unsigned int void delayms(uint); void main() { }

void delayms(uint xms) { }

【答案】①sbit led1=P1^0; ②delayms(800);

8、在横线上将空缺的语句补充完整。 #include #include #define uint unsigned int #define uchar unsigned char void delayms(uint); uchar aa; void main() {

{

P1=aa;

② //延时500毫秒

第 12 页 共 28 页

//将aa赋初值11111110 //大循环

while(1)

//主函数

//声明子函数 //宏定义

//52系列单片机头文件

uint i,j;

for(i=xms;i>0;i--)

//i=xms即延时约xms毫秒

for(j=110;j>0;j--);

while(1) { }

led1=0; led1=1;

/*点亮第一个发光二极管*/ //延时200毫秒

/*关闭第一个发光二极管*/ //延时800毫秒

delayms(200);

//大循环

//宏定义

//声明子函数 //主函数

uint i,j;

for(i=500;i>0;i--)

for(j=110;j>0;j--);

//子函数体

//52系列单片机头文件

① //声明单片机P1口的第一位为led1

}

}

aa=_crol_(aa,1); //将aa循环左移1位后再赋给aa

void delayms(uint xms) { }

uint i,j;

for(i=xms;i>0;i--)

//i=xms即延时约xms毫秒

for(j=110;j>0;j--);

【答案】①aa=0xfe; ②delayms(500);

203、分支结构程序设计

一、填空题(每空1分)

1、 语句一般用做单一条件或分支数目较少的场合,如果超过3个以上分支的程序,可用多分支选择的switch语句。 【答案】if

2、if语句一般用做单一条件或分支数目较少的场合,如果超过3个以上分支的程序,可用多分支选择 的 语句。 【答案】switch

二、单项选择题(每题1分)

1、在C51语言的if语句中,用做判断的表达式为( D )。

A、关系表达式 B、逻辑表达式 C、算术表达式 D、任意表达式

2、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与( C )组成配对关系。

A. 缩排位置相同的if B. 在其之前未配对的if C. 在其之前未配对的最近的if D.同一行上的if

六、程序题(每题10分)

1、在横线上将空缺的语句补充完整 #include sbit P1_0=P1^0; sbit P1_1=P1^1; sbit P3_0=P3^0; sbit P3_1=P3^1;

//包含头文件REG51.H //定义P1.0引脚位名称为P1_0 //定义P1.1引脚位名称为P1_1 //定义P3.0引脚位名称为P3_0 //定义P3.1引脚位名称为P3_1

//延时函数声明 //主函数

//while循环

//如果P3.0和P3.1状态都为0

void delay(unsigned char i); void main() {

while(1) { if (P3_0==0&&P3_1==0)

{ P1_0=0; P1_1=0; delay(200);

//则点亮左转灯和右转灯

第 13 页 共 28 页

}

else if (P3_0==0) //如果P3.0(左转向灯)状态为1 { P1_0=0; }

else (P3_1==0) delay(200); } else {

; }

//左转灯回到熄灭状态 //右转灯回到熄灭状态

//空语句

//如果P3.1(右转向灯)状态为1

{ P1_1=0; //则点亮右转灯

//则点亮左转灯

delay(200);

P1_0=1; P1_1=1; delay(200); }

//函数名:delay

}

//函数功能:实现软件延时 //形式参数:unsigned char i;

// i控制空循环的外循环次数,共循环i*255次 //返回值:无

void delay(unsigned char i) {

unsigned char j,k; for(k=0;k

【答案】if

2、在横线上将空缺的语句补充完整

//功能:采用switch语句实现的模拟汽车转向灯控制程序 #include sbit P1_0=P1^0; sbit P1_1=P1^1;

void delay(unsigned char i); //延时函数声明 void main() {

unsigned char ledctr; P3=0xff;

//定义转向灯控制变量ledctr //P3口作为输入口,必须先置全1 //读P3口的状态送到ledctr

//主函数

//包含头文件REG51.H //定义无符号字符型变量j和k //双重for循环语句实现软件延时

//延时函数,无符号字符型变量i为形式参数

while(1) { ledctr=P3;

ledctr=ledctr&0x03; //与操作,屏蔽掉高6位无关位,取出P3.0和P3.1引脚的状态(0x03即二进制数00000011B)

第 14 页 共 28 页

(ledctr)

{ case 0:P1_0=1;P1_1=0;break; //如P3.0、P3.1都为0则点亮左、右灯 case 1:P1_1=0; break; //如果P3.1(右转向灯)为0则点亮右灯 case 2:P1_0=0; break; //如果P3.0(左转向灯)为0则点亮左灯

default: ;

//空语句,什么都不做

//延时

} delay(200); P1_1=1; delay(200); } }

//函数名:delay

//函数功能:实现软件延时 //形式参数:unsigned char i;

// i控制空循环的外循环次数,共循环i*255次 //返回值:无

void delay(unsigned char i) {

unsigned char j,k; for(k=0;k

【答案】switch

3、在横线上将空缺的语句补充完整

//功能:采用if语句实现的模拟汽车转向灯控制程序 #include sbit P1_0=P1^0; sbit P1_1=P1^1; sbit P3_0=P3^0; sbit P3_1=P3^1; void main() {

while(1) {

//while循环

if (P3_0==0) P1_0=0; //如果P3.0(左转向灯)状态为0,则点亮左转灯

if (P3_1==0) ; //如果P3.1(右转向灯)状态为1,则点亮右转灯 delay(200); P1_0=1; P1_1=1; delay(200); } }

//函数名:delay

//延时

//左转灯回到熄灭状态 //右转灯回到熄灭状态 //延时

//定义P1.0引脚位名称为P1_0 //定义P1.1引脚位名称为P1_1 //定义P3.0引脚位名称为P3_0 //定义P3.1引脚位名称为P3_1

//延时函数声明 //主函数

//定义无符号字符型变量j和k //双重for循环语句实现软件延时

//延时函数,无符号字符型变量i为形式参数

P1_0=1; //左转灯回到熄灭状态

//右转灯回到熄灭状态

//延时

void delay(unsigned char i);

第 15 页 共 28 页


单片机习题册(含答案)(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:郴州事业单位面试热点:淡化了的职业荣誉感

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: