仿真软件proteus在单片机系统设计中的应用 第2页
一、引言
(1)概述:
Proteus是由英国Labcenter electronics公司开发的EDA工具软件。它从1989年出现到现在已经有十多年的历史,在全球广泛使用。Proteus安装以后,主要由两个程序组成:Ares和Isis。前者主要用于PCB自动或人工布线及其电路仿真,后者主要采用原理布图的方法绘制电路并进行相应的仿真。除了上述基本应用之外,Proteus革命性的功能在于它的电路仿真是互动的,针对微处理器的应用,可以直接在基于原理图的虚拟原型上编程,并实现软件代码级的调试,还可以直接实时动态地模拟按钮、键盘的输入,LED、液晶显示的输出,同时配合虚拟工具如示波器、逻辑分析仪等进行相应的测量和观测。
Proteus软件的应用范围十分广泛,涉及PCB制版、spice电路仿真、单片机仿真,在最新的6.9版本中又加入了对ARM7/LPC2000的仿真。本论文主要以单片机的仿真为例,初步探讨该软件的强大功能及其在工程实践和实验教学中的重要作用。
(2)选题依据:
自己在学习单片机的时候,有时候发现单片机的调试与仿真很麻烦,当时就想着有没有一种软件能够用于单片机的仿真,这样可以省去好多在硬件上调试的功夫与时间。于是上网查了一些相关的资料,发现真的有这样的一种软件存在,那就是Proteus软件。
Proteus 是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:
①实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
②支持主流单片机系统的仿真。目前支持的单片机类型有:ARM7(LPC21xx)、 8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列以及多种外围芯片。
③提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2、MPLAB等软件。
④具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。
本论文就是着重探讨Proteus在单片机系统设计中的应用。
(3)Proteus仿真功能简介 :
作为一款EDA仿真软件,Proteus与同类软件有着很多的相似之处。相比之下,其主要的特点有两个:一是对动态元件的实时仿真,它对“人机对话”的模拟增强了系统的真实性;二是虚拟工具箱的功能,它能与仿真同时进行,测量方便而准确。下面着重介绍一下该软件的这两个突出特点。
3.1.实时动态仿真
与多数仿真软件相似,Proteus有着数量庞大的元件库。Labcenter公司与相关的第三方软件阵容共同开发了6000多个模拟和数字电路中常用的spice模型以及各种动态元件,基本元件如电阻、电容、各种二极管、三极管、MOS管、555定时器等;74系列TTL 元件和4000系列CMOS 元件;存储芯片包括各种常用的ROM, RAM,EEPROM, 还有常见I2C器件等。在丰富的库元件的支持下,原理布图时只要进行相应的调用和连线,通过对每个元件的属性设置完成绘图,然后即可进行仿真和虚拟测量。关于原理图的具体绘制方法不是本文讨论的重点,可以参考软件提供的帮助教程。
与Multisim等仿真软件的一大不同之处在于Proteus支持微处理器的仿真。这些仿真的实现是基于Labcenter公司提出的VSM的概念。
VSM,Virtual System Modelling,直接译作“虚拟系统模型”,官方的定义是:将spice电路模型、动态外设以及微处理器的仿真结合起来,在物理原型调试之前用于仿真整个单片机系统的一种设计方法。对动态外设的支持是Proteus在区别于其他等仿真软件最直接的地方。VSM为用户提供了一个实时交互的环境,在仿真的过程中,你可以用鼠标去点击开关和按钮,微处理器根据输入的信号做出相应的中断响应,同时输出运算的结果到显示终端。整个过程与真实的硬件调是极其相似的,在动态外设支持下的实时输入和输出为实验者呈现了一个最接近现实的调试环境。官方资料显示,一个300 MHz Pentium II CPU可以以12MHz的时钟频率仿真一个基本的8051系统。
3.2虚拟工具箱
Proteus的虚拟工具箱提供了电路测试中的常用工具和仪器,主要用于在实时仿真同时的电路参数观测,测量结果随仿真动态变化并显示,可以满足精度要求不是很高的测量分析,对于电路特性的定性分析可以起到事半功倍的效果,大大节约了测试时间和开发成本。
软件提供的虚拟工具和仪器如图1.1所示。
图1.1 虚拟工具箱
下面我以示波器为例来说明虚拟工具箱的应用。
图1.2 虚拟示波器
图中的电路非常简单,单片机EXAMPLE01中写入的是一个输出驱动直流电机的PWM方波的程序。我们把输出管脚连接到示波器的CH1通道,运行仿真,用鼠标调节虚拟示波器的Y轴幅度和X轴扫描频率,整个调节步骤同真实