admin 管理员组

文章数量: 1086019


2024年3月21日发(作者:openstack的优势)

ELECTRONICS WORLD・探索与观察 

浅谈C语言在单片机中的运用 

广东理工学院电气工程系 张晓亚唐东成任瑾邓超兵李欣雪 

【摘要】c语言是一门高级的计算机语言,很容易被初学者读懂,并接受。这也是工科类等非计算机专业为什么在学习程序设计的时候,大 

多数院校都选择c语言程序设计为教材,并结合以软件Vc++6.0为辅上机掌握c语言知识的原因。c语言是在培养应用型人才的工科类中也 

是一种非常重要的语言基础,例如在单片机和嵌入式中,c语言具有举足轻重的作用。 

【关键词】c语言;单片机;工科类 

0引言 

随着计算机应用的发展,单片机微型计算机在人们日常的生活 

中应用的也就越来越广泛,甚至从工业到农业及第三产业都会有涉 

及到。所以很有必要了解单片机的控制原理及编程设计原理。 

1单片机编程语言 

目前在单片机编程过程中主要有汇编语言和c语言两种。但是 

汇编语言的编写程序的难度要比C语言编程的难度大,不容易被学 

生理解和接受。运用汇编语言的前提是要对单片机的程序执行流程 

及内部结构工作原理都要非常熟悉,才能运用自如。另外汇编语言 

可移植性比较差,开发效率不高,造成了在目前很少运用汇编语言 

来开发产品。在教学的过程中,学生对用汇编语言来编写单片机的 

项目代码的学习积极性远不如用用c语言编程。 

2 C语言的特点 

C语言是面向过程的一种语言,比较符合事物发展的过程规 

律。c语言按照事物发展的逻辑很容易编写代码,并且C语言对平 

台硬件的要求不高,不依赖硬件的高内存,这点和汇编语言又有很 

大区别。另外c语言的的软件环境要求比较低,目前的计算机都能 

达到要求,学生完全可以在自己的笔记本上安装,只要有闲暇时间 

都可以学习,相比较汇编语言,学生的积极性比较高,他们学习C 

语言的自信心也就提高了很多。另外C语言的通用性比较强,在编 

写程序的过程中,实现相同的功能,完全可以编成实现程序的功能 

模块,在需要用的时候直接调用即可,不需要再重新编写源程序。 

3 c语言在单片机中的运用 

c语言被认为是使用最广泛的可编程嵌入式处理器的语言,在 

工科类的学习中特别是单片机的学习过程中,C语言一般都会作为 

基础专业课学习是有一定的道理。在单片机的编程学习中利用了大 

量的c语言现有的库函数,并且单片机的许多工具包也都是由C语 

言来编写的。针对有C语言基础的同学,编程的基本概念知识点, 

数据类型,各种运算符表达式,控制结构语句,数组,输入输出函 

数及内部数据处理等等知识点均可以直接在单片机的简单项目中使 

用,并加以练习,大大提高学生学习的积极性和主动性。不然针对 

理工科的学生,学习了c语言很难有机会把学到的知识运用到实际 

生活中,只能使学习变得机械乏味。当然C语言衍生的其他语言, 

如c++,Java,C≠}等,但是针对非计算机专业的工科类学生,相对 

来讲也很难接触,何谈使用其语言做项目。并且c语言由于自身的 

特点,用c语言编写单片机的程序是目前学习单片机的大势所趋。 

针对没有c语言基础的同学来讲,一般情况下只要求理解并掌 

握顺序结构,循环结构,选择结构及函数的调用和数组等知识点就 

够了,没有必要要求掌握指针等概念,大大降低了学生的负担。汇 

・76・电子世界 

编语言可以辅助理解单片机的内部结构及内部资源。两者结合,针 

对单片机的一些经典的实践项目,如花样流水灯,数码管的静态及 

动态扫描显示,独立键盘和矩阵键盘的调节数码管的变化,音乐播 

