- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第1章单片机C概述课件
第1章 单片机的C语言概述 2
1.1 C语言与MCS-51单片机编程 2
1.1.1 单片机的C语言的特点 2
1.1.2 单片机的C语言和标准C语言的比较 2
1.1.3 单片机的C语言与汇编语言的优势对比 3
1.2 C51的程序结构 7
1.2.1 C51的程序结构 7
1.2.2 C51编程规范及注意事项 8
1.2.3 C51的标识符与关键字 9
1.3 C51编程举例 11
本章小结 14
习题 14
第章
我们都知道,在单片机应用开发过程中,软件编程占有非常重要的地位。尤其是随着单片机技术的发展,嵌入式系统的推广应用,硬件的集成化程度越来越高,同时对软件编程的要求也越来越高。要求单片机开发人员能在短时间内编写出执行效率高、运行可靠的代码。同时,由于实际系统的日趋复杂,使用代码的规范性、模块化的要求越来越高,方便多个工程师以软件工程的形式进行协同开发。在这种形势下,仅靠单片机在推广应用的初期使用的汇编语言来进行软件开发,是远远不够的。C语言是近年来在国内外普遍使用的一种程序设计语言。C语言能直接对计算机硬件进行操作,既有高级语言的特点,又有汇编语言的特点,因此在单片机开发过程中得到了非常广泛的应用。本章主要对单片机C语言的基本问题进行概括的说明。嵌入式单片机在主要汇编语言汇编语言作为传统的嵌入式系统编程语言,已经不能满足实际需要了而C语言的结构化和高效性满足了这样的需要,成为电子工程师在进行嵌入式系统编程时的首选,并得以广泛应用。1985年出现了针对8051的C51编译器,进而又出现了其他流行的嵌入式处理器系统如196、PIC系列、MOTORAL系列、MSP430系列、AD公司和TI公司的DSP系列的C语言编译系统以及丰富的C语言库函数。本书主要讨论8嵌入式单片机MCS-51单片机及派生产品的C语言编程问题,简称C51的程序设计。单片机的C语言的特点
无须了解机器硬件及其指令系统,只需初步了解MCS-51的存储器结构;
C51语言能方便管理内部寄存器的分配、不同存储器的寻址和数据类型等细节问题,但对硬件控制有限而汇编语言可以完全控制资源;
C51语言在小应用程序中产生的代码量大,执行速度慢但在较大的程序中代码效率高
(C51语言程序由若干函数组成,具有良好的模块化结构,便于改进和扩充;
C51语言程序具有良好的可读性和可维护性而汇编语言在大应用程序开发中,开发难度增加,可读性差
(C51语言有丰富的库函数,可大大减少用户的编程量,显著缩短编程与调试时间,大大提高软件开发效率使用汇编语言编制的程序,当机型改变时,无法直接移植使用,而C语言程序是面向用户的程序设计语言,能在不同机型的机器上运行,可移植性好。单片机的C语言和标准C的比较
标准C,或称为ANSI C。单片机的C语言和标准C之间有许多相同的地方,但也有其自身的一些特点。不同的嵌入式C编译系统之所以与ANSI C有不同的地方,主要是由于它们所针对的硬件系统不同,对于MCS-51系列单片机,其不同点主要体现在以下几C51语言中定义的库函数和标准C语言定义的库函数不同标准C语言定义的库函数是按照通用微型计算机来定义的,而C51中的库函数是按MCS-51单片机的应用情况来定义的。
C51语言中的数据类型和标准C的数据类型也有一定的区别在C51中增加了几种针对MCS-51单片机特有的数据类型。MCS-51系列包含位操作空间和丰富的位操作指令,因此C51与ANSI C相比要多一种位类型,使得它能同汇编语言一样,灵活地进行位指令操作。
C51变量的存储模式与标准C中变量的存储模式不一样C51语言中变量的存储模式与MCS-51单片机的存储器紧密相关从数据存储类型上,8051系列有片内、片外程序存储器,片内、片外数据存储器在片内程序存储器还分为直接寻址区和间接寻址区,分别对应code、data、xdata、idata以及根据系列特点而设定的pdata类型,使用不同存储器将会影响程序执行的效率不同的模式对应不同的硬件系统和不同的编译结果。ANSIC对存储模式要求不高。
C51语言与标准C的输入/输出处理不一样C51语言中的输入/输出是通过MCS-51串行口来完成的,输入/输出指令执行前必须对串行口进行初化。
C51语言与标准C语言在函数使用方面有一定的区别C51语言中有专门的中断函数。单片机的C语言与汇编语言的优势对比在国内,汇编语言在单片机开发过程中是比较流行的开发工具。长期以来对编译效率的偏见,以及不程序员对使用汇编语言开发硬件环境的习惯性,使C语言在很多地方遭到冷落。优秀程序员写出的汇编语言程序确有执行效率高的优点,但其可移植性和可读性差,使其开发出来的产品在维护和功能升级确有极大的困难,从而导致整个系统的可靠性和可维护性比较差。而使用C语言
文档评论(0)