周岚
摘 要:C语言作为一种高级编程语言,具有良好的结构性和移植性,在单片机中引入C语言,可以极大地方便单片机的编程和开发。本文首先介绍了单片机的定义、系统组成及功能特点,分析了单片机的用途。然后结合C语言的优越性,分析基于C语言的单片机技术及其应用范围。由于C语言具有强大的编程功能,也使得利用C语言进行编程的单片机技术的运用越来越广泛。
关键词:C语言;编程;单片机
中图分类号:TP311.51 文献标识码:A
Abstract:As a high-level programming language,C Language has good structuredness and portability.Application of C language on microcontroller systems can greatly facilitate the programming and development.This paper starts with the definition,the system composition and the functionality of microcontrollers,and analyzes the application of microcontrollers.Then,combined with the advantages of C Language,the paper analyzes the technology and application scope of microcontrollers based on C Language.Because of C Language's formidable programming functions,the microcontroller technology adopting C Language in programming is being put into more and more extensive application.
Keywords:C language;programming;microcontroller
1 引言(Introduction)
虽然单片机有自己的编程语言,如果,我们用单片机的编程语言要做出实际的东西,那是非常不容易的。比如,你做一个除法,十六位的,你要编几十条语句,如果没有专门的研究单片机的经历,相信很难胜任。但你用C语言,一句就行了,而且编写的程序精简,容易查出错来,调试比较简单。只要你对单片机有一些硬件的了解,你就可以用C编些比较复杂的程序。现在单片机的执行速度很快了,时针频率有的可以达到40MHz,不存在C语言的效率不高而影响你的程序运行。另外,C语言作为一种高级编程语言,具有良好的结构性和移植性,在单片机中引入C语言,可以极大地方便单片机的编程和开发。
2 单片机系统(Single chip microcomputer system)
2.1 单片机的定义
单片机的英文全称为single chip microcomputer,翻译为单片微型计算机,主要将CPU、半导体存储器、I/O接口、中断系统和定时器等各种元器件集成到一块半导体芯片上,由此软硬件构成的整个数字电子计算机就叫做单片机,也称为MCU(Microcontroller Unit)[1]。
2.2 单片机的系统组成
单片机系统通常包括硬件系统和软件系统两部分。硬件系统主要是指单片机芯片上集成的各种元器件以及被控对象。软件系统通常有很多主程序或者子程序组成,利用汇编语言或者C语言编写完成,具有对系统监控等功能。
2.3 单片机的功能特点
单片机作为一种微型电子计算机,具有许多功能特点。第一,单片机的元器件集成度高,适合制作大规模或超大规模集成电路,可靠性和抗干扰能力都较强。第二,由于集成度高,单片机的价格相对较低廉,性价比较高。第三,单片机的指令较为丰富,拥有强大的控制功能。第四,很多单片机只需要2.2V甚至更低的电压就可以运行,所以其工作电压低,功耗低。第五,单片机的体积小,携带方便。
2.4 单片机的应用范围
单片机强大的功能特点决定了具有广泛的应用范围。在国防、军农、工业、农业等方面,单片机都有所发挥它的用处。概括起来,主要是在家用电器、机电一体化中、智能仪器仪表、实时过程控制、分布式多机系统等方面较多。
3 C语言在单片机开发中的特点(C language in the development of the characteristics of SCM)
C语言作为一种结构化的程序设计语言,具有很强大的功能性、结构性、可移植性。使用C语言开发单片机系统,可以让编程人员在不懂得单片机指令集的情况下,也能够写出完美的单程序。在基于C语言的单机片系统,可以对数据进行专业化处理,能够避免运行中非异步的破坏。在所有的计算机语言中,C语言的运用最为广泛。在单片机的开发中,使用C语言会表现出以下优势。
3.1 库函数丰富,移植性好
C语言是一种编译型程序设计语言,它的运算速度快、编译效率高,拥有齐全的函数库,比汇编语言更加具有可读性。由于它是面向对象的语言,所以其可移植性好[2]。
3.2 应用广泛,方便开发
相比于汇编语言,C语言更加符合人类的思维方式。很多编程人员都习惯C语言,使用C语言进行编程可以减少他们在硬件匹配上所花的精力,从而有更多的时间去调试程序和优化算法。
3.3 程序结构完善,兼容性好
C语言编译的程序往往具有较为完善的模块化结构,在后续的开发中可以隨时修改和补充。正是由于C语言的程序结构较为完善,也使得它在模块化设计方面运用较为广泛。使用C语言编写的单片机程序,采用的是自顶向下的结构化程序。对应不同的模块,设计不同的功能,使整个程序功能模块化,实现不同的兼容性。这种结构化模块可以使整个程序结构清楚,方便后续的调试和修改。
4 基于C语言的单片机开发技术(Development technology of single chip microcomputer based on C language)
4.1 基于C语言的单片机开发环境
在众多的单片机程序开发软件中,KEIL C51是运用最为广泛的一个软件,集合了编辑、编译、仿真等功能,可以支持不同公司生产的MCS51芯片。同时,KEIL C51软件具有友好的操作界面,而且已经将C语言集成进去,另外还支持汇编语言,所以具有强大的编程和调试功能[3]。KEIL C51的开发环境包括了编译器、汇编器、实时操作系统、项目管理器、调试器等部分。而编写的目标程序的源文件可以构成不同的组,利用项目管理器,可以方便地对应目标、组或单个文件。利用KEIL C51中集成的浏览器包含了全局索索的功能,可以帮助用户快速搜索文件和查找信息。KEIL C51软件中集成了源代码编辑器,它的操作界面友好,许多特性都为用户所熟悉[4]。利用源代码编辑器自然而又方便的编程环境,编译人员可以在编辑器内随时编辑和调试代码,更能对所写程序进行快速的检查错误和优化代码。
4.2 基于C语言的单片机开发步骤
在使用C语言开发单片机程序时,通常分为:程序代码的编写和编译、目标代码的连接和转换等过程。在编写完程序代码和调试完程序后,还应当将程序编译为HEX文件,使其能够移植到单片机上,并能执行所编译的代码[5]。基于C语言的单片机开发步骤,主要包括四个过程。
第一步,安装软件。登录KEIL的官方网站,下载所需的商业软件安装包到电脑上。下载完成后解压安装包,然后双击SETUP.EXE文件,同意其协议条款,根据提示信息输入序列号,一步一步完成安装过程。可以进行完整安装,并进行对应的设置。
第二步,创建源文件。首先,打开软件建立一个新的项目,或者添加原有的项目,然后建立一个新的空白程序。在新程序的文字编辑窗口,编写所需代码,即可生产C语言程序的源文件。
第三步,编译并调试。这也是单片机开发过程中的中间阶段,开发人员将软件转换到调试模式,然后利用软件的仿真功能,对源程序代码进行逐个调试。检查并发现错误的代码,及时改正和完善。利用C51编译器调试和编译源程序,生成目标代码或模块[6]。最后,将各模块连接在一起,最终生成文件。
第四步,生成HEX文件。采用Intel公司提出的十六進制字节宽度来保存HEX文件,然后将所编译的目标程序生成HEX文件,最后将该文件通过编译器烧写进单片机的芯片中,用于后续的仿真调试。
5 结论(Conclusion)
综上所述,基于C语言的单片机技术具有强大的功能,可以实现硬件指定的作用。单片机的出现极大地推动了计算机技术的快速发展,目前已经运用到了家用电器、汽车电子等生产生活的各个方面。C语言逐渐代替汇编语言,成为了单片机开发中最合适的语言,在未来的运用中,基于C语言的单片机技术将会有更大的发展空间。
参考文献(References)
[1] 董蕴宝,潘旭君.浅谈C语言在单片机中的程序设计[J].通信学报,2015(13):58-59.
[2] 余小燕.C语言程序设计教学方法探讨[J].计算机学报,2014(8):47-50.
[3] 肖辉辉,段艳明.基于DE算法改进的蝙蝠算法的研究及应用[J].计算机仿真,2014(1):62-65.
[4] 刘宇鹏,马春光,张亚楠.深度递归的层次化机器翻译模型[J].计算机学报,2016(39):71-74.
[5] 王颖.C语言在单片机技术中的应用[J].电子制作,2015(1):26-27.
[6] 王志宏.单片机C语言程序设计的关键技术[J].科技信息,2009(36):523-524.
作者简介:
周 岚(1977-),女,硕士,副教授.研究领域:程序设计与数据库.