- 1、本文档共267页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第10章MCS-51单片机的C51程序设计及应用
10.1C51数据类型与存储类型
10.2运算符
10.3流程控制语句
10.4构造数据类型
10.5C51指针(*)
10.6C51函数
10.7预处理器
10.8基于C51的MCS-51单片机接口程序设计
习题与思考题
10.1C51数据类型与存储类型
不论是变量还是常量都有自己的数据类型。
在程序运行过程中,其值可以改变的量称为变量。一个变
量主要由两部分构成:变量名和变量值。每个变量都有一个变
量名,在单片机片内或片外RAM中占据一定字节数(根据数据
类型的不同)的存储单元,并在该RAM单元中存放该变量的值。
在程序运行过程中,其值不能改变的量称为常量。与变量
一样,常量也有不同的数据类型。如0、1、3、-5等为整型常
量;3.6、-6.39等为实型常量;A、b 等为字符型常量。
可以用一个标识符代表一个常量,例如,用标识符PAI代
表圆周率3.14。
通常,将标识符代表的符号常量名用大写字母表示,变量
用小写字母表示,以方便区别。这是程序员的习惯,并非语法
限定。
C51同C语言一样对标识符是区分大小写的,即abc与Abc
是两个不同的变量;PAI与Pai是两个不同的符号常量。例如用
标识符PAI代表圆周率3.14。用标识符Pai代表圆周率3.1415926。
C51支持的数据类型分为基本数据类型、构造数据类型和指针
类型。
下面具体介绍基本数据类型,构造数据类型在10.4节介绍,
指针类型在10.5节介绍。
1.C51基本数据类型
C51的基本数据类型比标准C(ISOC1990)的基本数据类型
多。例如bit类型、sbit类型、sfr类型等是C51有而标准C没有的。
表10-1是C51基本数据类型表,表中最下面5种数据类型是
C51有而标准C没有的。
面向数学运算和数据处理的计算机晶振往往达吉赫兹,而
面向控制的单片机晶振仅10 MHz左右。MCS-51系列单片机对数
据类型的选择,对提高运行效率具有特殊的意义。表10-1所列出
的数据类型中,只有bit和unsignedchar两种数据类型可以直接支
持MCS-51系列单片机的机器指令。对于C51这样的高级语言,
不管使用何种数据类型,虽然某一行C51程序从字面上看,其操
作十分简单,而实际上C51需要经过编译器用一系列机器指令对
每一行C51程序进行复杂的数据类型处理后,才能在单片机中执
行。特别是使用浮点变量时,编译后的程序长度明显增加;单
片机的运算时间也明显增加。例如,程序中使用了浮点变量时,
C51编译器将调用相应的函数库,把它们加到程序中去。
如果我们在编写C51程序时使用大量的、不必要的数据类型变
量,就会导致C51编译器相应地增加所调用的库函数的数量,
以处理大量增加的数据类型变量。这会使编译后的程序变得过
于庞大。所以,如果对运算速度要求较高或代码空间有限,就
要尽可能使用bit和unsignedchar两种数据类型;其他数据类型
尽可能少用或不用。
2.C51存储类型
MCS-51系列单片机将程序存储器(ROM、EPROM、
EEPROM、FLASH)和数据存储器(RAM)分开,并有各自的寻
址引脚(硬件)和寻址方式(软件、指令)相对应。
MCS-51系列单片机在物理上有4个存储空间:
(1)片内程序存储器空间,简称片内ROM,可能是ROM、
OTPROM、EPROM、EEPROM、FLASH中的一种;
(2)片外程序存储器空间,简称片外ROM,可能是ROM、
OTPROM、EPROM、EEPROM、FLASH中的一种;
(3)片内数据存储器空间,简称片内RAM;
(4)片外数据存储器空间,简称片外RAM。
变量的存储类型就是指该变量存放在以上4个存储空间的
哪一个空间。
C51的6种存储类型见表10-2。各种存储类型所占的位数,
字节数如表10-3所示。
3.C51存储模式
存储模式决定变量的默认存储类型,C51存储模式分为三
种,它们是SMALL存储模式、COMPACT存储模式和LARGE
存储模式。如果在定义变量时没有定义存储类型,C51编译器
会根据SMALL存储模式、COMPACT存储模式和LARGE存储
模式自动选择默认的存储类型。
“存储模式”也称为“编译模式”,其说明见表10-4。
例如,如果我
您可能关注的文档
- 《单片机原理及应用》课件第7章 单片机并行扩展技术new.ppt
- 《单片机原理与应用》课件第7章.ppt
- 《OrCAD和PADS Layout电路设计与实践》课件第12章.ppt
- 《OrCAD和PADS Layout电路设计与实践》课件第11章.ppt
- 《SolidWorks机械设计基础教程》课件第4章.ppt
- 《OrCAD和PADS Layout电路设计与实践》课件第6章.ppt
- 《单片机实验与实训指导》课件第4章.ppt
- 《OrCAD和PADS Layout电路设计与实践》课件第14章.ppt
- 《OrCAD和PADS Layout电路设计与实践》课件第7章.ppt
- 《ARM Linux嵌入式系统开发基础》课件第2章.ppt
文档评论(0)