欢迎来到天天文库
浏览记录
ID:45033389
大小:627.50 KB
页数:77页
时间:2019-11-08
《C51语言程序设计基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章单片机C51语言设计基础3.1C51的数据3.2C51对单片机主要资源的控制3.3C51的基本运算与流程控制3.4C51的数组与指针3.5C51函数3.6C51的预处理命令3.1C51的数据3.1.1数据类型3.1.2常量与变量3.1.3数据存储类型3.1.4局部变量与全局变量3.1.1数据类型3.1.2常量与变量1.常量C51语言中的常量是不接受程序修改的固定值,常量可以是任意数据类型。C51中的常量有整型常量、实型常量、字符型常量、字符串常量符号常量等。(2)实型常量在整型常量后加一个字母“L”或“l”,表示该数位长整型。例如23L、0Xfd4l等。如果需要的是负值
2、,则必须将负号“-”放置于常量表达式的最前面,例如-0x56、-9等。实型常量又称浮点常量,是一个十进制表示的符号实数。实型常量的值包括整数部分、尾数部分和指数部分。实型常量的形式如下:[digits][.digits][E[+/-]digits]一些实型常量的示例如下:15.75、1.575E1、1575E-3、-0.0025、-2.5e-3、25E-4。(3)字符型常量字符型常量是指用一对单引号括起来的一个字符。如'a'、'9'、'!'等。字符常量中的单引号只起定界作用并不表示字符本身。在C51语言中,字符是按其对应的ASCII码值来存储的,1个字符占1个字节字符串常量是
3、指用一对双引号括起来的一串字符,双引号只起定界作用,如"China"、"123456"等。(5)符号常量C51语言中允许将程序中的常量定义为一个标识符,称为符号常量。符号常量一般使用大写英文字母表示,以区别于一般用小写字母表示的变量。符号常量在使用前必须先定义,定义的形式是:#define标识符常量#definePI3.14159262.变量变量的定义:数据类型变量名;inti,j,k;unsignedcharsi;unsignedintui;doublebalance,profit,loss;C51中常用的:bit、char、int(1)整型变量(INT)16位数据有符号:
4、signedint-32768~32767无符号:unsignedint0~655350x1234存储形式(3)实型变量(2)长整型变量(longint)长整型变量长度是32位,占用4个字节(byte),其他方面和整型变量(int)相似。分为单精度(float)型和双精度(double)型。其定义形式为:floatx,y;//指定x,y为单精度实数doublez;//指定z为双精度实数在一般系统中,一个float型数据在内存中占4个字节(32位),一个double型数据占8个字节(64位)。单精度实数提供7位有效数字,双精度实数提供15~16位有效数字。(4)字符变量CHAR
5、字符变量用来存放字符常量。注意只能存放1个字符。字符变量的定义形式如下:char变量名;例如:charc1,c2;它表示c1和c2为字符变量,各存放1个字符。可以用下面的语句对c1、c2赋值:c1='a';c2='b';字符变量的长度是1字节(byte)即8位。这很适合于8051单片机,因为8051单片机每次可以处理8位数据。变量的类型是位,位变量的值可以是1(true)或0(false)。与8051硬件特性操作有关的位变量必须定位在8051单片机片内存储区(RAM)的可位寻址空间中。3.有符号/无符号问题说明(1)尽量使用无符号变量(2)在编程时,为了书写方便,经常使用简化
6、的缩写形式来定义变量的数据类型:#defineucharunsignedchar#defineuintunsignedint3.1.3数据存储类型数据时存放在51单片机的存储器中的,因此要规定数据的存储类型。P53表3-4常用:data、xdata、code另外:bdata(1)DATA区data区的寻址是最快的,所以应该把经常使用的变量放在data区,但是data区的空间是有限的,data区除了包含程序变量外,还包含了堆栈和寄存器组。data区声明中的存储类型标式符为data,通常指片内RAM的低128字节的内部数据存储的变量,可直接寻址。声明举例如下:unsignedch
7、ardatasystem_status=0;unsignedintdataunit_id[2];chardatainp_string[16];bdata实际是data中的位寻址区,在这个区中声明变量就可以进行位寻址。位变量的声明对状态寄存器来说是十分有用的,因为它可能仅仅需要某一位,而不是整个字节。bdata区声明中的存储类型标识符为bdata,指内部可位寻址的16字节存储区(20H到2FH),数据类型是可位寻址变量的数据类型。(2)BDATA区以下是在BDATA区中声明的位变量和使用位变量的例子:un
此文档下载收益归作者所有