一C数据类型C数据类型与标准C数据类型的最大不同.ppt

上传人:本田雅阁 文档编号:3240489 上传时间:2019-08-05 格式:PPT 页数:12 大小:374.54KB
返回 下载 相关 举报
一C数据类型C数据类型与标准C数据类型的最大不同.ppt_第1页
第1页 / 共12页
一C数据类型C数据类型与标准C数据类型的最大不同.ppt_第2页
第2页 / 共12页
一C数据类型C数据类型与标准C数据类型的最大不同.ppt_第3页
第3页 / 共12页
一C数据类型C数据类型与标准C数据类型的最大不同.ppt_第4页
第4页 / 共12页
一C数据类型C数据类型与标准C数据类型的最大不同.ppt_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《一C数据类型C数据类型与标准C数据类型的最大不同.ppt》由会员分享,可在线阅读,更多相关《一C数据类型C数据类型与标准C数据类型的最大不同.ppt(12页珍藏版)》请在三一文库上搜索。

1、 Copyright http:/ 2006 一、C51数据类型 C51数据类型与标准C数据类型的最大不同之处:位型。 位型(bit) 字符型(char) 整型(int) 长整型(long) 浮点型(float) 双精度浮点型(double) 数组类型(array) 结构体类型(struct) 共用体(union) 枚举(enum) 基本类型 构造类型 指针类型 空类型 数据类型 7.1 C51数据类型与运算 Copyright http:/ 2006 C51数据类型的取值范围: 数据类类型长长度(bit)长长度(byte)值值域范围围 bit10,1 unsigned char810255

2、signed char81128127 unsigned int162065535 signed int162 3276832767 unsigned float 32404294967295 signed float324 2147483648 2147483647 float324 1.176E-38 3.40E+38(6位数字) double648 1.176E-38 3.40E+38(10位数字) 一般指针针243存储储空间间065535 7.1 C51数据类型与运算 Copyright http:/ 2006 二、C51数据存储类型 1. C51存储类型与MCS-51单片机存储空间的

3、对应 关系 存储类型与存储空间的对应关系 data直接寻址片内数据存储区,访问速度快(128字节) bdata 可位寻址片内数据存储区,允许位与字节混合访问(16字节 ) idata 间接寻址片内数据存储区,可访问片内全部RAM地址空间 (256字节) pdata分页寻址片外数据存储区(256字节),由MOVX Ri访问 xdata寻址片外数据存储区(64K字节),有MOVX DPTR访问 code寻址代码存储区(64K字节),有MOVC DPTR访问 7.1 C51数据类型与运算 Copyright http:/ 2006 2. C51存储类型及其大小和值域 存储类型长度(bit)长度(by

4、te)值域范围 data810255 idata810255 pdata810255 xdata162065535 code162065535 7.1 C51数据类型与运算 Copyright http:/ 2006 3.51单片机的存储模式 存储模式说 明 SMALL 参数及局部变量放入可直接寻址的片内存储器(最 大128字节,默认存储类型是data),因此访问十分方便。另 外所有对象,包括栈,都必须嵌入片内RAM。栈长很关键, 因为实际栈长依赖于不同函数的嵌套层数 COMPACT 参数及局部变量放入分页片外存储区(最大256字 节,默认的存储类型是 pdata),通过寄存器R0和R1间接寻

5、 址,栈空间位于内部数据存储区中 LARGE 参数及局部变量直接放入片外数据存储区(最大 64KB,默认存储类型为 xdata),使用数据指针DPTR来进 行寻址。用此数据指针访问的效率较低,尤其是对二个或多 个字节的变量,这种数据类型的访问机制直接影响代码的长 度,另一不方便之处在于这种数据指针不能对称操作 7.1 C51数据类型与运算 Copyright http:/ 2006 三、C51定义SFR 定义方法:两个关键字:sfr和sbit 1.定义特殊功能寄存器用sfr 例如: sfr PSW=0xD0;/*定义程序状态字PSW的地址为D0H*/ sfr TMOD=0x89;/*定义定时器

6、/计数器方式控制寄存器TMOD的地址为 89H*/ sfr P1=0x90;/*定义P1口的地址为90H*/ 2.定义可位寻址的特殊功能寄存器的位用sbit 例如: sbit CY=0xD7;/*定义进位标志CY的地址为D7H*/ sbit AC=0xD06;/*定义辅助进位标志AC的地址为D6H*/ sbit RS0=0xD03;/*定义RS0的地址为D3H*/ 7.1 C51数据类型与运算 Copyright http:/ 2006 标准SFR在reg51.h、reg52.h 等头文件中已经被定 义,只要用文件包含做出申明即可使用。 例如: #include ”reg51.h” sbit

7、P10=P10; sbit P12=P12; main() P10=1; P12=0; PSW=0x08; 7.1 C51数据类型与运算 Copyright http:/ 2006 四、C51定义并行口 单片机内部并行口用sfr定义,外部并行口的定义如何定义? 用指针定义,指针的定义在absacc.h头文件中 例如: #include “absacc.h” #define PA XBYTE0xffec main() PA=0x3A; /*将数据3AH写入地址为0xffec的存储单元或I/O 端口*/ XBYTE是一个指针,它将PA定 义为一个外部并行口,其地址是 FFECH。 Copyrigh

8、t http:/ 2006 五、C51定义位变量 使用关键字bit 例如: bit lock;/*将lock定义为位变量*/ bit dirention;/*将direction定义为位变量*/ 注意:不能定义位变量指针;也不能定义位变量数组 。 Copyright http:/ 2006 六、C51运算符、表达式及其规则 1.算术运算符 加法运算符 减法运算符 乘法运算符 除法运算符 模运算或取余运算符 为自增运算符 为自减运算符。 关系运算符 小于 小于等于 大于 大于等于 等于 ! 不等于 doublefloat intchar long unsigned 高 低 这四个运算符的优先级相同,处于高优先级 这两个运算符的优先级相同,处于低优先级 Copyright http:/ 2006 逻辑运算符 & 逻辑与 | 逻辑或 ! 逻辑非 位运算符 & 按位与相当于ANL指令 | 按位或 相当于ORL指令 按位异或相当于XRL指令 按位取反相当于CPL指令 右移相当于RR指令 Copyright http:/ 2006 赋值运算符 赋值运算符就是赋值符号“=” 复合赋值运算符 十种:, , , , ,。 按优先级顺序结合运算。 例如: a+=b 等价于a=(a+b) x*=a+b 等价于x=(x*(a+b) a&=b 等价于a=(a&b) a=4 等价于a=(a4)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1