下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 c语言在单片机开发中的应用分析 严均 周煌辉摘要:本文简要阐述了c语言在单片机程序开发中的应用优势,就c语言在单片机开发中的具体步骤进行了分析探讨,包括开发工具的选择与安装、建立源文件、调试编译程序以及生成hex文件,并在此基础上提出了c语言在单片机开发应用过程中应注意的一些事项。关键词:c语言;单片机开发;c语言编程:tp393 :a:1009-3044(2020)03-0265-02c语言是一门面向过程的高级计算机编程语言,与汇编语言相较,利用c语言进行编程工作量少,可读性好,易于修改、移植和调试,且可以保证代码质量。由于c语言兼顾了高
2、级语言与汇编语言的优点,且不需要任何环境支持便可以运行,普适性强,因此在编程领域得到了广泛的运用。运用c语言进行单片机程序的开发,开发者无须对单片机硬件结构进行全面了解也可以进行高效编程,这为单片机程序开发提供了很大的便利,使得单片机程序开发变得简单且可靠。本文基于单片机程序开发实践,就c语言在单片机开发中的应用进行分析探讨,以期能够为广大单片机程序开发者提供一些参考与借鉴。1 c语言在单片机程序开发中的应用優势单片机属于一种微型计算机,具有体积小、功耗小、功能强大等特点,在工业控制领域及现代电子产品设计中具有广泛的应用。单片机除对体积、功耗等具有严格要求外,还依赖于应用程序的开发。由于单片机
3、内部存储器的存储空间较小且对运行效率要求较高,因此,对于应用程序开发来说,必须要考虑编译代码所占的空间大小问题及运行效率问题。汇编语言属于第二代编程语言,是面向机器的程序设计语言,其特点是保持了机器语言优秀的执行效率,能够直接控制硬件,同时具有可读性及简便性,且程序占用存储空间少,这些特点十分契合单片机程序的开发要求,因此,单片机程序开发中汇编语言的应用十分广泛。但汇编语言作为一种面向机器的语言,对于开发者来说并不是十分友好,主要表现为程序代码的可读性较差、编写和调试复杂、移植困难等。c语言兼顾了高级语言与汇编语言的优点,相较于汇编语言,具有更高的可阅读性,便于理解,调试、修改更为容易简便;更
4、为重要的是,其具有良好的可移植性,大大提高了程序的重复利用率,有助于程序开发人员提高程序编写效率。c语言的跨平台特性是其最为显著的特征,这使得用c语言编写的程序可以在不同的计算机平台稳定运行,大大提高了程序开发者的工作效率,减少了成本。c语言拥有34种运算符,数组、指针等多种表达方式,库函数丰富,运算结构简单易懂。由于c语言包含了单片机的指令集,因此,对于一些简单的单片机程序开发,即使程序开发者不了解单片机的硬件结构,也可以用c语言编写出高质量的程序代码。c语言将程序开发分解为多个互不影响的功能模块,这使得后期优化变得更为便利1。随着单片机的应用范围不断拓展,c语言凭借其强大的功能及特性,在单
5、片机程序开发中的应用优势日益明显,得到了单片机开发者的广泛应用。2 c语言在单片机开发中的具体应用步骤2.1 开发工具的选择与安装c语言开发工具的选择与安装是运用c语言进行单片机开发的首要环节。c语言开发工具又叫c语言编译器或集成开发环境,c语言的编译器有很多种,不同的平台下有不同的编译器,如windows下常用的是微软编译器cl.exr,linux下常用的是cun组织开发的gcc,mac下常用的是llvm/clang。安装编译器或者ide(集成开发环境),也叫搭建开发环境。windows下的c语言ide众多,常用的包括visual studio、dev c+、visualc+6.0等。vis
6、ual studio(简称vs),它是windows下的标准ide,但是vs安装包有点庞大,下载不方便,安装时间较长,而且会安装很多暂时用不到的工具。dev c+是一款免费开源的c/c+ide,内嵌ccc编译器(linux gcc编译器的windows移植版),优点是体积小(只有几十兆)、安装卸载方便、学习成本低,缺点是调试功能弱。visual c+ 6.0(简称vc 6.0)是微软开发的一款经典的ide,但vc 6.0是1998年的产品,在win7、win8、winl0t会有各种各样的兼容性问题,甚至根本不能运行,目前基本只作为教学工具来使用。除上述开发工具外,windows平台下还有很多其
7、他的ide,如code:blocks是一款开源、跨平台、免费的c/c+ ide,它和dev c+非常类似,小巧灵活,易于安装和卸载,不过它的界面要比dev c+复杂一些;turbo c是一款dos年代的c语言开发工具,程序员只能使用键盘来操作turbo c,不能使用鼠标,所以非常不方便。但是turbo c集成了一套图形库,可以在控制台程序中画图,所以至今仍然有人在使用;c-free是一款国产windows下的c/c+ ide,整个软件只有14m,非常轻巧,安装也简单,界面也比dev c+漂亮,缺点也是调试功能弱。这些工具在功能、难易度等方面各异,实际应用中可以根据具体的单片机设计来合理选择。2
8、.2 建立c源文件搭建好开发环境后,在开始编程前,首先需要创建一个新的项目,可以用项目特征来进行命名,选择好存储路径即可完成新项目的建立。这里需要注意的是,项目名称和存储路径最好不要包含中文。接下来就是在所创建项目中添加源文件,可以是新建文件也可以将以往程序文件内容添加到项目当中;之后需要再创建一个全新的语言程序文件,并在文字编辑窗口中利用void、signed、intint、void、restrict、return、continue等c语言基本语言结构对所需要的单片机程序进行逐步编写,并在编写任务完成后保存文件并生成最终的c语言文件2。2.3 调试编译程序在程序代码编写完成之后,后续一项重要
9、的工作就是进行调试编译。调试编译属于c语言在单片机程序开发中的一个至关重要的中间环节,目的是对编写好的程序进行检查与完善,找出源文件中存在的buc并进行及时的修正。在此阶段,程序开发人员可以借助编译器提供的调试模式对源程序进行仿真调试,调试过程中程序开发人员要悉心观察程序仿真运行过程,完成对源程序的完善。编译是将c语言编程文件转换成机器可以识读的文件,编辑器自动完成编译工作并生成目标文件。生成的目标文件需要进行整合并链接,如果代码没有错误,则编译器会显示链接成功,并生成一个完整的可执行文件。2.4 生成hex文件生成hex文件可视为单片机c语言程序开发的最后一个环节,借助编译器,c语言程序在完
10、成编译后可以生成格式文件hex,以便被单片机获取和执行。能够顺利生成hex格式文件,基本可以表明单片机c语言程序开发任务已经完成,在此基础上,借助编译器可以将单片机hex格式文件写入到存储器中,并通过仿真器对所设计的单片机程序的性能进行测试、调整。3 c语言在单片机开发中应用的注意事项3.1 关注编程代码效率的提升目前,c语言已经在单片机程序开发中被广泛应用,但作为一种高级语言,c语言程序代码执行效率是程序开发者应重点关注的问题。首先,应合理选择数据类型,若可以使用字符型(char)变量,就不要使用整型变量;其次,在c语言实际应用中,执行浮点数运算时常选用double型,因为float型的精度
11、偏低,且双精度浮点数和单精度浮点数的计算代价相差无几。事实上,对51单片机来说,双精度运算比单精度运算的速度快。第三,应对各类c语言编译器进行充分的了解,结合编程实际合理选择编译器。同时,还应将单片机c语言编程中出现的高频率程序与对应的汇编语言行数进行比较汇总,对编译效率形成一个清晰的认识,进而提高单片机c语言编程代码的编译、执行效率3。3.2 变量类型的定义要明确一些程序开发者受程序编写习惯的影响,程序编写过程中往往不考虑函数内外情况,在程序初始位置直接定义新的变量,虽然原则上并不会构成程序编写错误,但一定程度上会对程序的执行产生不利影响。因此,在c语言程序编写过程中,要注重变量类型定义的明确化,并依据编译器版本的不同,对变量放置位置进行合理选择。如:一般来讲在c90版本的编译器中,全局变量属于函数外,只可以放置于引用之前,而在最新
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 金融仲裁业务培训课件
- 农产品电子商务(第三版)课件 项目四 农产品质量安全管控
- 4第5讲 项目四 任务三 民宿企业成本费用控制与分析
- 校园燃气安全培训总结课件
- 校园消防用电安全知识
- 2025 小学六年级数学上册百分数污染治理率统计课件
- 2015公共卫生年终总结
- 高中历史题2走向民主的历史步伐二实现民主的政治构建讲义人民版
- 高中地理第五章自然地理环境的整体性与差异性第一节自然地理环境的整体性
- 药物过度使用性头痛治疗总结2026
- GB/T 8642-2025热喷涂抗拉结合强度的测定
- 贵州省贵阳市2024-2025学年高一上学期期末监测物理试卷(含解析)
- 2025河北省石家庄市公务员考试常识判断专项练习题必考题
- 湖北省武汉市洪山区2024-2025学年五年级上学期期末数学试卷
- (人教2024版)数学四年级上册第8单元《数学广角-优化》大单元教学课件
- 临床生物化学检验练习题库(含答案)
- G -B- 15607-2023 涂装作业安全规程 粉末静电喷涂工艺安全(正式版)
- (正式版)SHT 3229-2024 石油化工钢制空冷式热交换器技术规范
- 2018年4月自考00265西方法律思想史试题及答案含解析
- 小红书创业计划书
- 青岛版六年级上册分数乘除混合运算练习400题及答案
评论
0/150
提交评论