单片机原理与应用 作者 杭和平 第4章_单片机的C51编程语言.pptVIP

单片机原理与应用 作者 杭和平 第4章_单片机的C51编程语言.ppt

  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文档。上传文档
查看更多
第4章 单片机的C51编程语言 第4章 单片机的C51编程语言 4.1 C51编程语言概述 4.2 C51的标识符和关键字 4.3 C51的变量与数据类型 4.4 C51语言的数组、指针与结构 4.5 C51的运算符和表达式 4.6 C51语言的程序结构 4.7 C51语言的函数 4.8 中断服务程序 4.9 C51的预处理 4.10 C51的库函数 4.11 使用C5I编译器时的注意事项 4.1 C51编程语言概述 C51语言编程与汇编语言编程相比的优势 单片机C51与标准ANSl C编译器的主要区别 C51的开发过程 C51的标识符和关键字 4.3 C51的变量与数据类型 常量分为: 变量 存储种类 存储种类 数据类型 局部变量和全局变量 全局变量的缺点 (1)全局变量由C编译器在动态区外的固定存储区域中存储,它在整个程序执行期间均占用存储空间,这将增大程序执行时所占的内存。 (2)全局变量是外部定义的,这将破坏函数的模块化结构,不利于函数的移植。 (3)由于多个模块均可对全局变量进行修改,处理不当时可能导致程序错误,且难以调试。因此应避免使用不必要的全局变量。 有时函数需要引用一个在其后面定义的变量或在另一个程序文件中定义的变量,可使用exten关键字进行外部变量声明。外部变量声明不同于外部变量定义,外部变量只定义一次,而可以多次使用外部变量声明。 数据类型 1.char字符类型 2.int整型 3.long长整型 4.float浮点型 6.bit类型 变量的存储器类型 1.DATA区 2.BDATA区 3.IDATA区 4.PDATA和XDATA区 5.CODE区 存储模式 存储器类型举例 C51语言中的特殊数据类型 1. 8位的特殊功能寄存器sfr 2. 16位的特殊功能寄存器sfr16 3.位变量bit 4.特殊功能位sbit 数组与指针 数组与指针 4.结构 4.4.2 对绝对地址进行访问 4.5 C51的运算符和表达式 C51语言的程序结构 4.6.2 选择结构 4.6.3 循环结构 4.7 C51语言的函数 4.8 中断服务程序 4.9 C51的预处理 4.10 C51的库函数 4.11 使用C51编译器时的注意事项 5.逻辑运算符 用逻辑运算符将关系表达式或逻辑量连接起来就是逻辑表达式:   逻辑与:条件式1 条件式2。 逻辑或:条件式1 || 条件式2。 逻辑非:!条件式。 例如a = 7, b = 6, c = 0时,则: !a =0, !c=1。 a b =1; !a b=0; b || c =1。 (a0) (b3) =1; (a8) (b0) =0。 6.位运算符 C51语言能进行按位操作,从而使C51语言也具有一定的对硬件直接进行操作的能力。位运算符的作用是按位对变量进行运算,但并不改变参与运算的变量的值。如果要求按位改变变量的值,则要利用相应的赋值运算。位运算符不能用来对浮点型数据进行操作。位运算一般的表达形式如下: 变量1 位运算符 变量2 C51中共有6种位运算符: 按位与 | 按位或 ^ 按位异或 ~ 按位取反 左移 右移 位运算符也有优先级,从高到低依次是:“~”(按位取反),?“”(左移),?“”(右移),?“”(按位与),?“^”(按位异或),? “|”(按位或)。 如a = 0x54 = 0101 0100B, b = 0x3b = 0011 1011B,则: a b = a | b = a ^ b = ~a = a2 = b1 = 6.复合运算符 复合运算符就是在赋值运算符“=”的前面加上其他运算符。以下是C51语言中的复合赋值运算符: += 加法赋值 = 右移位赋值 -= 减法赋值 = 逻辑与赋值 *= 乘法赋值 |= 逻辑或赋值 /= 除法赋值 ^= 逻辑异或赋值 %= 取模赋值 ~= 逻辑非赋值 = 左移位赋值 其含义就是变量与表达式先进行运算符所要求的运算,再把运算结果赋值给参与运算的变量。其实这是C语言中简化程序的一种方法,凡是二目运算都可以用复合赋值运算符去简化表达。例如:a+=56等价于a=a+56,y/=x+9 等价于 y=y/(x+9)。 C51语言的“语句”可以是以“;”号结束的简单语句,也包括用“{ }”组成的复合语句。 C51语言大致可分为三种基本结构:顺序结构、选择结构和循环结构。 4.6.1 顺序结构 单片机上电后或复位后是从地址0000

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档