放器,万年历及抢答器等等项目都可以在教师的讲解下,让学生理 

解其中的道理,自己主动编程调试完成相应的任务。这样既调动了 

他们的积极性,又可以在实践中找到他们的兴趣点,为以后的工作 

做准备。 

4单片机的编程软件介绍 

学好单片机最好的途径就是动手操作,在学习过程中有些院 

校会配备相应的开发板,但是大多数院校需要学生通过仿真软件来 

完成项目的实现。涉及到的软件有Keil和Protues。Keil C5l是一款提 

供51系列单片机编程,编译,调试于一体的开发平台。Keil的界面 

比较友好,使用比较方便易懂,功能比较全,里面几乎包含了目前 

流行的各大厂家生产的单片机芯片,在编程调试时各个芯片的端口 

及串行口通信所有的信息都可以通过调试调用相应的按钮都可以实 

时观测到程序运行的过程。并且Keil中C程序,可以通过调试随时 

修改,重新进行编译,通过查看仿真结果确定是否成功,效果非常 

好。Protues软件也是目前运用比较广泛的仿真软件,特别是针对工 

科类的学生,在学习很多专业课以后,很难有机会真正把上课所学 

的知识点实际操作运用,该软件弥补了这个缺陷,可以把工科类所 

学的专业课相应的知识点通过仿真观察到相应的效果。除此之外, 

就是可以由Protues得到由单片机开发的项目原理图,不需要实际当 

中的电路板,它可以识别由c语言在Keil软件中编写的程序,检测 

学生自己编写的程序是否达到自己预期的目标。 

在教学的过程中,无论是C语言还是单片机,经常跟学生说:: 

只要你写的程序合乎你自己逻辑,写的合情合理,那么你写的程序 

肯定没问题,即便是有问题,在Keil编程软件中耐心调试,最终一 

定会达到你要的效果。他们大多数都愿意主动编写一些程序代码来 

实现他们想要的效果。 

5单片机的教学实践 

学习是一个循序渐进的过程,最为重要的是让学生看到自己 

从书本上所学的知识点是有用的,可以用到实际当中。单片机的 

出现让C语言有了实践性的意义,加上Keil和Protucs两个软件的结 

合,可以使学生有了相对独立的编程思想,不再是以老师为主。在 

上机实践的时候,一旦有问题出现,教师不再像以前一味的去代替 

学生调试程序,找错误的地方,这样下去只能使学生形成惰性,况 

且在编程的过程中一个微不足道的细节可能会导致整个程序编译不 

成功,有时候老师也会苦恼的。在用单片机完成实际项目的时候, 

学生学习的积极性被带动起来,他们遇到问题会主动的彼此讨论, 

查阅资料,真正的从“要我学”变成了“我要学”。另外就是在用 

Keil软件编写单片机代码的时候,很多同学普遍出现的一个问题是 

看不懂程序在编译以后出现的错误提示,本质原因就是英语基础不 

(下转第78页) 

ELECTR0NICS WORLD・j6i 霄 与gl?察 

员修改项目版本。如果设计人员之后需要修改项目版本,PDM系统 

会建立项目版本副本供其修改。PDM信息系统的管理版本功能能让 

三 结柬语 

设计人员追踪整个设计历程,比较不同阶段的设计方案,进行高效 

率的图纸设计。 

哈尔滨空调股份有限公司自从引进PDM信息系统后,企业电子 

(6)管理项目功能:当新项目上马时,PDM管理系统可以自 信息化管理上了一个新的台阶。解决了哈尔滨空调股份有限公司在 

动进行分派任务和制定角色,并进行项目时间安排。项目组长能随 

设计图纸中存在的很多问题。设计人员的设计图纸,查询图纸效率 

时查看项目设计人员的工作进度和执行的任务情况。产品结构树和 得到很大加强。显著提高了信息共享程度,安全保密性程度。企业 

任务的执行关系紧密。设计人员可以根据项目总体设计,进行项目 

