- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
主要内容 4.1 C51语言简介 4.2 C51对C语言的扩展 4.3 C51使用技巧 4.4 C51程序设计方法 4.1 C51语言简介 与汇编语言相比,用C51语言编写程序具有如下优点: 无需深入了解系统硬件及单片机指令系统; C51编译器自动完成内部寄存器分配、存储空间分配和数据类型处理等细节问题; 语言简洁、表达能力强、表达方式灵活; 程序由若干函数组成,具有完全的模块化结构; 有丰富的库子程序,可减少用户的编程工作量; 可显著缩短编程和调试时间,提高软件开发效率; 程序具有良好的可读性和可维护性; 具有良好的可移植性,应用程序稍加修改就可以移植到其它系统中。 4.1.1 C51程序结构 4.1.1 C51程序结构 4.1.2 C51程序的编辑和编译 主要内容 4.1 C51语言简介 4.2 C51对C语言的扩展 4.3 C51使用技巧 4.4 C51程序设计方法 4.2 C51对C语言的扩展 C51是支持符合ANSI标准的C语言,为了支持51系列单片机专门加入了一些扩展的内容。C51对标准C语言扩展的内容主要包括: 特殊功能寄存器定义 位变量 数据存储空间的定义 绝对地址访问 中断函数 汇编程序接口 库函数 关键字 本节将重点介绍C51编程语言和标准C语言之间的区别。即介绍C51对标准C语言的扩展。 4.2 C51对C语言的扩展 C51声明特殊功能寄存器的一般语法格式如下: sfr或sfr16 特殊寄存器名 = 特殊寄存器地址 例如把地址分别为0x80、0x90、0xa0、0xb0的端口寄存器 分别声明为P0、P1、P2、P3,可以用sfr分别声明如下: sfr P0 = 0x80; /*P0口,地址为0x80 */ sfr P1 = 0x90; /*P1口,地址为0x90 */ sfr P2 = 0xA0; /*P2口,地址为0xA0 */ sfr P3 = 0xB0; /*P3口,地址为0xB0 */ 51系列单片机的特殊功能寄存器的数量与类型不尽相同, 因此建议将所有特殊的“sfr”定义放入一个头文件中,如“reg51.h” 。这样只要在C51程序编制的开头用#include 加入该文件,即可在程序中直接使用51特殊功能寄存器的名 称,免除使用者逐一定义的麻烦。 4.2 C51对C语言的扩展 51系列单片机中,有一些特殊功能寄存器是可以位寻址的,为了便于使用这些可位寻址的特殊寄存位,C51提供了特殊寄存器位定义方法,定义的一般语法格式如下: sbit 特殊寄存器位名 = 位地址; 例如,0xAF位地址是总中断控制位,把它声明为EA的声明方法是: sbit EA = 0xAF;/*位地址0xAF定义为EA */ 注意:不是所有的SFR都是可位寻址的,SFR中有11个寄存器具有位寻址能力,它们的字节地址都能被8整除,即字节地址是以8或0为尾数的。 4.2 C51对C语言的扩展 C51具有标准C语言的所有标准数据类型。除此之外,还加入了位变量数据类型,用关键字bit声明。 bit 数据类型可以在变量声明、参数列表和函数返回值中使用,bit变量放在51单片机的片内位寻址寄存器中。位变量声明的一般格式如下: bit 位变量名[=初值] 例如: bit High_bit; /* 把High_bit定义为位变量 */ bit High_bit=0; /* 把High_bit定义为位变量,初值为0*/ 特别要注意bit变量和bit声明有如下限制: 1. 不能声明一个bit类型的数组; 2. 不能声明一个位指针; 3. 禁止中断的函数(#pragma disable)和用明确的寄存器组(using n)声明的函数不能返回一个位型值。这样使用时,编译过程将返回一个bit类型错误信息。 4.2 C51对C语言的扩展 1.变量的存储类型 4.2 C51对C语言的扩展 2.编译器的存储模式选择 4.2 C51对C语言的扩展 4.2 C51对C语言的扩展 4.2 C51对C语言的扩展 4.2 C51对C语言的扩展 4.2 C51对C语言的扩展 4.2 C51对C语言的扩展 4.2 C51对C语言的扩展 4.2 C51对C语言的扩展 4.2 C51对C语言的扩展 4.2 C51对C语言的扩展 4.2 C51对C语言的扩展 4.2 C51对C语言的扩展 4.3 C51使用技巧 主要内容 4.1 C51语言简介 4.2 C51对C语
您可能关注的文档
最近下载
- 想象与真实:网络玄幻小说《诡秘之主》的空间叙事研究.pdf VIP
- GB 1499.2-2024 钢筋混凝土用钢 第2部分:热轧带肋钢筋.pdf VIP
- 2024~2025学年10月山东青岛城阳区青岛实验高中高一上学期月考数学试卷(详解版).pdf VIP
- 《中国重症肌无力诊断和治疗指南(2025版)》解读PPT课件.pptx VIP
- 国庆双节小区物业安全温馨提示.doc VIP
- 《强制性条文实施计划》.docx VIP
- 长春易加科技-数字化互联化智能工厂解决方案.pdf VIP
- 23CJ87-1 采光、通风、消防排烟天窗(一)参考图集.docx VIP
- 车辆GPS动态监控管理制度完整.doc VIP
- 2-2《TIPS操作手册(公共代码管理子系统)》.pdf
原创力文档


文档评论(0)