淮安市高级职业技术学校电子系 汪守栋
笔者长期从事高职层次的单片机教学,从以往的教学可以看出,单片机是一门实践性非常强的课程。因此若想收到理想的教学效果,必须要进行理论与实践的一体化、并行的教学。
而进行单片机的实验教学则需要专门的设备、开发板。调试起来不光费时,而且学生若操作不当,极容易引起电路板的损坏与故障,从而很容易阻碍课程的进度。这样一来,单片机的教学给人的感觉是费时、费精力而不讨好。
随着虚拟软件的出现,教学中的这些令人头疼的矛盾得到了根本性的解决。对于单片机教学,有一种叫做PROTEUS的虚拟软件非常适合、非常的凑效。它通过模拟实际的电路而打造出适合程序运行的环境,从而使教学得到了功半事倍的效果,极大的提高了课堂的效率。使老师与学生有更多的精力投入到程序的设计上面,而不会把时间浪费在电路的调试上面。
Proteus是世界上著名的EDA工具,从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。
有甲乙两个单片机进行双向的串行通信,甲机通过按键控制乙机上LED灯的闪烁,乙机通过按键把数据发送到甲机所构成的系统的数码管上。
拿到这个任务之后,大家可能会觉得这个任务不是很简单。因为这个里面不但涉及到数码管、LED、独立按键的驱动,而且还涉及到要焊接两个单片机的最小系统。所以,若想完成该任务,前期的电路设计与焊接要占用很多的时间。若要购买成型的单片机开发板,也是很不容易的,因为一方面价格较昂贵,另一方面很少有一个开发板上面具有两个单片机最小系统这样另类的结构。而我们学习单片机这门课程的主要目的是为了训练编程的能力,象这样准备与搭建硬件电路耗费了我们太多的精力,导致了我们学习效率的低下。
而PROTEUS虚拟软件的出现,彻底解决与颠覆了这个瓶颈。它可以在PC机上模拟出我们需要的硬件环境。然后程序员就可以再这个硬件环境的基础上编写程序,让然后将生成的机器码加载到虚拟环境的单片机中,可以全真的去模拟验证程序的执行结果。
首先从网络上面下载破解版的PROTEUS安装程序,笔者使用的是7.5版本的,当然现在还有更高的版本,功能基本上相差不大的。
在PC上第一次启动该软件以后,建立一个设计文本如图1所示:
图1 设计文本图
接下来我们就可以在上面的工作区范围内建立我们所需要的电路。因为PROTEUS是自带元器件库的。正常情况下我们所需要的元器件及芯片其库里都有的。在该例子中,需要的元器件名称分别为:AT89C51(单片机)、BUTTON(独立按键)、LEDRED(红色的LED灯)、RES(电阻)。完成后的电路图如图2所示:
图2 电路图
那么,这样的电路就完全可以仿真实际的电路,也就是程序员完全可以以此作为硬件开发环境对上图中的两个单片机芯片进行编程,从而达到控制外围设备的目的。整个的过程,不需要耗费万能板、元器件、芯片,完全在PC机上模拟实际电路,而且能达到与实际电路相同的效果。从而节省了电路搭建的麻烦与痛苦,使得学生能争取更多的时间投入到单片机的程序设计中去。提高了课堂效率。
笔者在长期的教学过程中,已经将单片机常用的外围设备用软件的形式做好。因此,现在的单片机实验教学,完全是在计算机房完成的。学生只要拷贝一份电路图,就等于拥有了一块功能非常齐全的实验板。而学生的任务就是在这个虚幻的环境下进行算法的设计与程序的编码。这样,就初步构建出一个虚拟的单片机实验室。在使用PROTEUS组建单片机虚拟实验室过程中,笔者觉得有如下几点优势:
解决以往以理论为主实践少,且实践以验证性为主及设备不足等问题。由于Proteus特有的虚拟仿真技术能在没有单片机实际硬件的条件下实现单片机系统的软硬件同步仿真调试,只要在安装有Proteus和Keil软件的虚拟实验室里就可以完成整个开发过程,无需任何其他硬件设备的支持;在实验室不开放的情况下,学生也可以利用自己的电脑来完成。
由于Proteus提供的都是虚拟设备,可以让学生自由、大胆地进行各种设计,无需担心损害实验设备,也不用承担设计开发的各种费用,节约了实验经费。学生的某些创造性设想在仿真软件可以很快地得以实施,相比于到电子市场购买元器件再组装调试,既节约了成本又提高了效率。
基于“工作过程系统化”的单片机项目式教学法突破了传统的教学模式,以项目取代章节,将理论知识贯穿于各项目中,开展理实一体化项目教学,强调理论知识与实践技能相结合,融“教、学、做”一体。单片机虚拟实验室的建立成为大力推进项目教学的有力保障,对于项目教学来说课程划分若干项目,每一个项目都是一个具体的控制任务,软硬件均可以在Keil和Proteus联合仿真调试,学生可以在教师指导下独立完成设计任务并检查控制效果。单片机虚拟实验室的建立可以较好地克服传统的单片机教学中无法兼顾理论教学和实践教学,或是由实物演示带来教师工作量大和教学效率低等问题。
建成的单片机创新虚拟实验室也可以作为学生实习的场地,在没有合适的实习场所的情况下,可以让学生做创新性设计实习。
单片机技术应用于各种嵌入式系统中,掌握单片机技术是电子、自动化类专业学生就业的一个基本条件。有相当的单片机设计、开发经验,对学生毕业找工作将起到很好的帮助作用。