单片机C语言案例教程习题解答

2019-03-22 20:39

单片机C语言案例教程习题解答 习题1

1. 在图1-3中,若MCU的P0.0和P2.0两引脚均为低电平,则四位数码管上有何显示。

解:由图1-3可知,P0.0引脚为低电平,将使四位数码管的a笔划为低电平,P2.0为低电平,则使Q3导通,即数码管千位管的8个发光二极管正极为高电平,从而使千位管显示其a笔划。

2. 设有定义“sbit qw=P2^0;”,和赋值语句“qw=0;P0=0Xfe”,则将如何影响MCU的输

出引脚?

解:qw=0,,就是使P2.0为低电平,则使Q3导通,即数码管千位管的8个发光二极管正极为高电平,P0=0xfe,就是使P0.0为低电平,P0.1~P0.7为高电平。从而使千位管显示其a笔划。

3. 画出案例6源程序的函数架构及函数调用路线图。

解:案例6源程序的函数架构及函数调用路线图如下:

4. 将案例6源程序中Delay函数的for循环之式子2“i<500”分别改为“ i<5000”和

“ i<50000”后重新编译和下载运行,对比循环终值从500变成5000、再从5000变成50000对显示效果的影响。

解:先在数码管的千位管上显示8,其余各管无显示;再在百位管上显示0,其余各管无显示;又在十位管上显示5,其余各管无显示;再在个位管上显示1,其余各管无显示;

5. 写出图1-3中,数码管在单片机学习板中的电路连接要点。

解:四位数码管的8只笔段电极从a到小数点被依次接于P0.0到P0.7上,从左至右的四只位置电极被接在受控于P2.0至P2.3的Q3至Q6的集电极回路. 6. 写出图1-3中,DS1302在单片机学习板中的电路连接要点。

解: DS1302的时钟线SCLK与8051的P2.7相接,数据线DATA与P2.6相接,复位线RST与P2.5相接.

7. 写出图1-3中,AT24C02在单片机学习板中的电路连接要点。

解:AT24C02的串行时钟线SCL与8051的P3.6相接,串行数据线与P2.7所接,AT24C02的写保护脚WP接地(允许写入)。 习题2

1 设有如下定义: int a; crar b;

unsigned int c; unsigned char d;

则a称为什么变量?它表示数的起止范围是什么?b哪?c哪?d哪?

解:a称为整型号变量,它表示的数的起止范围是-32768~32767;b称为字符型变量,所表示数的起止范围是-128~127;c称为无符号整型变量,所表示数的起止范围是0~65535;d称为无符号字符型变量,所表示数的起止范围是0~225。 2 试说明语句“a+1;”与语句“a++”的区别。 解:“a+1”表示变量a与1的和,“a++”表示用变量a与1的和对变量a赋值;前者的a没有被赋值,后者的a被赋值。

3 写出if语句的一般形式、画出if语句的流程图,说明if语句的执行规则。 解:if语句的一般形式:

if(表达式) 语句

if语句的流程图

执行规则:首先对表达式进行判断,如果计算结果为“真”,那么执行“语句”,否则跳过“语句”。

4 写出if-else语句的一般形式、画出if-else语句的流程图,说明if-else语句的执行规则。 解:if?else语句的一般形式如下:

if(表达式)

语句1

else

语句2

if?else语句的流程图

其执行规则:首先计算表达式的值,如果为真,则执行语句1,否则执行语句2。

5 写出不带break的switch语句的一般形式,画出其流程图,说明其执行规则。 解:switch语句的一般形式如下:

switch (表达式) {

case 常量表达式1: 语句1 case 常量表达式2: 语句2 ?

?

case 常量表达式n: 语句n default: 语句n+1 }

其中不带break的switch结构流程图如右图。

不带break的switch语句的执行过程是:

首先计算小括号中的整型表达式的值,并以此寻找所匹配的常量表达式,匹配的常量表达式若是常量表达式x,流程就从常量表达式x进入switch结构,若没有一个能匹配的,流程就从default处进入switch结构,只要进入后,就从进入处就执行完到“}”为止的所有语句。

6写出带break的switch语句的一般形式,画出其流程图,说明其执行规则。

解:带break的switch语句的一般形式:

switch (表达式) {

case 常量表达式 1: 语句1 break; case 常量表达式 2: 语句2 break; ?

?

case 常量表达式 n: 语句n break; default: 语句n+1 }

带break的switch结构流程图如右图

带break的switch语句的执行过程是:

首先计算小括号中的整型表达式的值,并以此寻找所匹配的常量表达式,匹配的常量表达式若是常量表达式x,流程就从常量表达式x进入switch结构,若没有一个能匹配的,流程就从default处进入switch结构,进入switch结构后,若遇上break语句,流程就从该break语句上跳出switch结构;否则,就从进入处就执行完到“}”为止的所有语句,。

7 写出for语句的一般形式,画出其流程图,说明其执行规则。

解:for语句的一般形式:

for(表达式1;表达式2;表达式3) {

语句组 }

其中,”for(表达式1;表达式2;表达式3)”可称为循环头,下面大括号所界定范围称为循环体。

for语句的流程图如右图

它的执行规则如下:

A:先计算表达式1,再转B;

B:计算表达式2,若其值为真(1),则转C,若其值为假(0)则转E; C:执行for下面大括号中的语句组,执行完后转D;

D:计算表达式3,结束本次循环,转回B开始下一次循环;

E:结束循环。流程转出整个for循环结构,也就是去执行for循环结构后面的第一条语句。 8 写出while语句的一般形式,画出其流程图,说明其执行规则。 解:while语句的一般形式如下:

while(表达式) {

语句组 }

其流程图如下

执行规则如下:

先计算表达式,若表达式计算不为0,就执行一次循环体语句组,然后返回再次计算表达式。如此重复,直到表达式的值计算为0时,流程转出循环结构。另外,当且仅当大括号括住的语句组只是一个语句时,大括号也可省略

9 写出do-while语句的一般形式,画出其流程图,说明其执行规则。 解:do…while语句的一般形式:

do {

语句组

}while(表达式);

其流程图如图2-10所示。

其执行规则是:首先执行一次循环体语句,此后计算表达式的值;若表达式为1,就又返回去执行循环体语句;再计算表达式,若?;直到计算的表达式的值为0,流程就退出整个do?while结构。

还要注意的是,在do-while语句中,最后的”while(表达式)”后面的那一分号’:”不可少.

10 写出一维数组定义的一般形式。

解:一维数组定义的一般形式是:

类型说明符 数组名[常量表达式];

11写出二维数组定义的一般形式。

解:二维数组定义的一般形式:

类型说明符 数组名[常量表达式1][常量表达式2];

12 写出无参数函数定义的一般形式。

解:无参数函数定义的一般形式为:

类型标识符 函数名() {

函数体语句 }

13 写出有两个参数的函数定义的一般形式。

解:有两个参数函数定义的一般形式如下:

类型标识符 函数名(类型标识符 变量名1,类型标识符 变量名2) {


单片机C语言案例教程习题解答.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:“一任务双主三段七环节”翻转课堂教学模式探索实践 - 图文

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

马上注册会员

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