c51学习手册.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c51学习手册

C51编程学习 作者:刘园珍  PAGE \* MERGEFORMAT 12 一:数据类型·运算符·表达式 C51支持的数据类型 数据类型名称长度值域 基本类型bit1 bit0,1Unsigned char,char1 byte0~255,-128~127Unsigned int,int2byte0~65525,-32768~32767Unsigned long,long4 byte0~4294967295Float4 byte6位数字Double8 byte10位数字 构造类型数组结构体共用体枚举指针类型2~3byte存储空间,最大64KB空类型常量和变量 常量:#define CONST 10 变量:bit b_start //位变量 Char c_start//字符变量 其他略。 C51存储器·寄存器定义 定义:分为片内数据存储器·片外数据存储器·片内程序存储器·片外程序存储器。 1.31 C51的数据存储类型 关键字存储器对应关系data直接寻址片外数据存储器(128byte)bdat片内位寻址存储空间(16byte)idata间接寻址片内数据存储空间,可以访问RAM全部内容pdata分页寻址片外数据存储器(256byte)Xdata片外数据存储器(64KB)Code代码存储器(64KB)例子:char data c_Var; //无符号char型变量,定义到内部存储空间低128byte 1.32 寄存器 Sfr SBUF=0x99; //定义串行数据寄存器 Sfr16 T2=0xcc; //定义T2计时器数据存储器 Sbit D0=P2^1;定义位变量 Sbit CY=0xd7;使用绝对地址定义 使用sbit定义变量空间 Bdata unsigned char uc_shield_byte; Sbit b_x= uc_shield_byte^1; //定义首位 Sbit b_y= uc_shield_byte^2; Sbit b_z=uc_shield_byte^3; 逻辑运算 与: 或: || 非: ! 位逻辑运算 位与: 位或: | 位异或: ^ 位取反: ~ 移位运算 左移位:,个位左移,补0; 右移位:,高位右移,补0; 二:C51控制流 顺序结构 选择结构 If……else语句 If语句 Switch语句 Switch(判断条件) { Case 常量表达式1:{语句块1}break; …… Default:{语句n+1}break; } If和switch嵌套 循环结构 While语句 Do while语句 Do{ 代码块; }while(条件); For语句 三:函数 无参数函数定义 Void 函数名(void)//无参数,无返回值函数定义 { } Int 函数名(char a,char b)//带参数,带返回值函数定义 { } 局部变量和全局变量 静态局部变量和动态局部变量 Static int a;静态(static不可省略) Auto int a;动态(auto可省略) 内部函数和外部函数 (1)内部函数:static unsigned char Fun(int a); 内部函数只能被该源文件中的其他函数调用 (2)外部函数:extern unsigned char Fun(int a); 外部函数可以被其他源文件调用的函数 四:数组和指针 数组: 一维数组: 类型 数组名【size】; 二维数组 类型 数组名【size A】【size B】; 字符数组 Char ch1【】={‘j’,’a’,’c’,’k’,’x’,’u’};以字符形式赋值 Char ch1[]={“jackxu”}; 以字符串形式赋值 指针 指针和指针变量 类型 *变量名 Int *ptr1;float *ptr2;char *ptr3; 指针的引用 Int a=10; Int *p=a; X=a ;直接访问方式 X=*p;间接访问方式 数组和指针 Int a[]={1,2,3,4,5,6,7,8,9,10},*ip; Ip=a; //*ip代表a[0],*(ip+i)代表a[i]; 二维数组与指针同上; 字符串和指针 不能用指针变量来修改字符串常量; 数组,指针和函数的关系 数组可作为函数的参数:int sum(int a[],int num); 指针作为函数参数:int su

文档评论(0)

6358999 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档