单片机的Proteus虚拟仿真
张维久 胡汉春 李冲(西南交通大学机械工程学院 610031成都)
摘要:单片机体积小,重量轻,价格便宜,具有很大的发展前途。传统的单片机开发硬件成本高,开发周期长。随着计算机技术的进步,基于EDA技术的Proteus能很好解决这个问题。本文通过一个简单的数据采集系统,详细说明Proteus在单片机开发中的应用。
关键词:单片机;Proteus;虚拟仿真
The Virtual Emulation of MCU Base On Proteus
Zhang Wei-jiu Hu Han-chun Li Chong
(School of MechanicalEngineering,Southwest Jiaotong University,Chengdu)
Abstract: MCU is small,light and has a low price,So it is very potential.Usua-
lly,develop an MCU systym is expensive and take a long time.With the development of computer technology,The Proteus based on EDA technique can solve the problem perfect.This paper show Proteus’s applicationby a simple data acquisition system.
Key words: MCU;Proteus;virtual emulation
1.引言
单片机体积小,重量轻,具有很强的灵活性而且价格便宜,具有逻辑判断,定时计数等多种功能,广泛应用于仪器仪表,家用电器,医用设备的智能化管理和过程控制等领域。以单片机为核心的嵌入式系统已经成为目前电子设计最活跃的领域之一。在嵌入式系统的中,开发板成本高,特别是对于大量的初学者而言,还可能由于设计的错误导致开发板损坏。利用Proteus我们可以很好地解决这个问题,由此我们可以快速地建立一个仿真系统。
2.Proteus介绍
Proteus是英国Labcenter Electro-nics公司开发的一款电路仿真软件,软件由两部分组成:一部分是智能原理图输入系统ISIS(Intelligent Schematic Input System)和虚拟系统模型VSM(Virtual Model System);另一部分是高级布线及编辑软件ARES(Adv-
Ancd Routing and Editing Software)也就是PCB.
2.1 Proteus VSM的仿真
Proteus可以仿真模拟电路及数字电路,也可以仿真模拟数字混合电路。Proteus可提供30多种元件库,超过8000种模拟、数字元器件。可以按照设计的要求选择不同生产厂家的元器件。此外,对于元器件库中没有的元件,设计者也可以通过软件自己创建。
除拥有丰富的元器件外,Proteus还提供了各种虚拟仪器,如常用的电流表,电压表,示波器,计数/定时/频率计,SPI调试器等虚拟终端。支持图形化的分析功能等。
Proteus特别适合对嵌入式系统进行软硬件协同设计与仿真,其最大的特点是可以仿真8051,PIA,AVR,ARM等多种系列的处理器。Protues包含强大的调试工具,具有对寄存器和存储器、断点和单步模式IAR C-SPY,Keil、MPLAB等开发工具的源程序进行调试的功能;能够观察代码在仿真硬件上的实时运行效果;对显示,按钮,键盘等外设的交互可视化进行仿真。
2.2 Proteus PCB
Proteus 的PCB设计除了有自动布线仿真功能外,还集成了PCB设计,支持多达16个布线层,可以任意角度放置元件和焊接连线;集成了高智能的布线算法,可以方便地进行PCB设计。
3. 基于Protesus的简单数据采集系统。
3.1 软件的编写
本例题采用可调电阻调节电压值作为模拟信号的输入量,通过A/D转换芯片AD0808把模拟信号转换为数字量传送到单片机的P1口,并在P0口把转换的结果显示出来。
软件的编写可以在Keil C51 环境下进行,芯片的型号选择AT89C51,编写data.c文件,利用Keil C51进行编译,编译成功后生成data.hex文件。
3.2 绘制电路图
运行Proteus的ISIS,进入仿真软件的主界面,如图1所示。主界面分为菜单栏,工具栏,模型显示窗口,模型选择区,元件列表区等。
图1 ISIS启动界面
{{分页}}
通过左侧的工具栏区的P(从库中选择元件)命令,在Pick devices窗口中选择系统所需元器件,还可以选择元件的类别,生产厂家等。本例所需主要元器件有:AT89C51芯片,ADC0808芯片,一个四位七段数码显示器,一个可变电阻,详见表1。
表1 元器件清单
选择元器件后连接图2所示电路。
图2 电路原理图
Microproccessor ICs类的芯片的引脚与实际的芯片基本相同, 唯一的差别是隐去了GND和VCC引脚,系统默认的是把它们分别连接到地和+5V直流电源。故在电路连线时可以不考虑电源和地的连接。为了快速进行仿真,系统所需的时钟电路,复位电路可以省略。
电路连接完成后,选中AT89C51单击鼠标左键,打开“Edit Component”对话窗口如图3所示,可以直接在“Clock Frequency”后进行频率设定,设定单片机的时钟频率为12MHz。在“Program File”栏中选择已经生成的data.hex文件,把在Keil编写的程序导入Proteus,然后单击“OK”按钮保存设计。至此,就可以进行单片机的仿真。
图 3 单片机属性的设定
3.3 Proteus仿真结果
单片机的仿真结果图如图4,模拟信号经A/D转换后,结果送入单片机,再在数码管上显示;通过调节可调电阻的阻值,可以得到不同的显示结果。仿真结果表明,系统达到了预先的设计要求。
在仿真的过程中每个管脚旁边会出现一个小方块,红色的方快表示高电平,蓝色的表示低电平。 通过方快颜色的变化可以很方便地知道每个管脚电平的变化,从而能对系统的运行有更直观的了解,这对程序的调试有很大的帮助。
图4 仿真结果
4.结束语
本文结合一个简单的数据采集系统详细说明了Proteus在单片机开发中的应用。可以看出,Proteus功能十分强大,能仿真各种数字模拟电路,且操作简单,使用方便。能快速地进行单片机仿真,加快系统开发的过程,降低开发成本。
参考文献:
[1].张齐,杜群贵.单片机应用系统设计技术——基于C语言编程。[M].北京:电子工业出版社,2004。
[2]. 林志琦,郎建军等.基于Proteus的单片机可视化软硬件仿真。[M].北京:北京航空航天大学出版社,2006
作者简介:
张维久,男,1983年6月,西南交通大学机械工程学院机械电子工程专业硕士研究生,研究方向:机电设备微机数字控制与仿真。四川省成都市西南交通大学256信箱;邮编:610031;张维久。
评论