《单片机原理及应用》教学课件 第7章-单片机C语言编程基础知识.pptxVIP

《单片机原理及应用》教学课件 第7章-单片机C语言编程基础知识.pptx

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2;;;5;;;1.标识符;2.关键字;表7-1 C51的关键字(续);Keil软件中的C51编译器支持的数据类型如表7-2所示。;12;13;14;(2)浮点型常量 浮点型常量可分为十进制和指数两种表示形式。 ① 十进制浮点型常量由数字和小数点组成,整数或小数部分为0时可以省略,但必须要保留小数点,如,,,.25,300.等。 ② 指数浮点型常量表示形式为:[±]数字[.数字]e[±]数字。[]中的内容为可选项,如125e3,7e9,?3.0e?3等。; (3)字符型常量 将单个字符放在单引号内的常量就是字符型常量,如ad等。有一类字符型常量专门用来表示控制字符,如回车符、换行符等,它们被称为转义字符,其表示方式为在字符前面加上一个反斜杠“\”,如\n。常用转义字符如表7-3所示。; (4)字符串型常量 该常量通常由放在双引号内的一个或多个字符组成,如testOK等。当双引号内没有字符时,该字符串为空字符串。 在C51语言中,字符串常量是被当作字符类型数组来处理的。在存储字符串时系统会在字符串尾部加上“\0”转义字符作为该字符串的结束符。例如,字符串常量A和字符常量A是不同的,前者在存储时多占用一个字节的空间。;2.变量; 变量的定义格式如下: [存储类型] 数据类型 [存储器类型] 变量名表 在定义格式中,除了数据类型和变量名表是必要的,其他的都是可选项。 (1)存储类型 不同存储类型的变量或不同位置定义的变量都具有不同的作用范围,这个有效范围即是变量的作用域。在单片机程序中,变量的存储种类可以分为自动变量、全局变量、静态变量和寄存器变量。 ① 自动变量 定义变量时,在变量名前面加上关键字auto,即把该变量定义为自动变量。它一般出现在函数内部或复合语句中,其作用范围是本函数或复合语句内部,如果省略关键字auto,即默认该变量为自动型变量。 ; 在程序执行过程中,自动变量的存储空间是动态分配的。当程序执行到该变量的声明语句时,编译器根据变量类型自动为其分配存储空间;当函数或复合语句执行完毕后,自动变量的??储空间将立刻被取消,自动变量失效。 ② 全局变量 此类变量以关键字extern标识。全局变量一般定义在所有函数的外部,其作用域是从全局变量定义的位置到源文件结束,它可以被作用域范围内的任何函数调用。全局变量有时也称为外部变量。 ③ 静态变量 此类变量以关键字static标识。从变量的作用域来看,静态变量和自动变量类似,其作用域是定义该变量的函数的内部。如果静态变量定义在函数外部,它将具有全局变量的作用域。 ; 从内存占用的角度来看,静态变量和全局变量类似,一旦分配存储空间,它始终占有该内存空间,直至程序运行结束。 ④ 寄存器变量 单片机的CPU寄存器中也可以保存少量的变量,这种变量称为寄存器变量。寄存器变量以关键字register标识。单片机对CPU寄存器的读写速度要远高于对其他类型变量的访问速度,所以把最频繁使用的变量定义为寄存器变量可以有效地提高程序运行速度。 由于单片机资源有限,系统只允许同时定义两个寄存器变量。如果多于两个,编译时系统会自动将其他寄存器变量当做非寄存器变量来处理。 ; (2)存储器类型 存储器类型用于指定变量在C51硬件系统中所使用的存储区域,这样便于在编译时进行准确定位。Keil软件所能识别的存储器类型如表7-4所示。 ; 如果在定义变量时省略了存储器类型,编译系统会按照默认的存储模式去指定变量的存储区域,这些存储模式包括small,compact和large。 ① small存储模式 该模式是将函数参数和局部变量都放置在片内RAM中(默认变量类型为data,最大128字节)。另外,其他所有对象(包括栈)也都优先放置在片内RAM区,当片内RAM用满时,再放置到片外RAM中。 ② compact存储模式 此种存储模式是将参数和局部变量都放置在片外RAM区(默认存储类型是pdata,最大256字节),变量需要通过间接寻址方式进行访问。 ③ large存储模式 该模式是将参数和局部变量放在片外RAM中(默认的存储类型是XDATA,最大64KB);变量需要使用数据指针DPTR通过间接寻址方式访问。; (3)对变量进行绝

文档评论(0)

一帆风顺 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档