网站大量收购独家精品文档,联系QQ:2885784924

[工学]补充:C51程序设计基础.ppt

  1. 1、本文档共127页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]补充:C51程序设计基础

C51程序设计基础 2.1.1 C51特点 C51语言与ANSI C的对比 2.1.2 C51编程的例子 2.1.2 C51编程的例子 2.1.2 C51编程的例子 2.1.3 C51的标识符和保留字 2.1.3 C51的标识符和保留字 2.1.4 C51的数据类型 2.1.4 C51的数据类型 2.1.4 C51的数据类型 C51扩充数据类型:bit、sfr或sfr16、sbit 2.1.4 C51的数据类型 2.1.5 C51的常量 5. 符号常量 2.1.6 变量 2.1.6 变量 存储类型 (1)data区 data区的寻址是最快的,所以应该把经常使用的变量放在data区,但是data区的空间是有限的,data区除了包含程序变量外,还包含了堆栈和寄存器组。 data区声明中的存储类型标式符为data,通常指片内RAM的低128字节的内部数据存储的变量,可直接寻址。 声明举例如下: unsigned char data system_status=0; unsigned int data unit_id[2]; char data inp_string[16]; (2)bdata bdata实际是data中的位寻址区,在这个区中声明变量就可以进行位寻址。位变量的声明对状态寄存器来说是十分有用的,因为它可能仅仅需要某一位,而不是整个字节。 以下是在bdata区中声明的位变量和使用位变量的例子: unsigned char bdata status_byte; unsigned int bdata status_word; unsigned long bdata status_dword; sbit stat_flag=status_byte^4; if(status_word^15) { … } stat_flag=1; (3)idata区 idata区也可以存放使用比较频繁的变量,使用寄存器作为指针进行寻址。idata区声明中的存储类型标识符为idata,指内部的256字节的存储区,但是只能间接寻址,速度比直接寻址慢。 (4)pdata区和xdata区 pdata区和xdata区属于外部数据存储区,外部数据区是可读可写的存储区,最多可以有64KB。 在这两个区,变量的声明与在其他区的语法是一样的,但pdata区只有256字节而xdata区可达65536字节。 unsigned char xdata system_status=0; unsigned int pdata unit_id[2] ; char xdata inp_string[16] ; float pdata out_value; (5)程序存储区code 程序存储区的数据是不可改变的,跳转向量和状态表对code段访问和对xdata区访问的时间是一样的。编译的时候要对程序存储区中的对象进行初始化,否则就会产生错误。 程序存储区code声明的标识符为code,在C51语言编译器中可以用code存储区类型标识符来访问程序存储区。下面是程序存储区声明的例子: unsigned char code a[ ]= {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x10,0x11,0x12,0x13,0x14,0x15}; 变量存储类型定义举例: unsigned char data var1; bit bdata flags; float idata x,y,z; unsigned int pdata dimension; unsigned char xdata vector[10][4][4]; 编译模式 编译模式 使用C51变量时应注意的问题 尽量使用短变量 尽量使用无符号变量 尽量避免使用浮点类型变量或指针 在编程时,为了书写方便,经常使用简化的缩写形式来定义变量的数据类型: #define uchar unsigned char 使用位变量。 用局部变量代替全局变量 为变量分配内部存储区 2.1.7 C51的常用运算符 算术运算符 逻辑运算符 位运算符 复合赋值运算符 例如: a+=b //a=(a+b) x*=a+b //x=(x*(a+b)) a=b //a=(ab) a=4 //a=(a4) 算

文档评论(0)

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

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档