单片机应用技术实例教程第3章 51单片机的C51语言基础.pptVIP

单片机应用技术实例教程第3章 51单片机的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文档。上传文档
查看更多
第3章 51单片机的C51语言基础 《单片机应用技术实例教程(C51版)》 --高等院校嵌入式人才培养规划教材 本章主要内容 3.1 C51语言的数据、运算符和表达式 3.2 C51语言的结构 3.3 C51语言的函数 3.4 C51语言的数组和指针 3.5 C51语言的自构造类型 3.6 本章总结 前一页 前一页 3.1 51单片机通信接口基础 3.1.1数据和数据类型 3.1.2常量和变量 3.1.3存储器和寄存器变量 3.1.4算术运算、赋值、逻辑运算 3.1.5位操作 3.1.6自增减、复合和逗号运算 3.1.7运算符的优先级 首页 前一页 3.1.1数据和数据类型 数据是51系列单片机操作的对象,是具有一定格式的数字或者数值。数据按照一定的数据类型进行的排列、组合和架构称为数据结构,C51支持的数据类型如表3.1(详见教材)所示,可以分为基本数据类型、构造数据类型和指针类型三大类。 基本数据类型包括位型、字符型、整型、长整型、浮点型和双精度浮点型,其中字符型、整型和长整型可以分为有符号型和无符号型。 构造数据类型可以分为数组、结构体、共用体和枚举类型,它们是若干个基本数据类型的集合体。 指针类型是专门用来存放对象地址的数据类型,可以指向系统中任何一个地址单元,具有很大的灵活性,是C51语言的强大数据类型。空类型常常用于函数返回值,如果某一个函数不返回任何数值,则可以定义为空类型。 在程序操作中,常常需要将一种类型的数据赋值给另外一种类型的数据,这种操作可以使用专用函数进行,也可以由编译器自动完成,一般来说,编译器会把长度短的数据类型自动转换位长度长的数据类型,以确保数据不丢失。 前一页 3.1.2常量和变量 C51语言的数据可以分为常量和变量两种,前者在程序执行过程中其值不能发生变化,后者在程序执行过程中其值可以改变。 1. 常量 常量是在程序执行过程中不能改变的值。按照数据类型,常量可以分为整型常量、字符型常量等。 通常来说,可以使用预定义关键字“#define”对常量进行定义,使用一个标识符代替一个常量,例3.1给出了几个常用的常量定义的实例。 【例3.1】常量定义(实例代码详见教材) 2. 变量 变量是在程序执行过程中可以发生改变的值,在使用前必须先声明,变量有3个相关参数:变量名、变量值和变量地址。 ●变量名:变量的名称,由用户自己定义,是一个起始字符为字符或者下划线,随后字符必须是字母、数字或者下划线的字符组合。 ●变量值:变量对应的具体数值。 ●变量地址:变量对应的51单片机的存储单元地址单元,也是变量值对应的存放地址。 变量按照数据类型可以划分为位变量、字符变量、整型变量、浮点型变量等,例3.2是几个常用的变量定义示例。 【例3.2】变量定义(实例代码详见教材) 除了上面提到的几种数据类型之外,字符型、整型以及长整型变量还可以分为unsigned和signed两种类型,其中unsigned数据类型的变量值始终是一个正数,它是51单片机可以直接运算的数据,不需要做额外的转换,所以在需要加快程序代码的执行速度而不需要执行负数运算的时候,应该尽可能地将signed类型数据变量定义为unsigned变量,如例3.3所示。 【例3.3】变量定义(实例代码详见教材) 前一页 3.1.3存储器和寄存器变量 51单片机的存储器分为片内数据存储器、片外数据存储器、片内程序存储器和片外程序存储器,另外在片内数据存储器中还存在寄存器单元,故在C51程序中可以使用不同的存储器或者寄存器来存放数据。 1. C51语言的数据存储类型 C51可以使用相关关键字将数据存放到指定的存储空间中,如表3.2(详见教材)所示,例3.4是各种数据存储空间对应的变量定义示例。 【例3.4】数据存储空间定义(实例代码详见教材) 如果在定义变量时省略了关键字,C51语言的编译器会则自动地选择默认的存储类型,通常来说会有SMALL、COMPACT和LARGE三种模式,在这些模式下C51应用代码中变量的存放地点和传递方式都是固定的。同时,C51编译器也支持混合模式,例如可以在LARGE模式下对一些需要快速执行的函数使用SMALL模式来加快执行过程,具体如表3.3(详见教材)所示。 2. 寄存器 C51语言支持用户使用关键字sfr和sfr16来定义51单片机的片内寄存器,如例3.5所示,其中sfr16定义的是寄存器双字节的低位字节地址。 【例3.5】使用sfr和sfr16定义寄存器和【例3.6】使用sbit定义位变量和【例3.7】使用sbit定义变量空间(实例代码详见教材) 3. 位变量 前面介绍了使用bit和sbit关键字来分别定义位变量,需要注意的是,位变量必须定义在位寻址单元中,也就是这些

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档