由于计算机技术的飞速发展,许多领域都出现了仿真系统,明显促进了各领域科技事业的发展。仿真技术的出现与发展是科技发展的必然结果,是现代科技的关键技术之一,并逐渐成为科技人员的必备技术。PROTEUS是在这种形势下应运而生并迅速发展的仿真系统。PROTEUS是英国Labcenter公司研发的多功能EDA。PROTEUS是模拟电路、数字电路、模数混合电路的设计与仿真平台;更是单片机系统先进的设计与仿真平台。它真正实现了在计算机上完成从原理图与电路设计、电路分析与仿真、单片机代码级调试与仿真、系统测试与功能验证到形成PCB的完整的设计与仿真过程。它得到了越来越多的从事单片机事业的教师、工程技术人员以及众多的大学生和单片机技术爱好者的青睐。
PROTEUS能设计并仿真由ARM7、805x、PIC、AVR、HC11等系列单片机构成的系统;有数千种元器件仿真模型;有示波器、逻辑分析仪等十多种虚拟仪器;有各种信号激励源;有ASF高级图表仿真。PROTEUS还提供了编辑源程序、生成目标代码、调试和与第三方集成开发环境联合仿真的环境。PROTEUS为单片机教学与应用研发提供了一个完整的虚拟实验室。特别提出:由于PROTEUS仿真模型是根据生产厂家提供的技术参数文件来建立的,所以仿真极接近实际;这使它超越了“虚拟”,成为具有现实意义的教学、研发平台。
启动PROTEUS后将出现ISIS设计与仿真的交互式窗口,如图1所示。图中有丰富的菜单栏、工具栏和仿真按钮(最下一行中);有设计与仿真中各种对象列表的对象选择器,有能看到设计全貌的预览窗口,有用于设计与仿真的编辑区。图中编辑区正进行“单片机中断优先级”仿真演示实验的设计。应注意“设计”包括“电路设计”(左)和“软件设计”(右)。
图1PROTEUS ISIS窗口和编辑区中的电路设计与软件设计
本文通过单片机教学实践和产品研发实例,论述了PROTEUS在单片机教学和单片机应用产品研发的地位和作用。PROTEUS是单片机教学与应用产品研发的高效、经济、可靠的单片机系统设计与仿真平台。
1教学质量明显提高
学生反映单片机课难懂,难学。为提高教学效果,我们曾设计近20个演示电路板。但效果不理想,还费时费力。这是因为演示电路板小,且需携带计算机、电源、仿真器、编程器之故。自从将PROTEUS仿真演示教学引入课堂教学后,其极为接近实际的动态演示激发了学生兴趣、提高了学习的积极性。PROTEUS使抽象变形象,使重点易懂、难点化解。例如,中断优先级是课堂教学的重点、难点。以往学生在课堂上听不懂,课后也搞不清。现在用PROTEUS在多媒体教室进行仿真,学生也亲自参加,效果很好。学生不仅学懂了,学习的主动性也明显提高。图2为中断优先级PROTEUS仿真演示界面,正在演示的是“高优先级中断能中断低优先级中断” 的仿真片段。在PROTEUS ISIS窗口中设计好电路、编写好程序并生成目标代码后,再将目标代码装入单片机中。应用两个由开关控制的外中断(INT0和INT1),程序设置INT1为高优先级。启动仿真后,主程序数码管依次显示0、1、2直到8,再循环。若显示3时按低优先级按键产生INT0外中断,则中断主程序,其数码管固定显示3,启动低优先级中断服务程序。低优先级数码管从0开始显示运行,若当运行到显6时按高优先级按键产生高优先级INT1外中断,这时低优先级中断被高优先级中断而中断,低优先级数码管固定显6,启动高优先级中断服务程序。高优先级数码管依次显示0、1……直到显示8后结束高优先级中断服务程序,返回执行低优先级尚未完成的中断服务程序;低优先级数码管接着显示7、8,结束该中断服务程序,再返回到执行主程序,主程序的数码管显示继续从4、5递增至8后再循环。学生参与操作,演示直观清晰。学生郑××写道:“PROTEUS促使我对知识的渴望,真的很微妙!”。
2学生学用结合、动手能力明显提高
将PROTEUS引入单片机原理实验室。学生先进行PROTEUS设计与仿真,仿真成功后,再进行实际实验。很多重点、难点在学生的PROTEUS实践中得到解决。例如,做“用SRAM扩展单片机RAM技术”实验。以往,学生用单片机实验箱做该实验,因实验箱封闭性、显示信号不佳等缺点而使效果不好。学生难做、难懂、效果差。现学生先用PROTEUS进行该实验的设计与仿真,效果大增。实践证明:PROTEUS是学生学与用、理论与实践相结合的优秀平台。
图2高优先级中断能中断低优先级中断的仿真片段
PROTUES仿真动态、直观,过程与结果统一,测量与调试统一,使学生增强了学习单片机的信心。学生最难搞懂的读/写时序也能懂了。图3为该实验的PROTEUS设计与仿真图。图中右下方是用来测试与分析的PROTEUS高级图表。图4为PROTEUS高级图表仿真得出的外部RAM 6264的读/写时序。这些都是在学生亲自操作下得出的结果,很直观。学生邱××写道:“PROTEUS软件非常好。每次成功的一刹那,总是让我欣喜若狂!”。
图3用SRAM6264扩展单片机RAM的电路
图4外部RAM 6264读、写时序
3学生的独立操作和创造能力明显提高
单片机“课程设计”是以学生为主的实践教学活动。选好课题及课题大致方案后,分两步进行:
① PROTEUS设计与仿真,包括方案调整,直至仿真成功;
② 根据PROTEUS设计与仿真结果,进行实际电路安装与调试,直至实际作品制作成功。
经学生实践证明: 仿真结果成功后,只要安装正确无误,焊接可靠,布线合理,实际作品都会得到与PROTEUS设计与仿真一致的结果。
图5单片机D/A接口电路的PROTEUS设计与仿真
课程设计的主要内容是单片机接口技术。例如,用单片机控制DAC0808实现数/模(D/A)转换——这也是重点、难点。以往学生主动性差、信心不足、成功率低、器件损坏多。现在学生各自先用PROTEUS进行设计与仿真,每个学生都拥有一个非常完整的虚拟实验室。学生可在PROTEUS ISIS窗口中大胆进行电路设计、程序设计、测量、调试、修改。不仅不会损坏元器件和仪器,且在安装实物作品前就可看到结果。学生胆子大了。独立操作能力、主动性、积极性和创造力都得到发挥。图5是单片机D/A接口电路的PROTEUS设计与仿真图,右上角为连接的虚拟示波器。单片机程序中给出的数字数据经过D/A转换后成为鱼形图。图6是仿真时从虚拟示波器观察到的D/A转换结果鱼形图。学生在此基础上再安装实际电路,用实际示波器观察的结果与仿真结果一致。成功率很高。所以,仿真促进了单片机课程设计的成功,从而提高了学生的实际单片机系统设计与制作能力。学生黄××写道:“PROTEUS形象地显示了电路的正确性和结果。我们用它设计、仿真,点击仿真按钮,结果就显出来了,很有意思!它指导我在面包板上安装了接近完美的作品”。
图6D/A 转换虚拟示波器仿真片段图
4PROTEUS是单片机应用产品研发的先进手段
单片机在消费类产品中获得了广泛的应用,是产品智能化的核心。“日期、时间、时温循环显示屏幕”是单片机应用产品的一种。有多种款式,适用于公共汽车等公共场所中。它在一块4位LED显示屏上每隔相等的时间,交替循环显示日期、时间、时温。应企业要求,我们研发了一款同类产品。采用性价比高的AT89C51单片机,高性能低功耗时钟芯片DS1302,智能数字温度传感器DS18B20。因而优化了电路,提高了产品质量,增加了产品的品味。像这些比较复杂的器件,PROTEUS库中都有仿真模型。用PROTEUS作为产品研发的手段,整个设计与仿真都是在PROTEUS ISIS窗口的编辑区中进行。产品开发过程分为4步:
① 在PROTEUS平台上进行单片机系统电路设计、选择元器件、接插件、连接电路和电气检测等。(简称“PROTEUS电路设计”)
② 在PROTEUS平台上进行单片机系统源程序设计、编辑、汇编编译、调试,最后生成目标代码文件(*.hex)。(简称“PROTEUS软件设计”)
③ 在PROTEUS平台上将目标代码文件加载到单片机系统中,并实现单片机系统的实时交互、协同仿真。(简称“PROTEUS仿真”)
④ 仿真正确后,安装实际单片机系统电路,并将目标代码文件(*.hex)下载到实际单片机(如AT89S51)中运行、调试。若出现问题,可与PROTEUS设计与仿真相互配合调试,直至运行成功。(简称“实际产品安装、运行与调试”)
图7为该产品的PROTEUS电路设计和仿真片段。它正显示时温为29.0℃,并以蓝色发光管点亮来指示。(我们录制了整个仿真过程,需要视频资料者可免费索取。)
图7循环显示屏幕的PROTEUS设计与仿真片段
实践证明:只要元器件无误、安装正确、焊接牢靠,基本都能顺利通过;PROTEUS改变并缩短了单片机应用产品的研发过程,是单片机应用产品研发的设计与仿真平台;省力、省钱、省时。