历史上的今天
今天是:2025年07月09日(星期三)
2021年07月09日 | 51单片机的程序设计中的C语言
2021-07-09 来源:eefocus
在实际工程应用中,51单片机的程序设计一般都是采用C语言编写,通过相应的编译器,得到可执行代码,以提高程序开发效率。但由于单片机的内部资源有限,并结合单片机的特点(如位操作),与标准C语言相比,有所不同,称为C51程序。
C语言的特点
语言简洁、紧凑,使用方便、灵活。
运算符丰富。
数据结构丰富。具有现代化语言的各种数据结构。
可进行结构化程序设计。
可以直接对计算机硬件进行操作。
生成的目标代码质量高,程序执行效率高。
可移植性好。
C语言程序采用函数结构,每个C语言程序由一个或多个函数组成,在这些函数中至少应包含一个主函数main(),也可以包含一个main()函数和若干个其它的功能函数。不管main()函数放于何处,程序总是从main()函数开始执行,执行到main()函数结束则结束。在main()函数中调用其它函数,其它函数也可以相互调用,但main()函数只能调用其它的功能函数,而不能被其它的函数所调用。
功能函数可以是C语言编译器提供的库函数,也可以是由用户定义的自定义函数。在编制C程序时,程序的开始部分一般是预处理命令、函数说明和变量定义等。
用C语言编写51单片机程序与用汇编语言编写51单片机程序不同,汇编语言必须要考虑其存储器结构,尤其必须考虑其片内数据存储器与特殊功能寄存器的使用以及按实际地址处理端口数据。
用C语言编写的51单片机应用程序,则不用像汇编语言那样须具体组织、分配存储器资源和处理端口数据,但在C语言编程中,对数据类型与变量的定义,必须要与单片机的存储结构相关联,否则编译器不能正确地映射定位。
用C语言编写单片机应用程序与标准的C语言程序也有相应的区别:C语言编写单片机应用程序时,需根据单片机存储结构及内部资源定义相应的数据类型和变量,而标准的C语言程序不需要考虑这些问题。
C51包含的数据类型、变量存储模式、输入输出处理、函数等方面与标准的C语言有一定的区别。其它的语法规则、程序结构及程序设计方法等与标准的C语言程序设计相同。
现在支持51系列单片机的C语言编译器有很多种,如American Automation、Avocet、BSO/TASKING、DUNFIELD SHAREWARE、KEIL/Franklin等。各种编译器的基本情况相同,但具体处理时有一定的区别,其中KEIL/Franklin以它的代码紧凑和使用方便等特点优于其它编译器,使用特别广泛。
上一篇:单片机C语言C51的程序结构
下一篇:51单片机之串行通信
史海拾趣
|
本帖最后由 jameswangsynnex 于 2015-3-3 19:57 编辑 几年,随着人民生活水平不断提高,新兴产品微波炉、电磁炉、豆浆机三大系列小家电,取得飞越式发展,堪称家电行业的“吉祥三宝”。但在经过前期的膨胀式发展后,未来也许会不可避免地遇到发展 ...… 查看全部问答> |
|
【求助】[B]请问为什么仿真器下装程序时出现Connot load program because flash Emulation Toll not found 请问为什么仿真器下装程序时出现Connot load program because flash Emulation Toll not found,发现知识等不亮,芯片位置我已经放的正确了,请问这有可能是什么原因造成的,恳请高手解答!!… 查看全部问答> |
|
本帖最后由 dontium 于 2015-1-23 13:25 编辑 电阻器阻值标示方法 1、直标法:用数字和单位符号在电阻器表面标出阻值,其允许误差直接用百分数表示,若电阻上未注偏差,则均为±20%。 2、文字符号法:用阿拉伯数字和文字符号两者有规律 ...… 查看全部问答> |
|
本帖最后由 dontium 于 2014-1-12 15:31 编辑 本议题的目的是了解一下大家为掌握新的单片机时从哪入手 --------二选一,是看你倾向,并不代表只看一方面的资料 … 查看全部问答> |
|
f28035的epwm trip zone,按照软件强制中断方式,多长时间进入一次中断?怎么计算呢? 我是按照Ti中的epwm_trip_zone的例程设置的寄存器的,但是现在程序也能按照我的想法当满足条件时,软件触发中断后,指定的epwm1A强制输出低电平,不满足条件时,按原来情况输出。但是,我现在就是不能计算出多长时间进入一次epwm trip zone的中断? ...… 查看全部问答> |
|
最近焊接了一块音响功放电路板,焊好发现不能正常工作。 原因不知道在哪里: 输入音频信号,喇叭不响,然后我把电源关掉,只能听到短暂的声音,然后又不想。等个10秒左右,我又打开电源,它又能响一下,反正声音总是在我关开电源那一刻能听到,不 ...… 查看全部问答> |




