基于Proteus和Keil的单片机实践教学改革探讨
2012-05-18武汉军械士官学校崔艳萍
武汉军械士官学校 高 娟 汤 璇 崔艳萍
一、引言
随着计算机技术、微电子技术的发展,单片机技术在智能仪器仪表、智能传感器、数据采集与处理、家电和计算机控制系统等领域广泛应用,除此之外,单片机在导弹、无人机等装备中也有广泛的应用,因此,单片机作为一门专业基础课在我校的10多个电类相关的大专专业中开设。作为一门实用性比较强的课程,该课程在教学过程中需要软硬件结合,因此对讲授单片机课程的教员提出了更高的要求。
如何让学生在学好基础知识的同时,又能迅速地掌握设计应用技术,这是单片机课程教学的难点所在。
二、当前单片机实践教学的现状及存在的问题
目前的单片机课程教学主要由理论教学和实践教学两部分组成。理论教学已经改变了传统的以知识为中心的教学模式,转变成以项目任务为驱动的教学模式,每一任务涵盖单片机的一种应用资源,学员在完成任务的过程中掌握了知识点。这种教学方式极大的激发了学员的学习兴趣和积极性,经过一年的运行,已经取得了良好的效果。
在实践教学中,改变了传统的利用固定的实验箱,围绕有限的知识点进行验证性实验的方式,转变成学员动手焊接硬件电路,再编写程序通过编程器下载至单片机,最后根据结果现象判定软、硬件是否正确,如果出现错误,需要分别检测软、硬件,进行调试、纠正,从而得出正确的结果。这种教学方式,增强了学员的动手能力和单片机的开发应用能力,但在运行中也暴露出了一些问题,具体如下:
1.学员对硬件焊接比较感兴趣,忽略了对软件程序的理解和编写,通常只能照书敲进去,最后得出结果便认为万事大吉了,而实际上对知识的领悟与掌握很少,多个任务的硬件焊接也只是提高了焊接技能而已,并无太多的实际用处。
2.硬件焊接成本过高,大部分的元器件都是一次焊接就浪费了,一个学期,400多个学员,三块电路板的焊接成本多达20000多元。
3.硬件焊接时间消耗过多,在实践课中,大部分时间学员都用来焊接电路板,实际对知识的理解很少,对学习并无大益。
将仿真技术应用于单片机教学中,通过仿真的直观性和可参与性以及生动有趣的真实感,不仅可以激发学员的学习兴趣,提高实践教学效果,还可以节约时间与成本,因此本文就是探讨基于仿真软件Proteus的实践教学改革。
图1 基于Proteus软件的流水灯实验原理图
三、Proteus和Keil仿真软件介绍
Proteus软件是英国Labeenter Electronics公司出版的著名的EDA工具软件,是世界上目前唯一将电路仿真、PCB设计和虚拟模型仿真软件三合一的设计平台。它从原理图布图、代码调试到单片机与外围电路协同仿真,真正实现了从概念到产品的完整设计。Proteus提供的元件库,涉及到数字和模拟、交流和直流等数千种元件,具有丰富的仪表资源,支持8051、8086、PIC、AVR、ARM和MSP430等系列的仿真。
在编译方面采用keil软件。该软件是美国Keil Software公司出品的兼容单片机C语言软件的开发系统。它提供了丰富的库函数和功能强大的集成开发调试工具,采用全Windows界面,多数语句生成的汇编代码容易理解,尤其在开发大型软件时更能体现高级语言的优势。keil软件目前已受到单片机爱好者、应用者和开发者的青睐。Proteus和Keil各自都可以进行一定程度仿真调试,但效果不是很理想。我们采用把两者结合起来,其相互配合发挥Proteus和Keil的优势使得在仿真过程中的软件调试和硬件设计更加便捷、高效。
四、基于Proteus和Keil的实践教学过程
首先是要让学员熟悉Proteus与Keil软件环境,学会利用Proteus绘制原理电路图以及用Keil软件编写单片机汇编源程序并生成目标程序。下载目标程序Proteus原理图的MCU并仿真。下面以单片机控制模拟流水灯的显示为例介绍。
在Proteus软件中实现一个流水灯控制系统原理图的设计,如图1所示。再使用汇编语言对其进行程序编写,通过keil软件编译产生HEX文件,加载到Proteus中对流水灯控制系统进行软硬件结合的调试仿真。其中P1口做输出口,控制8盏灯(P1口输出低电平时灯被点亮);编程使灯按以下规律显示:同一时间只有一盏灯点亮,从P1.0控制的灯开始,每盏灯亮1s后,再移向下一盏灯循环往复。
用keil软件编辑该流水灯的控制系统程序如下:
五、结束语
本文在单片机实验教学过程引入计算机仿真技术,利用Proteus仿真功能,使学生不需硬件支持也能完成实验内容,能降低实验成本,缩短实验周期,延伸实验内涵。
[1]伍冯洁,谢斌.基于Proteus与Keil的实验教学改革[J].实验室研究与探索,2009.7.
[2]孙凌燕,张允千.Proteus与Keil的整合在单片机实验开发中的应用[J].实验室研究与探索,2008.4.
[3]张宏伟,王新环,王新.基于Proteus与Keil的单片机实验教学改革[J].电气电子教学学报,2008.6.