水电电工知识
电工文库|C51单片机的数据类型
2016-02-15  浏览:45
水电之家讯:C51支持C语言的所有标准数据类型,除此之外,还加入了用于专门访问80C51硬件的数据类型,如:bit、sbit、sfr和sfrl6。这些数据类型在ANSIC中是没有的。

bit:声明位变量,其值为0或1。

sbit:声明可位寻址变量中的某个位变量,其值为0或1

sfr:声明特殊功能寄存器,地址范围为:0~255。

sfr16:同上,地址范围为0~65535。

C51编译器支持表5-1列出的数据类型。除了这些变量类型外,变量能被组合到结构、联合和数组中。兼容ANSIC标准的数据类型可通过指针访问,但扩展的bit、sbit、sfr和sfrl6数据类型专用于访问80C51的特殊功能寄存器,故不能通过指针进行访问。

表5-1 C51数据类型

数据类型<?XML:NAMESPACE PREFIX = O />



字节

值的范围

char

8

1

-128~127

unsigned char

8

1

0~255

enum

16

2

-32768~32767

short

16

2

-32768~32767

unsigned short

16

2

0~65535

int

16

2

-32768~32767

unsigned int

16

2

0~65535

long

32

4

-2147483648~2147483647

unsigned long

32

4

0~4294967295

float

32

4

±1.175494E-38~±3.402823E+38

bit

1



0,1

sbit

1



0,1

sfr

8

1

0~255

sfr16

16

2

0~65535

80C51有21个特殊功能寄存器,它们在片内RAM安排了绝对地址,80C51的芯片说明中已经为它们用预定义标识符起了名字。C51要做的就是承认这些标识符并将其与绝对地址联系起来。可以用sfr与sfr16两种标识符。

例5.1 用sfr数据类型定义特殊功能寄存器示例。

sfr SCON = 0x98;

sfr P0 = 0x80;

sfr TMOD = 0x89;

sfr PSW = 0xD0;

说明:sfr之后的寄存器名称必须大写,定义之后可以直接对这些寄存器赋值。

在许多80C51派生系列中可用两个连续地址的特殊功能寄存器指定一个16位值,如:

sfr16 T2 = 0xCDCC

例5.2 用 sbit的数据类型定义位变量示例。

sbit CY = PSW^7;

sbit CY = 0xD0^7;

在sbit声明中,“^”号右边的表达式定义特殊位在寄存器中的位置,值必须是0~7。水电之家为您提供最全面的管材,管件,水电,电线,电工,管材水电品牌的装修知识点和各种管材水电的导购与在线购买服务,拥有最便宜的管材水电价格和最优质的售后服务,每天都有秒杀的抢购活动哦!敬请登陆水电之家:http://shuidian.jc68.com/
更多»您可能感兴趣的文章:
更多»有关 管材 的产品:
  • 水电电工资讯
  • 发表评论 | 0评
  • 评论登陆
  • 移动社区 天花之家 木门之家 灯具之家 铁艺之家 幕墙之家 五金头条 楼梯头条 墙纸头条 壁纸头条 玻璃头条 老姚之家 灯饰之家 电气之家 全景头条 照明之家 防水之家 防盗之家 区快洞察 建材 枣庄建材 临沂建材 南昌建材 上饶建材 抚州建材 宜春建材 吉安建材 赣州建材 鹰潭建材 新余建材 九江建材 萍乡建材 景德镇陶瓷 石家庄建材 衡水建材 廊坊建材 沧州建材 承德建材 建材之家 企业之家 720全景
    (c)2015-2017 BYBC.CN SYSTEM All Rights Reserved