管理和办公效率得到显著增强。从而提高企业的管理水平,提高企 

的查询,修改和统计等操作。PDM信息系统能自动分派给项目设计 

业在市场中得竞争力。 

人员任务。 

(7)管理权限功能:全部图纸文档保存在数据库中,由服务 

参考文献 

器进行管理,服务器可以进行备份数据。数据库可以自动记录查 

【1】黄曙荣,安晶,王伟,阳程编著.产品数据管理PDM原理与应用【M】 

看,删除,修改图纸文档的设计人员操作信息,并可进行设计人员 

江苏大学出版社. 

操作信息跟踪。通过控制PDM用户密码,服务器系统密码,和数据 

【2】刘树森等编著.现代制造企业信息化[M].科学出版社. 

库密码,控制设计人员的操作权限,来确保产品数据信息安全。 

(上接第75页) 

上,使模型具有较好的虚拟现实效果。根据网格重建的方法不同 

算机视觉技术和无人机技术的发展,未来依托于无人机的三维重建 

般的选取不同的纹理映射方式。 

将具有广阔的应用前景。 

6.结论 

参考文献 

[1】包琦.无人机发展现状及相关技术 工程技术:文摘版,2016(4): 

三维重建作为无人机应用的新兴领域,目前还面临着许多问 

00236-00236. 

题:一方面,当前的图像配准算法均难以在短时间内完成图像的处 

【2]刘钢,彭群生,鲍虎军.基于多幅图像的场景交互建模系统 计 

理并输出处理结果,三维重建的实时性得不到保证,这限制了了三 

算机辅助设计与图形学学报,2004,16(10):1419—1424. 

维重建在包括无人机自主飞行、实时避障等众多领域的应用效果: 

[3】佚名.DJI大疆创瓤推出变焦云台相机禅, ̄ZenmuseZ3[J].数码 

另一方面,易于普及的微小型无人机搭载重量有限,飞行范围和飞 

影像时代,2016(7). 

行时间难以保证对大范围区域完成重建工作。 

本文简要对基于无人机图像序列完成三维重建的一般流程做出 作者简介: 

介绍,分析了重建过程中的关键技术及优缺点。可以预见,随着计 刘睿(1991一),山西太原人,硕士,现就读于武警工程大学。 

(上接第76页) 

到位。针对这个问题,最好的解决办法就是在学生亲自动手实际操 现代科技神秘的面纱,让学生充分感受C语言的魅力。 

作以后出现问题了,把提示的信息单独拿出来给大家翻译讲解,并 

告诉其解决办法。还有就是学生常犯的另外一个错就是想当然,不 

参考文献 

注意逻辑上的衔接问题,程序运行的结果达不到效果。这就需要在 【1】张德伟.单片机课程教学模式的探索与实践U】.中国科技,2007(6): 

教学的过程中,加强学生的练习,多列举一些经典的例子。让学生 

268-270. 

通过现象看本质,明白其中的道理,使他们知其然,也要知其所以 【2]裴霞.c语言课程的教与学改革初探卟赤峰学院学报,2014(7): 

然,让他们在每次上课都有所收获,有所感悟。 

253-264. 

[3】胡建波.何守亮-单片机原理与应用[M】.2o15(1O). 

6结束语 

[4】程传鹏.基于大学生心理特点的c语言教学方法U】.计算机教 

育,2012(1):68—71. 

C语言对初学者而言是全新概念,针对非计算机专业的学生可 

能会遇到一切阻碍,主要是在书本上学到的知识看不到它的使用价 作者简介: 

值。单片机的出现让学生感受到C语言的作用,我们日常生活中接 

张晓亚(1987一),女,河南漯河人,硕士研究生,助教,研 

触到的电子类产品完全可以用C语言编程实现其控制,这也揭开了 

究方向:过程工业的故障诊断。 

・78・电子tI}界 


本文标签: 语言 单片机 学生 项目 设计