- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 6 章 C 语言在单片机中的应用
随着单片机开发技术的不断发展,目前已有越来越多的人从普遍使用汇编语言到逐渐
使用高级语言开发,其中主要是以 C 语言为主。习惯用汇编语言的人,会觉得高级语言可
控性不好,不如汇编语言那样能够随心所欲。但是使用汇编语言会遇到很多问题,首先它
的可读性和可维护性不强,特别是当程序没有很好标注的时候,其次就是代码的可重用性
也比较低。使用 C 语言就可以很好地解决这些问题。
C 语言具有良好的模块化,易阅读和维护等优点,用 C 语言编写的程序有很好的可移
植性,功能化的代码能够很方便地从一个工程移植到另一个工程,从而减少开发时间。
用 C 语言编写程序比用汇编语言更符合人们的思考习惯,开发者可以更专心地考虑算
法而不是考虑一些细节问题,不必十分熟悉处理器的运算过程。很多处理器支持 C 语言编
译器,这意味着对新的处理器也能很快上手,而不必知道处理器的具体内部结构,这使得
用 C 语言编写的程序比汇编程序有更好的可移植性。
所有这些并不说明汇编语言就没有了立足之地,很多系统特别是实时时钟系统都是用
C 语言和汇编语言联合编写的。对时钟要求严格时,使用汇编语言是唯一的方法。除此之
外,包括硬件接口的操作都应该用 C 语言来编写。C 语言的特点就是可以使程序员尽量少
地对硬件进行操作,它是一种功能性和结构性很强的语言。
对于大多数 51 系列单片机,使用 C 语言这样的高级语言与使用汇编语言相比具有如
下优点:
(1) 不需要了解处理器的指令集,也不必了解存储器结构。
(2) 寄存器分配和寻址方式由编译器进行管理,编程时不需要考虑存储器的寻址和数
据类型等细节。
(3) 指定操作的变量选择组合提高了程序的可读性。
(4) 可使用与人的思维更接近的关键字和操作函数。
(5) 与使用汇编语言编程相比,程序的开发和调试时间大大缩短。
(6) C 语言中的库文件提供许多标准的例程,例如格式化输出、数据转换和浮点运算等。
(7) 通过 C 语言可实现模块化编程技术,从而可将已编制好的程序加入到新程序中。
(8) C 语言可移植性好且非常普及,C 语言编译器几乎适用于所有的目标系统,已完成
的软件项 目可以和容易地转换到其他的处理器或环境中。
C51 规定了运算符的优先级和结合性。当一个操作数的两侧都有运算符时,哪一个运
算符先执行,哪一个运算符后执行,是由两个运算符的优先级和结合性决定的。一般先由
优先级的高低来定运算顺序,当优先级相 同时,再看结合性。表 6-1 列出了所有运算符的
优先级别和结合性。
第 6 章 C 语言在单片机中的应用 ·187 ·
6.1 C51 基本知识
C 语言是一 门应用非常普遍的高级程序设计语言,与 C 语言相比 C51 语言的特色主要
体现在以下几个方面:
(1) C51 虽然继承了 C 语言的绝大部分特性,而且基本语法相 同,但其本身又在特定的
硬件结构上有所扩展,如关键字 sbit、data、idata、pdata 、xdata 、code 等。
(2) 应用 C51 更要注重对系统资源的理解,因为单片机的系统资源相对 PC 来说很贫乏,
对于 RAM 、ROM 中的每一个字节都要充分利用。可以通过多看编译生成的.m51 文件来了
解 自己程序中资源的利用情况。
(3) 程序上应用的各种算法要精简,不要对系统构成过重的负担。尽量少用浮点运算,
可以用 unsigned 无符号型数据的就不要用有符号型数据,尽量避免多字节的乘除运算,多
用移位运算等。
C51 相对于标准 C 语言的扩展直接针对 51 系列 CPU 硬件,大致有以下几个方面。
6.1.1 数据类型
C51 具有标准 C 语言的所有标准数据类型,除此之外,为了更加有效地利用 8051 的结
构,还加入了以下特殊的数据类型。
① bit 位变量值为 0 或 1。
② sbit 从字节中声明的位变量 0 或 1。
③ sfr 特殊功能寄存器,sfr 字节地址为 0~255 。
④ sfr16 同上,只是 sfr 字节地址为 0~65535 。
bit 、sbit、sfrs 和 sfr16 数据类型专 门用于 8
您可能关注的文档
最近下载
- Hisense海信中央空调 Hi-Multi M 系列HVR-560W SM2FZBpa,HVR-615W SM2FZBpa,HVR-680W SM2FZBpa,HVR-400W SM2FZBpa,H.pdf
- 转移性结直肠癌中医诊疗指南_张彤.pdf VIP
- 污水处理设施运维服务投标方案(技术标).doc
- 企业应急管理培训.pptx VIP
- 物流工程专业职称考试试题及答案.pdf VIP
- 急性肺栓塞诊断和治疗指南2025.pdf
- 迅达电梯3300|3600故障代码.doc
- 2025广西公需科目培训考试答案(90分)——“一区两地一园一通道”建设;人工智能时代的机遇与挑战(1).pdf VIP
- 预报员竞赛-雷暴与强对流临近预报-黄金考点6.docx VIP
- 砌筑工培训完整版.ppt VIP
文档评论(0)