中职Arduino单片机图形化编程教学实践

2015-05-25 07:37王禹
职业·下旬 2015年3期
关键词:图形化C语言编程

王禹

摘 要:单片机历来是中职学校电子电气自动化专业绕不过去又比较难教难学的一门课。Arduino单片机结合ArduBlock插件为中职学校单片机教学的顺利推广提供了另一种途径。本文以单片机控制LED灯闪烁课程为例,结合中职学生的客观实际情况,探索单片机教学的新思路,为构建高效课堂提供参考。

关键词:单片机教学 图形化编程

一、单片机教学的重要性

单片机又名“微控制器”或“微电脑”,它把一个计算机系统集成到了一个芯片上,概括地讲:一块芯片就成了一台计算机。随着物联网、智能化等技术的推广,单片机技术生活中的应用越来越广泛,单片机课程的重要性日益突出。电类专业中,单片机课程又是核心专业课,在中等职业学校受到越来越多的重视与关注。

二、单片机教学的困境

1.编程语言学习困难

单片机编程可以选汇编语言或者C语言,但是无论选哪种语言都需要接触一定量的英文;中职学生的文化基础薄弱,对英文最为头痛。C语言灵活强大,语法规则严格,短时间难以掌握;C语言是大小写敏感的语言,即一个单词只要有一个字符大小写不一样,对C编译器来说就是完全不一样的两个词。代码大小写,全角符号等任何的输入错误都会导致编程失败。初学者在这点上屡屡犯错,入门阶段的失败最容易导致学生产生畏难情绪,影响后续教学。选汇编语言还需记忆大量指令、寄存器、硬件结构等知识,编程代码更加难写难读,所以学习难度还高于C语言。对中职学生来说,单片机入门尤为困难。

2.单片机实训室建设成本高

单片机学习需要专业软件和硬件,市场主流都是商业软件,采购价格昂贵。

(1)硬件方面,需要单片机实训电路板(开发板),下载烧写器,电源适配器。市场上各种单片机实训电路板很多,具有一定指导性的中职单片机全国技能大赛官方指定设备为YL-236。该设备配备十余种模块,功能丰富,也具备一定的灵活性,但设备体积庞大,万余元价格,不利于普遍推广。其他小厂商也有单片机实训开发板,但各自为政,标准不一;配齐烧写器等必备的工具,硬件成本最少也需要百余元。近几年有Proteus等仿真软件应用,在一定程度上弥补了硬件的缺点,但高昂的软件授权费用仍旧将许多学校拒之门外。

(2)软件方面,通常需要开发IDE和编译器软件。以教学中常用的MSC51系列单片机为例,基本上只有Keil一家公司独占市场,Keil C51开发IDE软件每台计算机授权费用也大约一万元。

高成本的实训设备对中职学校来说无疑提高了学生专业教学的门槛,要做到一人一机非常难,而这样又不利于学生实践操作的学习。所以目前,单片机教学的难点在于实训设备的局限导致教学方法的局限。

三、Arduino单片机平台和图形化编程

Arduino,由意大利两位教师提出,是一个基于开放源码和硬件规格的软硬件平台。硬件有Arduino系列开发板,如图1(a)所示为其中最常见的Arduino UNO;软件有Arduino IDE,自带编辑器,编译器等各种工具。如表1所示,与传统MSC51单片机教学相比,Arduino平台用于单片机教学有以下优点。

1.成本极低,容易推广

在硬件上,Arduino的电路图设计文件是公开提供的,官方提供的Eagle格式PCB,SCH电路图,及简化的Arduino模组,用户可以自己搭建电路。国内使用最多Arduino UNO,淘宝网售价低于20元人民币。此外Arduino自带USB下载、供电,不需要其他下载器、电源适配器等硬件。软件方面,Arduino开发IDE已经包括编译器等全部软件,而且都是免费的开源软件。实训场地要求低:目前中职学校的配置最低的计算机机房也可胜任,Arduino开发IDE为免安装软件,机房上课教师将软件下发即可使用;一些入门实训项目只需一根USB线即可开课。

2.性能强大,紧跟市场

Arduino采用基于AVR指令集的8位处理器,频率 20MHz,程序存储器空间 32kB,内存2kB,集成EEPROM等大量常用外围器件电路,远远超过MSC51系列单片机的8kB程序存储器,256B的内存配置。Arduino单片机性能更强悍,功能更丰富,更贴近工业生产,紧跟市场技术潮流。

3.针对教学,资源丰富

最初研发Arduino的目的是教育,因此Arduino团队在易用性各方面做了优化:简化了单片机工作的流程,重新封装了 AVRC。例如,以阿拉伯数字1~13指代各个输入输出引脚。Arduino硬件规格统一,这些措施使得Arduino代码可复用性非常高。Arduino IDE中集成大量成熟例程代码,特别适合老师,学生和一些业余爱好者们使用。

4.图形编程,学习无碍

相比C语言或汇编语言等文字编程,图形化编程可以大大降低了单片机编程开发难度。Arduino软件的开源可扩展特性,任何第三方公司都可以编写自己的工具。国内一家名为新车间公司开发了一款依附在Arduino上,遵循开源协议并免费的ArduBlock插件,如图1(b)所示。其编程如同积木搭建,而且软件是中文界面,有效降低了职业学校学生学习单片机的门槛。

四、Arduino教学实践

以单片机控制LED灯闪烁一课为例,参照项目教学法,该课为单片机入门第3节课。本节教学内包括C语言的变量定义、函数调用、延时时间计算等知识,以及正负逻辑与TTL电平关系等数字电路知识。教学内容多,细节要求高。最简单代码如图2所示。

借助Arduino平台完成单片机点亮LED灯的项目,则是以面向对象的思路,只需三步。如图2所示,第一步,拖入1个“主程序”方块,2个“设定数字针脚值”方块和2个“微秒延迟”方块三个积木方块;第二步,根据硬件接线,更改“设定数字针脚值”方块的输出引脚为“13”号引脚、输出电平为一个“高(数字)”,另一个为“低(数字)”,其余均使用默认值;第三步,按照LED灯闪烁的逻辑顺序排列即可,如图3所示。整个编程过程不用书写任何一个单词。

在学校高一14(3+2)应用电子和2014五年一贯电子两个平行班分别以传统教学方式和Arduino图形编程方式开展教学试验,收集项目完成评价及学生评价情况,见表2。对比教学实践发现,采用Arduino图形化编程教学的班级学生参与度高,教学目标达成度好,教学进度推行更顺利,教学效果更佳。

五、小结

单片机课程是实践性特别强的课程,尤其在强调动手能力的中职教育中,培养学生单片机相关的动手能力非常重要。采用Arduino+ArduBlock图形化编程抛开编程语言束缚,直接切入单片机学习的核心——迅速把所学单片机知识转化为动手应用能力,学习过程简单直观易懂,符合职业高中学生认知规律,在职高单片机教学中推广能取得更好的教学效果。

参考文献:

[1]Massimo Banzi,于欣龙,郭浩赟.爱上Arduino(第2版)[M].北京:人民邮电出版社,2012.

(作者单位:慈溪职业高级中学)

猜你喜欢
图形化C语言编程
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
基于Visual Studio Code的C语言程序设计实践教学探索
纺织机上诞生的编程
基于C语言的计算机软件编程
LKJ自动化测试系统图形化技术研究
高职高专院校C语言程序设计教学改革探索
运用图形化听写式复习,构建高效地理课堂
论子函数在C语言数据格式输出中的应用