黄 贞 李俊雄 周朱武
摘要 首先分析传统单片机实验中存在的诸多问题,如实验设备费用高、实验内容呆板、缺乏灵活性、设备难维护等,提出利用Proteus软件来进行单片机仿真实验教学。设计并介绍一个典型的实例程序,表明利用Proteus仿真单片机实验系统具有搭建简单、仿真过程直观、操作灵活、成本低等特点,为单片机教学提供一个良好的实验平台。
关键词 仿真实验;单片机;Proteus
中图分类号:G434 文献标识码:B 文章编号:1671-489X(2009)09-0057-03
Application of Proteus on Experiment Teaching of MCU//Huang Zhen, Li Junxiong, Zhou Zhuwu
Abstract This paper first analyzes on the problem of experiment teaching of MCU, such as high cost of experiment equipments, poverty of content, lack of flexibility and hard maintenance. And then this paper puts forward to use Proteus on experiment teaching of MCU. In order to speak volumes for its merit and practicability, a typical example is designed and introduced. The application of Proteus on simulation for experiment teaching of MCU can reduce cost, enrich the experiment contents. Additionally, it is simple and flexible to operation, and provides a good platform for teaching of MCU.
Key words simulation experiments;MCU;Proteus
Authors address
1 Physics Science and Technology School, Zhanjiang Normal University, Zhanjiang, Guangdong 524048
2 Department of Mathematics, HuaZhou NO.1 High School, HuaZhou, Guangdong 525100
随着嵌入式系统技术的迅速发展,单片机技术已经广泛地应用到工业控制、医疗仪器、信息家电、通信设备等众多领域。为了满足社会的需要,国内各院校都将单片机原理及应用作为工科学生的必修课程。该课程是一门理论和实践结合性很强的课程,在教学过程中必须软硬件结合,理论学习和实验动手相结合。为了满足学生动手实验要求,目前在传统教学中大多采用硬件仿真与实验箱或实验板来配置实验设备,也就出现了采购量大、费用高、实验方案更因难、设备维护复杂等弊端。Labcenter公司推出的Proteus是一种混合电路仿真工具,其最大的特点在于能够实现单片机及外围电路组成的系统仿真(Proteus6.0中的ISI帮助文件),将该软件引入单片机实验中,能够较好地解决传统教学中存在的弊端,而且可以增强实验验证的随时性,使学生进一步理解单片机的应用,大大提高教学效果。
1 传统单片机实验教学中存在的弊端
1.1 实验设备的经费问题实验设备的经费高。目前大多数单片机实验都是利用已做好的实验箱,然后根据其提供的实验教材进行实验。这些实验设备价格一般都比较高,而且基本上学生每次使用的都是同一套硬件。但单片机的种类繁多,为使学生接触较多的单片机芯片,就必须购买多套实验设备,这无疑增加了实验设备的经费。
1.2 实验内容呆板、缺乏灵活性由于单片机实验多利用实验箱进行,实验受到实验箱硬件条件限制,因此实验内容固定,学生进行实验只是一些验证性实验,对于一些诸如数据传送等操作型的基本实验,一些面向外围设备控制的实验无法开出,缺乏灵活性。
1.3 实验学时受限学生课内实验时数有限,平时难有机会实践,如让学生个人配备单片机实验开发系统,或是自行设计实验电路与制作电路板,则需要花费大量的时间和必要的资金投入,很多学生无法承受。这些都在一定程度上限制了学生动手能力的提高,影响了学生的积极性和创新性[1]。
1.4 实验仪器的损耗与维护实验过程若稍有不慎,就可能损坏仿真头等硬件设备[2];如果用烧录器写程序的方法来验证实验结果,由于多次插、拔芯片,既易损芯片,且效率低、教学效果不佳。同时由于实验过程中需要用到的仪器较多,如计算机、电源、烧录器等,造成设备维护工作量大等问题。
针对上述弊端,本文利用Proteus仿真软件,设计单片机仿真实验系统,既减少硬件投入和设备维护量,还可以调试单片机程序,仿真单片机外围器件的工作情况,为学生提供丰富的实验内容。
2 Proteus软件简介
Proteus是由英国Labcenter electronics公司开发的EDA工具软件,该软件除了具有和其他EDA工具一样的电路仿真(模拟电路、数字电路以及数模混合电路仿真)等功能外,其最大的特点是51系列、AVR系列、PIC、ARM系列等微处理器、微控制器连同外围器件一起仿真。同时还支持PLC、汇编和C语言的程序设计,使得在程序调试、系统仿真时,不仅能观察到程序执行时单片机寄存器和存储器等内容变化,而且从工程的角度直观地看到外围电路的工作情况,非常接近工程应用。
该软件有比较丰富的元器件模型,特别是在单片机系统设计中常用的外围器件,如总线驱动器74LS373、可编程外围定时器8253、并行接口8255、LCD模块、多种D/A和A/D转换器等都可直接调用。这为建立基于Proteus仿真软件的单片机实验系统提供了强大的器件资源。
3 Proteus仿真单片机实验系统设计实例
根据单片机实验教学大纲要求,在51单片机学习的基础实验中主要掌握单片机指令系统、I/O口、中断,定时器及串行口[3]。根据这些要求,本文以走马灯为例设计实验实例。如图1所示,本实例采用AT89C52单片机,实验电路包括时钟和复位电路(在Proteus中可省略)、16只LED灯显示电路、7段数码管显示电路及按键控制电路。通过扫描3个按键(模式键、加速键和减速键)的状态来控制16只LED灯的点亮模式及点亮速度。共有7种点亮模式,模式序号由一只7段数码管指示。各种模式下LED灯点亮状态如表1。
在主程序中实现按键的扫描,确认3个按键的按下状态,及16只LED灯与数码管的显示。LED灯的点亮或熄灭速度由定时器2定时中断确定,采用软件查询方法确定走马灯的速度。程序中的主程序、中断服务子程序及按键扫描子程序流程如图2~图4所示。
按上述流程图编写走马灯控制程序,加入到实验系统中,作为单片机的源程序。启动调动功能,利用Proteus提供的单步调试命令(Step Over、Step Into、Step Out、Step To)和断点命令执行源代码窗口的程序,并随时通过CPU的各种窗口(变量观察窗口、寄存器窗口、专用寄存器窗口、内部数据存储器窗口等)观察程序每一指令执行是否正常。若有问题,可在源代码窗口中随时修改。
程序调试完成后直接运行,可看到16只LED灯的走马灯效果。通过这个仿真可以直观地看到按键对程序的控制、走马灯运行的结果,效果非常好。本实例中用到了单片机的I/O、定时器中断等硬件功能,同时涉及到软件查询定时、中断程序、按键控制、数码管动态显示等主要程序的设计方法。通过本实例可使学生掌握单片机基础的主要内容。
4 结论
将Proteus软件引入单片机实验教学,辅助传统实验教学,是教学方法的一种改革。通过构建基于Proteus的仿真单片机实验系统,能够很好地解决传统单片机实验教学中存在的实验设备经费投入大、实验内容呆板、缺乏灵活性、实验仪器设备损耗大与维护工作量大等弊端。而且由于其仿真过程直观,操作灵活,易调动学生的积极性和主动性,必将收到良好的教学效果,为单片机教学提供了一个良好的实验平台。
参考文献
[1]沙春芳.Proteus VSM在单片机系统仿真中的应用[J].计算机应用,2004(24):110-112
[2]刘心红,郭福田,孙振兴,曾丽丽.Proteus仿真技术在单片机教学中的应用[J].实验技术与管理,2007,24(3):96-98
[3]吴金戌,沈庆阳,郭庭吉.8051单片机实践与应用[M].北京:清华大学出版社,2002:10-15