单片机的Proteus虚拟仿真软件 |
作者:西南交通大学机械工程学院 张维久 胡汉春 李冲 时间:2008-04-14 来源: 电子产品世界 浏览评论 |
引言
单片机体积小、重量轻、具有很强的灵活性而且价格便宜,具有逻辑判断、定时计数等多种功能,广泛应用于仪器仪表、家用电器、医用设备的智能化管理和过程控制等领域。以单片机为核心的嵌入式系统已经成为目前电子设计最活跃的领域之一。
在嵌入式系统的中,开发板成本高,特别是对于大量的初学者而言,还可能由于设计的错误导致开发板损坏。利用Proteus软件工具我们可以很好地解决这个问题,由此我们可以快速地建立一个仿真系统。
Proteus介绍
Proteus是英国Labcenter Electronics公司开发的一款电路仿真软件,软件由两部分组成:一部分是智能原理图输入系统ISIS和虚拟系统模型VSM;另一部分是高级布线和编辑软件ARES,也就是PCB设计。
Proteus的VSM仿真
Proteus可以仿真模拟电路和数字电路,也可以仿真模拟数字混合电路。Proteus提供30多种元件库,超过8000种模拟、数字元器件。可以按照设计的要求选择不同生产厂家的元器件。此外,对于元器件库中没有的元件,设计者也可以通过软件自己创建。
除拥有丰富的元器件外,Proteus还提供了各种虚拟仪器,如常用的电流表、电压表、示波器、计数/定时/频率计、SPI调试器等虚拟终端,还有支持图形化的分析功能等。
Proteus特别适合对嵌入式系统进行软硬件协同设计与仿真,其最大的特点是可以仿真8051、PIA、AVR、ARM等多种系列的处理器。Protues包含强大的调试工具,具有对寄存器、存储器、断点、单步模式IAR C-SPY、Keil、MPLAB等开发工具的源程序进行调试的功能;观察代码在仿真硬件上的实时运行效果;对显示、按钮、键盘等外设的交互可视化进行仿真。
Proteus的PCB设计
Proteus 的PCB设计除了有自动布线仿真功能外,还支持多达16个布线层,从任意角度放置元件和焊接连线。集成了高智能的布线算法,可以方便地进行PCB设计。
基于Protesus的简单数据采集系统
软件的编写
本例题采用由可调电阻调节电压值作为模拟信号的输入量,通过A/D转换芯片AD0808把模拟信号转换为数字量传送到单片机的P1口,并在P0口把转换的结果显示出来。
软件的编写可以在Keil C51 环境下进行,芯片选择AT89C51,编写data.c文件,利用Keil C51进行编译,编译成功后生成data.hex文件。
绘制电路图
运行Proteus的ISIS,进入仿真软件的主界面,如图1所示。主界面分为菜单栏、工具栏、模型显示窗口、模型选择区、元件列表区等。
通过左侧的工具栏区的P(从库中选择元件)命令,在Pick Devices窗口中选择系统所需元器件,还可以选择元件的类别、生产厂家等。本例所需主要元器件有:AT89C51芯片、ADC0808芯片、一个四位七段数码显示器,一个可变电阻,详见表1。
选择元器件后连接图2所示电路。
微控制器芯片的引脚与实际的芯片基本相同, 唯一的差别是隐去了GND和VCC引脚,系统默认的它们分别连接到地和+5V直流电源。故在电路连线时可以不考虑电源和地的连接。为了快速进行仿真,系统所需的时钟电路、复位电路可以省略。
电路连接完成后,选中AT89C51,单击鼠标左键,打开“Edit Component”对话窗口如图3所示。可以直接在“Clock Frequency”栏进行频率设定,设定单片机的时钟频率为12MHz。在“Program File”栏选择已经生成的data.hex文件,把在Keil编写的程序导入Proteus,最后单击“OK”按钮保存设计。至此,就可以进行单片机的仿真。
Proteus的仿真结果
单片机的仿真结果如图4所示,模拟信号经A/D转换后,结果送入单片机,再在数码管上显示。通过调节可调电阻的阻值,可以得到不同的显示结果。仿真结果表明,系统达到了预先的设计要求。
在仿真的过程中每个引脚旁边会出现一个小方块,红色的方快表示高电平,蓝色的表示低电平。 通过方块颜色的变化可以很方便地知道每个引脚电平的变化,从而能对系统的运行有更直观的了解,这对程序的调试有很大的帮助。
结语
本文结合一个简单的数据采集系统,详细说明了Proteus仿真软件在单片机开发中的应用。可以看出,Proteus功能十分强大,能仿真各种数字模拟电路,快速地进行单片机仿真,加快系统开发的过程,降低开发成本。
文章评论(0条评论)
登录后参与讨论