单片机控制系统运行与维护 C51中的基本数据类型 C51中的基本数据类型.doc

单片机控制系统运行与维护 C51中的基本数据类型 C51中的基本数据类型.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机控制系统运行与维护 单片机控制系统运行与维护 PAGE 1 C51中的基本数据类型 一、学习目的与要求 1.熟悉C51的基本数据类型。 2.掌握C51中的基本数据类型区别。 二、学习方法 1.学习本课程,首先要精读教材和讲义。 2.根据教材内容,结合例题及习题掌握C51的基本数据类型。 三、授课内容 C51的数据类型分为基本数据类型和复杂数据类型。基本数据类型有整型、实型和字符型,还包括专门用于MCS-51单片机的位类型(bit)、特殊功能寄存器类型(sfr,sfr16)、可寻址位类型(sbit)。复杂数据类型可以由基本数据类型构造而成。 1. 字符型char 字符型变量分为有符号和无符号两种,有符号型用char(或signed char)表示,无符号型用unsigned char表示。它们的长度为8位,占用1个字节。MCS-51系列单片机是8位机,所以字符型变量非常适合于此类单片机使用。 对于signed char类型,它用于定义有符号单字节数据,其字节的最高位为符号位,“0”表示正数,“1”表示负数,补码表示,所能表示的数值范围是-128~+127。 对于unsigned char类型,它可用于定义无符号单字节数据,其取值范围为0~255;也可以存放西文字符,一个西文字符占一个字节,在单片机内部用ASCII码存放。 2. 整型int 整型变量也分为有符号和无符号两种,有符号整型用singed int表示,无符号整型用unsigned int表示。它们的长度16位,占用2个字节。 对于signed int类型,用于存放2字节有符号数,补码表示,数值范围是-32768~+32767。 对于unsigned int类型,用于存放2字节无符号数,数值范围是0~65535。 3. 长整型long 长整型变量也分为有符号和无符号两种,有符号长整型用singed long表示,无符号整型用unsigned long表示。它们的长度均为32位,占用4字节。 对于signed long类型,用于存放四字节有符号数,补码表示,数值范围为-2147483648~+2147483647。 对于unsigned long类型,用于存放4字节无符号数,数值范围为0~4294967295。 4. 浮点型float float型数据变量为32位,占4个字节。格式符合IEEE-754标准的单精度浮点型数据,精度为24位,尾数的高位始终为“1”,因而不保存。最高位为符号位,“1”表示负数,“0”表示正数,其次的8位为阶码,最后的23位为尾数。 5. 指针型* 指针型*本身就是一个变量,在这个变量中存放着指向另一个数据的地址。这个指针变量要占用一定的内存单元,对不同的处理器其长度不一样,在C51中它的长度一般为1~3个字节。 6. 特殊功能寄存器sfr AT89S51系列单片机内部定义了26个特殊功能寄存器,它们不连续地分布在片内RAM的高128字节中,地址为80H~FFH。 sfr是C51扩展的一种数据类型,与标准的C语言不兼容,只适用于对51单片机进行C编程。sfr类型数据占用1字节,值域为0~255。利用它可以访问单片机内部的所有8位特殊功能寄存器。 对sfr操作,只能用直接寻址方式,用sfr定义特殊功能寄存器地址的格式为: sfr 特殊功能寄存器名=特殊功能寄存器地址; 例如: sfr P0=0x80; //定义P0口地址为0x80 sfr P1=0x90; //定义P1口地址为0x90 在关键字sfr后面必须跟一个标识符作为寄存器名,名字可任意选取。等号后面是寄存器的地址,必须为80H-FFH之间的常数,不允许为带运算符的表达式。 7. 16位特殊功能寄存器sfr16 在新一代的51系列单片机中,特殊功能寄存器经常组合成16位来使用。采用sfr16可以定义这种16位的特殊功能寄存器。sfr16也是C51扩展的数据类型,占用2字节,值域为0~65535。 sfr16和sfr一样用于定义特殊功能寄存器,所不同的是它用于定义占2字节的寄存器。例如AT89S52的定时器T2,使用地址0xcc和0xcd作为低字节和高字节,可以用如下方式定义: sfr16 DPTR=0x82; //定义DPTR,低8位地址为0x82,高8位地址为0x83 8. 位类型bit 位类型bit是C51编译器的一种扩充数据类型,利用它可定义一个位类型变量,但不能定义位指针,也不能定义位数组。它的值是一个二进制位,只有0或1,与某些高级语言的布尔型数据True和False类似。 9. 可寻址位sbit sbit类型也是C51的一种扩充数据类型,利用它可以访问芯片内部RAM中的可位寻址位或特殊功能寄存

文档评论(0)

WanDocx + 关注
实名认证
内容提供者

大部分文档都有全套资料,如需打包优惠下载,请留言联系。 所有资料均来源于互联网公开下载资源,如有侵权,请联系管理员及时删除。

1亿VIP精品文档

相关文档