云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 单片机原理与应用及C51程序设计第4章习题答案

单片机原理与应用及C51程序设计第4章习题答案

  • 62 次阅读
  • 3 次下载
  • 2025/5/1 17:14:59

第4章习题答案

4-2有哪里些数据类型是MCS-51系列单片机直接支持的?

答:见P89,基本类型:字符型,整型,长整型,浮点型,特殊功能寄存器; 构造类型:数组类型,结构体类型,共用体,枚举 指针类型 空类型

4-3 C51特有的数据结构类型有哪些? 答:特殊功能寄存器,位类型

4-4 C51的存储类型有几种?它们分别表示的存储器区域是什么? 答:见P94页:存储器类型有:data, bdata,idata,pdata,xdata 4-5 C51中bit位与sbit位有什么区别?

答:bit是定义一个一般的位变量;而使用sbit定义可位寻址字节或是特殊功能寄存器的的位,定义时必指定其位地址,其存储空间为内部RAM中的位寻址区20H-2FH(位地址为:00H~7FH),

4-6 在C51通过绝对地址来访问的存储器有几种方式?

答:使用C51运行库中预定义宏,通过指针访问,使用C51扩展关键字_at_ 4-7 在C51中,中断函数与一般函数有什么不同? 答:见P112页:7点

4-8 按指定存储器类型和数据类型,写出下列变量的说明形式 答:(1)在data定义字符变量var11: char data var11 (2)在idata定义整型变量var12: char idata var12

(3)在xdata定义无符号字符数组var11[4]: unsigned char xdata var13[4] (4) 在 xdata定义一个指向无符号字符的指针px: unsigned char xdata* px (5)定义可寻址位变量flag: bit flag;

(6)定义特殊功能寄存器变量p3: sfr p3=0xb0

(7) 定义特殊功能寄存器变量SCON:sfr SCON = 0x98

(8)定义16位特殊功能寄存器变量T0:sfr16 T0=0x8a (无法真正与实际相匹配) 4-9 设a=3,b=4,c=5,写出下列关系表达式或逻辑表达式的结果 答: (1) a+b>c && b==c (False) (2) a||b+c&&b-c (True) (3)!(a>b) && !c|| 1 (True)

(4)!(a+b)+c-1&&b+c/2 (True)

4-10 break与continue语句的区别是什么?

答:见P110; 使用break语句可以跳出switch和循环体,提前结束循环而接着执行循环结构下面的语句

continue语句使用在循环体结构中,用于结束本次循环,跳过该语句下面尚未执行的语句,直接进行下一否执行循环的判断。

4-11用分支结构编程实现,输入”1”时显示“A”,输入”2”时显示“B”,输入”3”时显示“C”,输入”4”时显示“D”,输入”5”时结束。 答:#include

#include

#define uchar unsigned char #define uint unsigned int uchar I;

1

void main() {

scanf(“%d”,&i); swtch (i) {

case 1: printf(“A”),break; case 2: printf(“B”),break; case 3: printf(“C”),break; case 4: printf(“D”),break; case 5: break;

default: printf(“Error!”); }

While(1); }

4-12 输入3无符号数据,要求按由大到小的顺序输出。解:#include

#include

#define uchar unsigned char #define uint unsigned int uint a,b,c; void main() {

uint max, min, med;

scanf(\ if (a>b && b>c)

{ max=a; med=b; min=c;} else if (a>b && bc) { max=a; med=c; min=b;} else if (a>b && ba && b

{ max=c; med=b; min=a;} else if (b>a && b>c && a>c) { max=b; med=a; min=c;} else

{ max=b; med=c; min=a;}

printf(\}

4-13 用3种循环结构编写程序实现输出1-10的平方和 解:#include

#include

2

#define uchar unsigned char #define uint unsigned int uint sum=0; void main {

uchar i,Square; for (i=1;i<=10;i++) {

sum = sum +i*i; }

printf(”sum=%d,”sum); i=1;

while (i<=10) {

sum = sum +i*i; i++; }

printf(”sum=%d,”sum); i=1; do {

sum = sum +i*i; i++;

printf(”i%d^2=%d,”i,Square); } while (i>10)

printf(”sum=%d,”sum); }

4-14 对一个5个元素的无符号字符数组按由大到小的顺序输出解:

#include #include

#define uchar unsigned char #define uint unsigned int uint i, n=5, j, m;

uint a[]={210,108,65,49,72}; void main() {

for (i=1; i

for (j=0; j

3

if (a[j]

m=a[j]; a[j]=a[j+1]; a[j+1]=m; } } }

printf(\ for (i=0; i

printf(\ } }

4-15 用指针实现输入设备个无符号字符数据按由大到小的顺序输出。#include #include

#define uchar unsigned char #define uint unsigned int uint i, n=5, j, m;

uint a[]={210,108,65,49,72}; uint *p; void main() { p=a;

for (i=1;i

for (j=0;j

if (*(p+j)<*(p+j+1)) {

m=*(p+j);

*(p+j)=*(p+j+1); *(p+j+1)=m; } } }

printf(\ for (i=0; i

printf(\ } }

4

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

第4章习题答案 4-2有哪里些数据类型是MCS-51系列单片机直接支持的? 答:见P89,基本类型:字符型,整型,长整型,浮点型,特殊功能寄存器; 构造类型:数组类型,结构体类型,共用体,枚举 指针类型 空类型 4-3 C51特有的数据结构类型有哪些? 答:特殊功能寄存器,位类型 4-4 C51的存储类型有几种?它们分别表示的存储器区域是什么? 答:见P94页:存储器类型有:data, bdata,idata,pdata,xdata 4-5 C51中bit位与sbit位有什么区别? 答:bit是定义一个一般的位变量;而使用sbit定义可位寻址字节或是特殊功能寄存器的的位,定义时必指定其位地址,其存储空间为内部RAM中的位寻址区20H-2

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com