龙源期刊网 http://www.qikan.com.cn
Proteus仿真软件在单片机教学中的应用
作者:杨俊起 陈滟涛 王 莉 来源:《职业教育研究》2007年第09期
摘要:在单片机教学过程中,对程序的学习可以利用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终端等动态外设模型来对设计进行交互仿真。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出
龙源期刊网 http://www.qikan.com.cn
的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。
下面以数码管的动态显示为例加以介绍。系统硬件结构如图1所示。
图1 数码管动态显示
从图1可以看出,由80C51单片机、排组和四段共阴极LED数码光组成的动态显示演示系统,它的结构比较简单。但对于刚刚学习单片机的学生来说,对简单系统的结构、组成及连接方式仍然比较陌生,而Proteus仿真软件很好地解决了这个问题,使得在课堂上不能看到的实际器件,通过Proteus提供的元件库虚拟化地展现在学生面前,易于学生理解系统硬件组成及设计方法。
(二)Proteus仿真软件使抽象程序具体化,提高了学生的学习兴趣
在Proteus绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在Proteus的原理图中看到模拟的实物运行状态和过程。
Proteus 6.9 Professional开发环境界面提供仿真控制按钮,在硬件虚拟电路连接好并且把相应的十六进制代码调入芯片后,可以控制程序的运行、单步运行、暂停和停止。使得抽象的程序执行过程变得容易理解,大大提高了学生的学习兴趣。
现以数码管的动态显示为例加以介绍。通过Wave或Keil C51编写程序源代码,编译得到可以调入虚拟芯片的可执行代码文件,即Led.Hex文件。然后在芯片上先点击右键,再点击左键即可打开对芯片的编辑对话框,在Program File后的文本框调入代码所在的路径,然后控制程序的执行就可以看到程序执行效果,如图2所示。
龙源期刊网 http://www.qikan.com.cn
图2 数码管动态显示运行效果图
由此可以看出,Proteus不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则可获得实物演示实验难以达到的效果。
Proteus是单片机课程设计、毕业设计 和大学生电子设计大赛的创作园地
课程设计、毕业设计是学生走向就业的重要实践环节。随着我国大学扩招带来的学生多、教师和实践器材少等一系列问题;另外,对于没有实践经验的学生来说,设计过程中容易造成器件和仪器仪表的损坏。故学生的课程设计和毕业设计需要的元器件数量急剧增加,这就需要学校提供大量的资金支持。而采用Proteus进行仿真则不存在上述问题,其试验过程是比较安全的。
举办大学生电子设计大赛也是培养学生动手能力的一个有效途径。然而受试验场地、试验器材的限制,大多数学生不能得到充分锻炼。随着Proteus软件被引入课堂教学中,多数学生可以在实验室、机房,甚至学生宿舍组建开发小组,可以具体地在Proteus中做一个工程项目,并将其最后移植到一个具体的硬件电路中,让学生了解将仿真软件与具体工程如何结合起来,有利于学生对工程实践的了解和学习。