首页 -> 2007年第9期

Proteus仿真软件在单片机教学中的应用

作者:杨俊起 陈滟涛 王 莉




  摘要:在单片机教学过程中,对程序的学习可以利用Wave、Keil C51等软件来演示具体的执行过程,但是对程序的执行效果却难以形象地体现出来,而Proteus仿真软件的出现很好地解决了这个问题,该软件不但可以模拟硬件系统,而且可以把编译好的程序代码装入仿真元件中,通过运行仿真系统可以看到执行效果。Proteus软件在单片机教学中的应用,提高了学生的学习兴趣,取得了良好的教学效果。
  关键词:单片机教学;仿真软件
  
  Proteus软件是英国Labcenter·electronics公司出版的EDA工具软件。它不仅具有其他EDA工具软件的仿真功能,还能仿单片机及外围器件。它是目前最好的单片机及外围器件的仿真工具。虽然目前在国内刚刚推广,但已受到单片机爱好者、教师和科技工作者的青睐。
  Proteus仿真软件的ISIS具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。支持目前主流的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片,符合我们提出的单片机软件仿真系统的标准。该软件不但可以模拟硬件系统,而且可以把编译好的程序代码装入仿真元件中,通过运行仿真系统可以像焊接好的电路板一样看到系统的执行效果。
  
  Proteus是单片机课堂辅助教学的先进手段
  
  (一)Proteus仿真软件使元器件虚拟化,易于学生理解系统硬件组成
  Proteus可提供30多个元件库,可以仿真数字和模拟、交流和直流等数千种元器件。用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。
  下面以数码管的动态显示为例加以介绍。系统硬件结构如图1所示。
  
  图1 数码管动态显示
  
  从图1可以看出,由80C51单片机、排组和四段共阴极LED数码光组成的动态显示演示系统,它的结构比较简单。但对于刚刚学习单片机的学生来说,对简单系统的结构、组成及连接方式仍然比较陌生,而Proteus仿真软件很好地解决了这个问题,使得在课堂上不能看到的实际器件,通过Proteus提供的元件库虚拟化地展现在学生面前,易于学生理解系统硬件组成及设计方法。
  (二)Proteus仿真软件使抽象程序具体化,提高了学生的学习兴趣
  在Proteus绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在Proteus的原理图中看到模拟的实物运行状态和过程。
  Proteus 6.9 Professional开发环境界面提供仿真控制按钮,在硬件虚拟电路连接好并且把相应的十六进制代码调入芯片后,可以控制程序的运行、单步运行、暂停和停止。使得抽象的程序执行过程变得容易理解,大大提高了学生的学习兴趣。
  现以数码管的动态显示为例加以介绍。通过Wave或Keil C51编写程序源代码,编译得到可以调入虚拟芯片的可执行代码文件,即Led.Hex文件。然后在芯片上先点击右键,再点击左键即可打开对芯片的编辑对话框,在Program File后的文本框调入代码所在的路径,然后控制程序的执行就可以看到程序执行效果,如图2所示。
  
  图2 数码管动态显示运行效果图
  
  由此可以看出,Proteus不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则可获得实物演示实验难以达到的效果。
  
  Proteus是单片机课程设计、毕业设计
  和大学生电子设计大赛的创作园地
  
  课程设计、毕业设计是学生走向就业的重要实践环节。随着我国大学扩招带来的学生多、教师和实践器材少等一系列问题;另外,对于没有实践经验的学生来说,设计过程中容易造成器件和仪器仪表的损坏。故学生的课程设计和毕业设计需要的元器件数量急剧增加,这就需要学校提供大量的资金支持。而采用Proteus进行仿真则不存在上述问题,其试验过程是比较安全的。
  举办大学生电子设计大赛也是培养学生动手能力的一个有效途径。然而受试验场地、试验器材的限制,大多数学生不能得到充分锻炼。随着Proteus软件被引入课堂教学中,多数学生可以在实验室、机房,甚至学生宿舍组建开发小组,可以具体地在Proteus中做一个工程项目,并将其最后移植到一个具体的硬件电路中,让学生了解将仿真软件与具体工程如何结合起来,有利于学生对工程实践的了解和学习。
  由于Proteus提供了大量的元器件库,提供了修改电路设计的灵活性,提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台。为单片机课程设计、毕业设计和大学生电子设计大赛提供了有利的条件。
  
  Proteus是单片机实验教学的虚拟平台
  
  目前,各个高校都建立了单片机实验室,并且基本都是采用相应的硬件仿真设备,不仅需采购大量的硬件设备,而且设备维护工作量也非常巨大。但是由于单片机的种类繁多,再加上资金的限制,一个实验室不可能拥有所有种类的单片机仿真设备。建设基于Proteus软件仿真的单片机实验室,在硬件设备配置有限的情况下,可以很好地解决资金和设备维护问题;大量的仿真实验可以在软件环境中实现,大大增强了实验室向学生开放的便利性。在实际运行中,取得了良好的教学效果。
  Proteus的元器件、连接线路等和传统的单片机实验硬件高度对应,具有设计灵活、结果和过程统一的特点,可使设计时间大为缩短、耗资大为减少,这在相当程度上替代了传统单片机实验教学的功能。例如元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。除了现存的仪器外,Proteus还提供了一个图形显示功能,可将线路上变化的信号以图形方式实时显示出来,其作用与示波器相似,但功能更多。这些虚拟仪器、仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。这些都尽可能地减少了仪器对测量结果的影响。学生可以根据实验内容的要求,在Proteus元件库中选择所需要的虚拟元件设计应用电路。这样,学生不仅可以调试自己编写的程序,而且可以形象、直观地看到程序执行的效果。因此,基于Proteus软件仿真建设的实验室是单片机实验教学的虚拟平台。
  Proteus仿真软件在单片机教学中的应用,有利于促进课程和教学改革,更有利于专业人才培养,提高了学生的学习兴趣和创新能力,具有很大的灵活性和可扩展性。利用Proteus提供的可靠的虚拟器件和仪表,不但经济优势明显,而且大大提高了教学效率,对学生实践能力的培养具有重大的现实意义。
  
  参考文献:
  [1]李华.MCS-51系列单片机使用接口技术[M].北京:北京航空航天大学出版社,1993.
  [2]左宇翔,钱剑敏.UC/GU在MCS51系列单片机系统上移植的仿真实现[J].微计算机信息,2006,(22):69—100.
  作者简介:
  杨俊起(1979—),河南濮阳人,河南理工大学电气工程与自动化学院教师,研究方向为计算机控制、检测与自动化装置。
  (本栏责任编辑:张立环)