APP下载

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

2016-03-12广东理工学院电气工程系张晓亚唐东成邓超兵李欣雪

电子世界 2016年22期
关键词:汇编语言C语言工科

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

浅谈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语言基础的同学来讲,一般情况下只要求理解并掌握顺序结构,循环结构,选择结构及函数的调用和数组等知识点就够了,没有必要要求掌握指针等概念,大大降低了学生的负担。汇编语言可以辅助理解单片机的内部结构及内部资源。两者结合,针对单片机的一些经典的实践项目,如花样流水灯,数码管的静态及动态扫描显示,独立键盘和矩阵键盘的调节数码管的变化,音乐播放器,万年历及抢答器等等项目都可以在教师的讲解下,让学生理解其中的道理,自己主动编程调试完成相应的任务。这样既调动了他们的积极性,又可以在实践中找到他们的兴趣点,为以后的工作做准备。

4 单片机的编程软件介绍

学好单片机最好的途径就是动手操作,在学习过程中有些院校会配备相应的开发板,但是大多数院校需要学生通过仿真软件来完成项目的实现。涉及到的软件有Keil和Protues,Keil C51是一款提供51系列单片机编程,编译,调试于一体的开发平台。Keil的界面比较友好,使用比较方便易懂,功能比较全,里面几乎包含了目前流行的各大厂家生产的单片机芯片,在编程调试时各个芯片的端口及串行口通信所有的信息都可以通过调试调用相应的按钮都可以实时观测到程序运行的过程。并且Keil中C程序,可以通过调试随时修改,重新进行编译,通过查看仿真结果确定是否成功,效果非常好。Protues软件也是目前运用比较广泛的仿真软件,特别是针对工科类的学生,在学习很多专业课以后,很难有机会真正把上课所学的知识点实际操作运用,该软件弥补了这个缺陷,可以把工科类所学的专业课相应的知识点通过仿真观察到相应的效果。除此之外,就是可以由Protues得到由单片机开发的项目原理图,不需要实际当中的电路板,它可以识别由C语言在Keil软件中编写的程序,检测学生自己编写的程序是否达到自己预期的目标。

在教学的过程中,无论是C语言还是单片机,经常跟学生说∶:只要你写的程序合乎你自己逻辑,写的合情合理,那么你写的程序肯定没问题,即便是有问题,在Keil编程软件中耐心调试,最终一定会达到你要的效果。他们大多数都愿意主动编写一些程序代码来实现他们想要的效果。

5 单片机的教学实践

学习是一个循序渐进的过程,最为重要的是让学生看到自己从书本上所学的知识点是有用的,可以用到实际当中。单片机的出现让C语言有了实践性的意义,加上Keil和Protues两个软件的结合,可以使学生有了相对独立的编程思想,不再是以老师为主。在上机实践的时候,一旦有问题出现,教师不再像以前一味的去代替学生调试程序,找错误的地方,这样下去只能使学生形成惰性,况且在编程的过程中一个微不足道的细节可能会导致整个程序编译不成功,有时候老师也会苦恼的。在用单片机完成实际项目的时候,学生学习的积极性被带动起来,他们遇到问题会主动的彼此讨论,查阅资料,真正的从“要我学”变成了“我要学”。另外就是在用Keil软件编写单片机代码的时候,很多同学普遍出现的一个问题是看不懂程序在编译以后出现的错误提示,本质原因就是英语基础不到位。针对这个问题,最好的解决办法就是在学生亲自动手实际操作以后出现问题了,把提示的信息单独拿出来给大家翻译讲解,并告诉其解决办法。还有就是学生常犯的另外一个错就是想当然,不注意逻辑上的衔接问题,程序运行的结果达不到效果。这就需要在教学的过程中,加强学生的练习,多列举一些经典的例子。让学生通过现象看本质,明白其中的道理,使他们知其然,也要知其所以然,让他们在每次上课都有所收获,有所感悟。

6 结束语

C语言对初学者而言是全新概念,针对非计算机专业的学生可能会遇到一切阻碍,主要是在书本上学到的知识看不到它的使用价值。单片机的出现让学生感受到C语言的作用,我们日常生活中接触到的电子类产品完全可以用C语言编程实现其控制,这也揭开了现代科技神秘的面纱,让学生充分感受C语言的魅力。

[1]张德伟.单片机课程教学模式的探索与实践[J].中国科技,2007(6): 268-270.

[2]裴霞.C语言课程的教与学改革初探[J].赤峰学院学报,2014(7): 253-264.

[3]胡建波.何守亮.单片机原理与应用[M].2015(10).

[4]程传鹏.基于大学生心理特点的C语言教学方法[J].计算机教育,2012(1):68-71.

张晓亚(1987—),女,河南漯河人,硕士研究生,助教,研究方向:过程工业的故障诊断。

猜你喜欢

汇编语言C语言工科
中粮工科机械技术(无锡)有限公司
新工科下创新型人才培养的探索
新工科背景下项目推动式教学模式的探索
中职“产学研创”一体化工科类课程的研究与实践
基于Visual Studio Code的C语言程序设计实践教学探索
高等学校计算机专业课程教学改革实践——以汇编语言与接口技术课程为例
51单片机C语言入门方法
汇编语言与C语言的混合程序设计技术研究
基于C语言的计算机软件编程
提高《汇编语言程序设计》教学效率的思考与实践