首页 -> 2007年第8期

Proteus软件在单片机课程教学中的应用

作者:朱文武




  摘要:Proteus软件是单片机仿真的一种电子设计自动化软件。通过举例详细地说明了Proteus软件在单片机课程教学中的应用,通过理论与仿真验证相结合,可以克服传统教学中的不足。
  关键词:Proteus软件;单片机;教学
  
  单片机教学多以理论教学为主,事实上单片机是一门实践性很强的学科,教学中需要很多硬件设备,如计算机、仿真器、烧写器、实验电路等等,一般理论课堂难以采用硬件辅助进行教学,即便演示,效果也不好。Proteus软件是单片机仿真的一种电子设计自动化软件,具有强大的仿真功能。近年来随着V6.7版本的推出,在单片机的学习、开发及设计中得到了广泛的应用。Proteus软件可以贯穿于单片机教学的各个环节,借以进行仿真演示能够取得很好的教学效果。
  
  实例引导,激发兴趣
  
  在单片机的入门教学中总会提到单片机在工业控制、智能仪表、家用电器、办公自动化等领域的极为广泛的应用。但是在课堂教学中很难提供具体的实物,容易让学生产生单片机距离生活很遥远的感觉。Proteus软件可以展示单片机的一些应用实例,其自带的大量的例子,如交通控制灯、计算器、国际象棋游戏机等,便于学生看到单片机在实际产品中的应用电路。再通过运行仿真,比如让红、绿、黄交通灯亮起来,让计算器进行各种计算,让国际象棋游戏机进行人机对弈等,可以极大地提高学生学习单片机的兴趣,进而引导他们主动学习单片机知识。教学实践证明,通过Proteus软件展示实例能够收到事半功倍的效果。
  
  菜单窗口,展示资源
  
  在单片机教学中,单片机的系统资源是一项重要的内容,教师可以借助Proteus软件让学生更深入地了解单片机的系统资源。例如,对于寄存器内容的查看,可以执行在Debug菜单下Registers菜单项命令打开相应的窗口。对于系统内部数据存储器的查看,可以执行debug菜单下的Internal memory菜单项命令打开相应的窗口。对于特殊功能寄存器的查看,同样执行Debug菜单下的SFR memory菜单项命令打开相应的窗口。对于内部程序存储器的查看,还可以执行Debug菜单下的Source code菜单项命令打开相应的窗口查看内部程序存储器中的数据及其汇编代码。在教学中,通过展示这些窗口,可使学生对单片机的存储器结构以及存储方式有更进一步的理解。
  
  软件编程,电路验证
  
  在单片机汇编语言的指令及编程学习中,涉及的内容主要包括对汇编语言中具体指令的执行效果验证、算法的具体实现、程序中语法错误的检查和逻辑错误的验证等内容。在教学中,学生对单纯的理论分析会感到枯燥,教师如果根据课堂内容用Proteus软件编写好指令程序,并充分考虑学生的学习能力配合相应的仿真电路,验证教学中的指令程序,便可以达到预期的教学目的。
  例如,对于两个16位二进制数的乘法运算R4R5×R6R7=R3R4R5R6R7的汇编语言实现。为了直观地验证程序执行的正确性,教师可以提前设计一个能完成数据输入(带显示)和结果输出(带显示)的硬件电路。这样通过仿真的输入数据以及仿真计算的结果显示,就可以验证编写的乘法运算是否正确。
  再如,在学习汇编程序设计中的循环控制程序时,教师可以使用Proteus软件在Led.asm文件中编写如下的一段程序,并设计相应的电路(如图1),通过全速运行或单步运行调试验证如下程序并进行仿真,电路中的红色指示灯从D1至D8依次循环点亮。在课堂教学中,利用这个设计好的例子可以验证循环控制程序的执行效果、算法的具体实现及程序中的语法和逻辑有无错误。学生通过红色指示灯显示的情况,可形象直观地认识循环控制程序的执行效果,还可以根据现象分析程序中的算法、语法和逻辑有无错误,达到很好的教学效果。
  
  
  硬件设计,仿真演示
  
  Proteus软件可以仿真单片机及其周围的电路设备,如仿真51系列、AVR、PIC等常用的单片机,还可提供周边设备的仿真,只要给出电路图就可以仿真。Proteus提供了大量的仿真元器件,有RAM、ROM、键盘、马达、喇叭、七段数码管、LED、LCD、AD/DA、部分SPI器件、部分IIC器件等等。与Keil或PIC的Mplab软件联接使用,可以像使用仿真器一样调试程序。教师可以借助Proteus软件种类齐全的仿真器件和强大的仿真功能来进行单片机电路方面的教学。
  例如,在单片机接口电路的教学中关于键盘输入、显示(数码管)接口以及马达驱动电路的设计,Proteus仿真软件可以仿真电路时所模拟的元件真实工作情况。Proteus软件的仿真元器件库中有各种按键、显示数码管以及马达,因此可以根据教学的需要设计方案,选择相应的按键、显示数码管和马达设计接口电路,设计搭好电路(如图2),编好相应的程序。进行仿真时,可以仿真地按下按键以显示数码管上的数值以及马达的工作情况。
  
  Proteus软件中还有各种仿真仪器仪表工具,如信号发生器、电压源、电流源、电压表、电流表、示波器、逻辑分析仪等等,理论上同一种仪表仪器可以在一个电路中随意的调用。除了仿真现实存在的仪器外,Proteus还提供了一个图形显示功能,可以将线路上变化的信号以图形的方式实时显示出来,作用与示波器相似,但功能更多。因此在教学中,可以运用这些虚拟仪器仪表及图形显示功能来演示程序和电路的调试过程,为学生更清晰地讲解程序和电路设计调试中的细节,让学生更容易发现程序和电路设计过程中遇到的问题,更容易地掌握解决这些问题的思路和方法。
  借助电子设计自动化方面的软件进行教学的方法摆脱了传统教学领域传授知识的局限,使教师有更多的时间进行课堂管理,观察学生的反应,检查课堂教学结果,并做出相应的教学调整,增加必要的、传统教学无法实现的过程,施加必要的教学手段,从而更出色地完成教学任务。在教学中,实验过程、实验步骤的演示在课堂上完成,可以克服由于学生不理解,教师不得不重复讲解和演示的弊端。总之,这种方法在教学过程中可以实现软、硬件相结合,克服了用单片机实验教学板教学中硬件电路固定、学生不能更改、实验内容固定等局限性,有助于扩展学生的思路,提高学生的学习兴趣。
  
  参考文献:
  [1]马正强.单片机虚拟实验室的建立[J].单片机与嵌入式系统应用,2005,(3).
  [2]刘映群.Proteus与Keil整合构建单片机虚拟实验室[J].中国现代教育装备,2005,(8).
  作者简介:
  朱文武(1976—),男,安徽庐江人,安徽机电职业技术学院电气工程系讲师,东南大学在读硕士研究生,研究方向为电子技术教育、信号处理。