〔摘要〕本文介绍了PROTEUS软件在实践教学中的重要作用,阐述了该仿真软件的优势,通过实例说明虚拟仿真在电子设计方面的应用。 〔关键词〕Proteus软件仿真实践教学 一、前言 伴随着计算机技术的迅猛发展虚拟仿真实验室应运而生,将计算机仿真技术引入电子线路课程设计教学之中,是对传统实践教学和电子电路设计的重大突破。先在计算机上进行虚拟设计、仿真,然后将结果应用到实际电路之中,既降低了设计成本,又缩短了整个设计的周期,从而提高了效率。作为传统实验的重要补充,虚拟实验丰富了实践性教学的手段,有利于现代实验教学观念的更新。例如,对于嵌入式系统开发的爱好者而言,往往没有足够的资金购买昂贵的开发板来进行开发,这时可以选择通过软件仿真来学习嵌入式系统开发。Proteus是目前最好的能够虚拟嵌入式系统开发中常用的处理器和外围器件的EDA工具。另外,仿真技术在电子线路课程设计中的应用提高了学生综合分析电路的能力和开发设计的能力,为今后更高层次的设计和实践打下基础。 二、PROTEUS软件简介 PROTEUS软件由Labcenter公司开发,是目前世界上最先进、最完整的嵌入式系统设计与仿真平台,可以实现数字电路、模拟电路及微控制器系统与外设的混合电路系统的电路仿真、软件仿真、系统协同仿真和PCB设计等功能,是目前唯一能够对各种处理器进行实时仿真、调试与测试的EDA工具。微控制器系统相关的仿真需建立编译和调试环境,可选择KeilC51uVision2软件。该软件支持众多不同公司的芯片,集编辑、编译和程序仿真等于一体,同时还支持PLM、汇编和C语言的程序设计。它的界面友好易学,在调试程序、软件仿真方面有很强大的功能。 ProteusVSM的核心是ProSPICE,这是一个组合了SPICE3f5模拟仿真器核和基于快速事件驱动的数字仿真器的混合的仿真系统,SPICE内核的使用使您能采用数目众多的供应厂商提供的SPICE模型,目前该软件包包含有约6500个模型。ProteusVSM包含大量的虚拟仪器如示波器、逻辑分析仪、函数发生器、数字信号波型发生器、时钟计数器、虚拟终端以及简单的电压计、电流计。此外仿真器能通过色点来显示每个管脚的状况,这点在单步调试IO码时绝对非常有用。 ProteusVSM最主要的特点是它能把微处理器软件作用在处理器上并和连接该微处理器的任何模拟和数字器件协同仿真。微处理器模型和其它器件的模型一道驻留在原理设计中,它仿真执行目标码,就像在真正的单片机系统上。如果程序代码向一个外设口写,电路中逻辑电平会相应变化,如果电路改变了微处理器管脚的状态,这些也可以在您的程序代码中看到,如同真实系统一样。 PROTEUSVSMFORARMLPC2000包含做PHILIPS公司LPC2000系列设计仿真所需的一切。支持ARM和THUMB指令集。支持片上外设:GPIO,timers,RTC,UARTS,SPI,I2C,MAM,PLL,ADCandwatchdogtimer等。支持VIC中断子系统。在3G的PC环境下可以做10MIPS的仿真。可以装载ELFDWARF2格式文件进行源码调试。可以利用IAREmbeddedWorkbench和KeilUV3与PROTEUS进行联调。这个软件包包括:ISIS原理图输入系统。PROSPICE交互式仿真引擎。LPC2000系列处理器模型。ARM7TDMI和ARM7TDMIS内核模型。可以用高级图形仿真工具来做基于图表的仿真。由PROTEUSVSM仿真通过的设计可以直接导入到ARES中进行PCB设计。 三、PROTEUS软件仿真的优势 采用Proteus仿真软件进行虚拟实验,具有比较明显的优势,如涉及到的电子元件丰富、实验内容全面、硬件投入少、实验过程中安全、损耗小、与工程实践最为接近等。 1电子元件丰富,内容全面 Proteus软件提供了数千种元器件,它能实验的内容包括软件部分的。汇编、C等语言的调试过程,也包括硬件接口电路中的大部分类型。对同一类功能的接口电路,可以采用不同的硬件来搭建完成,可以扩展学生的思路和提高学生的学习兴趣。该软件可以加快电路系统开发的速度,节约开发成本,提高开发效率。 2硬件投入少,经济优势明显 Proteus所提供的元件库中,大部分可以直接用于接口电路的搭建,同时该软件所提供的仪表,不管在质量还是数量上,都是可靠和经济的。如果在实验教学中投入这样的真实的仪器仪表,仅仪表的维护来讲,其工作量也是比较大的。因此采用软件的方式进行教学,其经济优势是比较明显的。 3接近实践,提高解决实际工程问题的能力 采用仿真软件后,学习的投入变得比较的小,而实际工程问题的研究,也可以先在软件环境中模拟通过,再进行硬件的投入,这样处理,不仅省时省力,也可以节省因方案不正确所造成的硬件投入的浪费。最后将仿真调试成功的电路移植到一个具体的硬件电路中进行测试。将仿真软件和具体的工程实践如何结合起来,利于对工程实践过程的了解和学习。 4实验过程中安全,仪器多、损耗小 采用Proteus仿真软件进行的实验教学,可以将大量教学信息直接地表现出来,节约大量昂贵的实验仪器费用,调动学生的学习积极性和主动性,为实践性教学设计过程带来了很大的灵活性,并且打破了空间和时间的限制,避免真实实验或操作所带来的各种危险,则不存在因操作不当而造成的元器件和仪器仪表的损毁,也涉及到仪器仪表等工作时所造成的能源消耗的问题。 5采用多媒体教学,丰富了实践性教学的手段 在教学上虚拟实验采用局域网多媒体教学,通过局域网实现教师机对学生机同步演示电路图并讲解其原理,学生根据电路原理图在虚拟实验系统提供的元件库中找到相应的虚拟元件。实验完成后将数据输入到电子实验报告系统中,自动生成实验报告,教师再通过主机将每位学生的实验报告收上来进而完成整个实验教学。 四、教学实例 1hr在Proteus软件平台中绘制原理图 Proteus软件绘制原理图先从软件包的器件库里取出所需的元件符号并在绘图区布局好,同时编辑好元件的参数,接着进行连线,添加必要的网络标号等步骤。 2编写程序 (1)对于汇编语言,可直接在Proteus软件平台编写、编译程序,再把产生HEX文件导入到AT89C51中。 (2)也可打开第三方软件KeilVision3,新建项目,选择微处理芯片,然后编写程序,编译源程序。产生HEX文件,并选中UseProteusVSMSimulator。该温控电路主要程序如下: DATBITP2。0;数据通信口 WDLSBDATA30H;读出的温度低字节 WDMSBDATA31H;读出的温度高字节 MAIN:MOVSP,60H MOVP2,0FFH MOVR2,8 MOVR0,40H; OVER:MOVR0,00H;清显示缓冲 INCR0 DJNZR2,OVER MOVTMOD,21H;T016BCounter,T18Bautoload MOVTH1,0FDH;串口波特率960011。0592M MOVTL1,0FDH MOVSCON,50H;串口方式1:8,N,1 MOVPCON,00H MOVTH0,LOW(6553510000) MOVTL0,HIGH(6553510000) SETBEA SETBET0 SETBTR1 SETBTR0 LOOP:LCALLDSWD;调用读出DS18B20温度程序 SJMPLOOP;读出DS18B20温度程序 DSWD: CLREA LCALLRSTSNR JNBF0,KEND;如果没有应答,返回主程序 MOVR0,0CCH LCALLSENDBYTE;跳过ROM匹配 MOVR0,44H;发出温度转换命令 LCALLSENDBYTE SETBEA MOVP1,00001111B MOV48H,1;延时75ms以上准备读 SS2:MOV49H,255 SS1:MOV4AH,255 SS0:DJNZ4AH,SS0 DJNZ49H,SS1 DJNZ48H,SS2 MOVP1,11111100B CLREA LCALLRSTSNR JNBF0,KEND MOVR0,0CCH;跳过ROM匹配 LCALLSENDBYTE MOVR0,0BEH;发出读温度命令 LCALLSENDBYTE LCALLREADBYTE MOVWDLSB,A LCALLREADBYTE MOVWDMSB,A LCALLTRANS12 KEND:SETBEA RET 3电路的调试与仿真 对于汇编语言程序可直接在Proteus平台编译、仿真和调试程序,如果采用第三方软件Keil编程(C语言或汇编语言)可按照以下步骤进行仿真调试。 (1)打开Proteus绘制电路图,在AT89C51中导入在Keil平台中编译出的HEX文件,选中UseRemoteDebugMonitor。 (2)在Keil中选择调试,可顺序和单步运行程序,调出ProteusISIS界面,在Debug菜单下选择VirtualTerminal,打开虚拟终端,在键盘上按键,在虚拟终端窗口中就会显示相应的字符,调节虚拟的温度传感器(DS18B20)温度,就可在数码管中显示准确的温度值。 五、结束语 Proteus仿真与传统的实验教学相比,虚拟实验教学方法效率更高、互动性更好。传统实验是在实验箱进行,实验室提供的仪器和实验箱上提供的元件有限,只能完成一些常规实验。而在虚拟实验平台上提供了大量的虚拟仪器和电子元件供学生使用,这样就可以在虚拟实验教学过程中激发学生的创造性,这是传统实验教学无法比拟的。 参考文献: 〔1〕许文斌。proteus软件在单片机系统仿真实验教学中的应用〔J〕。商业经济,2006,(3)。 〔2〕代启化。proteus在单片机电路系统设计中的应用〔J〕。自动化与仪器仪表,2006,(6)。 〔3〕周润景,张丽娜。基于Proteus的电路及单片机系统设计与仿真〔M〕。北京航空航天大学出版社,2006。5。