C51数据类型与运算.ppt

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

7.1 C51数据类型与运算 一、C51数据类型 C51数据类型与标准C数据类型的最大不同之处:位型。 7.1 C51数据类型与运算 C51数据类型的取值范围: 7.1 C51数据类型与运算 二、C51数据存储类型 1. C51存储类型与MCS-51单片机存储空间的对应关系 7.1 C51数据类型与运算 2. C51存储类型及其大小和值域 7.1 C51数据类型与运算 3.51单片机的存储模式 7.1 C51数据类型与运算 三、C51定义SFR 定义方法:两个关键字:sfr和sbit 1.定义特殊功能寄存器用sfr 例如: sfr PSW=0xD0;/*定义程序状态字PSW的地址为D0H*/ sfr TMOD=0x89;/*定义定时器/计数器方式控制寄存器TMOD的地址为89H*/ sfr P1=0x90;/*定义P1口的地址为90H*/ 2.定义可位寻址的特殊功能寄存器的位用sbit 例如: sbit CY=0xD7;/*定义进位标志CY的地址为D7H*/ sbit AC=0xD0^6;/*定义辅助进位标志AC的地址为D6H*/ sbit RS0=0xD0^3;/*定义RS0的地址为D3H*/ 7.1 C51数据类型与运算 标准SFR在reg51.h、reg52.h 等头文件中已经被定义,只要用文件包含做出申明即可使用。 例如: #include ”reg51.h” sbit P10=P1^0; sbit P12=P1^2; main() { P10=1; P12=0; PSW=0x08; …… } 7.1 C51数据类型与运算 四、C51定义并行口 单片机内部并行口用sfr定义,外部并行口的定义如何定义? 用指针定义,指针的定义在absacc.h头文件中 例如: #include “absacc.h” #define PA XBYTE[0xffec] main() { PA=0x3A; /*将数据3AH写入地址为0xffec的存储单元或I/O端口*/ } 7.1 C51数据类型与运算 五、C51定义位变量 使用关键字bit 例如: bit lock;/*将lock定义为位变量*/ bit dirention;/*将direction定义为位变量*/ 注意:不能定义位变量指针;也不能定义位变量数组。 7.1 C51数据类型与运算 六、C51运算符、表达式及其规则 1.算术运算符 + ——加法运算符 - ——减法运算符 *——乘法运算符 /——除法运算符 % ——模运算或取余运算符 ++——为自增运算符 --——为自减运算符。 ⒉ 关系运算符 < ——小于 <= ——小于等于 > ——大于 >= ——大于等于 == ——等于 != ——不等于 7.1 C51数据类型与运算 ⒊ 逻辑运算符 ——逻辑与 || ——逻辑或 ! ——逻辑非 ⒋ 位运算符 ——按位与 相当于ANL指令 | ——按位或 相当于ORL指令 ^——按位异或 相当于XRL指令 ~ ——按位取反 相当于CPL指令 ——左移 相当于RL指令 ——右移 相当于RR指令 7.1 C51数据类型与运算 ⒌ 赋值运算符 赋值运算符就是赋值符号“=” ⒍ 复合赋值运算符 十种:+=,-=, *=,/=, %=, ﹠=,︱=, ^=,=, =。 按优先级顺序结合运算。 例如: a+=b 等价于a=(a+b) x*=a+b 等价于x=(x*(a+b)) a=b 等价于a=(ab) a=4 等价于a=(a4) 7.2 C51流程控制语句 一、选择语句 1.if语句 以下三种形式: if(表达式){语句;} if(表达式){语句1;} else {语句2;} if(表达式1){语句1;} else if(表达式2){语句2;} else if(表达式3){语句3;} …… else if(表达式n){语句n;} else {语句n+1;} 7.2 C51流程控制语句 例1: if (p1!=0) {c=20;} 例2: if (p1!=0) {c=20;} else {c=0;} 例3: if (a=1) {c=10;} else if (a=2) {c=20;} else if (a=3) {c=30;} else if (a=4) {c=40;} else {c=0;} 7.2 C51流

文档评论(0)

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

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

1亿VIP精品文档

相关文档