C51语言学习..pptVIP

  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文档。上传文档
查看更多
C 5 1 语 言 基 础 单片机程序结构 Keil软件的基本应用 标识符与关键字 数据类型 变量及其存储模式 常量 运算符 基本语法 共用体、结构体 宏定义 特殊功能寄存器的C51定义 文件包含 数组与指针 函数 C51程序的书写规则 一、单片机程序结构 C51是以函数为基本单位来组织程序的。单片机的C51程序应包含主函数、中断服务函数、子函数。主函数是唯一的,且无限循环。中断服务函数根据具体使用情况可以有一个或几个。单片机程序一定需要我们自行编写一定数量的子函数,供主函数和中断服务函数调用,来简化书写及逻辑分析工作。一个完整的C51程序通常包括如下部分: 头文件包含 单片机端口位功能定义 宏定义 全局变量定义 主函数(一个) 中断服务函数(多个) 自定义子函数(多个) 二、Keil软件的基本应用 Keil软件的基本应用包括如下部分: 新建工程 设置工程 编辑及编译C51文件 仿真运行调试 三、标识符与关键字 1、标识符 变量名、函数名等都是标识符。标识符最大长度为32个字符。标识符只能由字母、数字、下划线构成,且第一个字符必须是字母或下划线。 标识符的命名必须有实际意义,通常用几个英文单词连在一起,尽量做到通过其名称就知道它的类型及作用。变量名前还要加上说明变量数据类型的前缀缩写。建议的书写形式如下: uc_keyboard_input_data 或 ucKeyboardInputData。 2、关键字 关键字又称保留字,被C51编译器占用。我们自行定义的变量名和函数名等标识符不能与关键字相同。在Keil环境 中编辑C51文件时,那些“蓝色”的单词就是关键字。 四、数据类型 数据类型指该类型的数据能表示的数值范围。C51的数据类型如下: 1、为什么要区分变量的数据类型? 因为单片机处理数据类型小的变量比处理数据类型大的变量快,处理无符号变量比处理有符号变量快,且单片机内部资源及其运算能力相对有限。因此,为了提高程序执行效率,应尽可能使用数据类型小的无符号变量。变量处理速度的决定因素有两个,数据类型是其中之一。 2、变量数据类型的关键问题 实际应用中数据的值不能超过该类型变量的表示范围。比如物料检测系统,需要定义一个变量对物料进行计数,物料可能的最大量为500,unsigned char类型显然不能满足要求,该变量最合适的数据类型应该是unsigned int。 数据类型转换。C51能对不同的数据类型作隐式转换。例如,有几个不同数据类型的变量同时参加运算,C51会自动先将那些低级类型的数据转换成高级类型,然后再运算处理。 在多个变量参与数学运算的时候,运算结果的数据类型是参加运算的所有变量中级别最高的那种,可我们经常会遇到运算结果超出了级别最高的那种数据类型所能表示的数据范围。这就要求我们根据运算结果对变量类型进行临时性强制转换,以解决计算过程中发生“溢出”的问题。数据类型强制转换的书写格式为:(要转换成的数据类型)(变量)。 五、变量及其存储模式 1、变量定义的语法格式 变量数据类型说明 变量存储位置说明 变量名 单片机中的变量有3种不同的RAM存储位置,分别是data区、idata区和xdata区。data区对应单片机内部RAM的低128字节,idata区对应单片机内部RAM的高128字节,xdata区对应单片机外部扩展的RAM。在data区的变量处理最快,idata区次之,xdata区最慢。变量在RAM中的存储位置,是变量处理速度的另一个决定因素。变量定义举例: unsigned char xdata uc_example_1; float idata f_example_2; unsigned int data ui_example_3;//data关键字可以省略。 2、局部变量和全局变量 局部变量是指在函数体内定义的变量,局部变量的定义必须放在函数体的最前面。局部变量只能在定义它们的函数内部使用,在该函数外部不能使用。 全局变量是指在所有函数体之外定义的变量。只有从全局变量定义位置之后书写的函数才能使用这些全局变量。如果把全局变量写在程序的最前面,则所有函数就都能使用它们。 全局变量可以在多处被使用和修改,必须在程序的全局范围内考虑其值的变化,控制难度很高,容易出错。所以全局变量要少用和慎用。全局变量的作用相当巨大,尤其是在处理中断函数时。中断函数不允许有形参和返回值,所以只有通过全局变量才能建立主函数同中断服务函数的联系。 记住,尽量避免定义同名的全局变量和局部变量! 3、将变量指向有效的外部RAM地址

文档评论(0)

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

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

1亿VIP精品文档

相关文档