Protues使用说明V13.docx

上传人:b****1 文档编号:10756288 上传时间:2023-05-27 格式:DOCX 页数:20 大小:612.07KB
下载 相关 举报
Protues使用说明V13.docx_第1页
第1页 / 共20页
Protues使用说明V13.docx_第2页
第2页 / 共20页
Protues使用说明V13.docx_第3页
第3页 / 共20页
Protues使用说明V13.docx_第4页
第4页 / 共20页
Protues使用说明V13.docx_第5页
第5页 / 共20页
Protues使用说明V13.docx_第6页
第6页 / 共20页
Protues使用说明V13.docx_第7页
第7页 / 共20页
Protues使用说明V13.docx_第8页
第8页 / 共20页
Protues使用说明V13.docx_第9页
第9页 / 共20页
Protues使用说明V13.docx_第10页
第10页 / 共20页
Protues使用说明V13.docx_第11页
第11页 / 共20页
Protues使用说明V13.docx_第12页
第12页 / 共20页
Protues使用说明V13.docx_第13页
第13页 / 共20页
Protues使用说明V13.docx_第14页
第14页 / 共20页
Protues使用说明V13.docx_第15页
第15页 / 共20页
Protues使用说明V13.docx_第16页
第16页 / 共20页
Protues使用说明V13.docx_第17页
第17页 / 共20页
Protues使用说明V13.docx_第18页
第18页 / 共20页
Protues使用说明V13.docx_第19页
第19页 / 共20页
Protues使用说明V13.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Protues使用说明V13.docx

《Protues使用说明V13.docx》由会员分享,可在线阅读,更多相关《Protues使用说明V13.docx(20页珍藏版)》请在冰点文库上搜索。

Protues使用说明V13.docx

Protues使用说明V13

Protues简易使用教程

Proteus是英国Labcenter公司研发的嵌入式系统仿真开发软件。

Proteus电子设计软件由原理图输入系统(简称ISIS)、混合模型仿真器、处理器仿真模型VSM及PCB设计编辑(简称ARES)6个部分组成。

在Proteus中,从原理图设计、单片机编程、系统仿真到PCB设计一气呵成。

真正实现了从概念到产品的完整设计。

本教程主要介绍原理图输入系统(简称ISIS)的操作、系统仿真。

ProteusISIS是英国Labcenter公司开发的电路分析与实物仿真软件。

它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:

①实现了单片机仿真和SPICE电路仿真相结合。

具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。

②支持主流单片机系统的仿真。

目前支持的单片机类型有:

68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。

③提供软件调试功能。

在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如KeilC51uVision2等软件。

④具有强大的原理图绘制功能。

总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。

下面以一个简单的实例来完整的展示一个Proteus的仿真过程。

单片机电路设计如图所示。

电路的核心是单片机8051。

编写程序实现LED显示器的选通并显示特定字符。

一.进入ProteusISIS

双击桌面上的ISIS6Professional图标或者单击屏幕左下方的“开始”→“程序”→“Proteus6Professional”→“ISIS6Professional”,出现如图1-1所示屏幕,表明进入ProteusISIS集成环境。

图1-1启动时的屏幕

ProteusISIS的工作界面是一种标准的Windows界面,如图1-2所示。

包括:

标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。

图1-2ProteusISIS的工作界面

二.绘制电路原理图

1.选取元器件

本设计所需要的元器件如下:

8051.BUS,总线型的微处理器;

74LS373,锁存器;

CAP、CAP-ELEC,瓷片电容、电解电容;

CRYSTAL,晶振;

LM032L、1602,LCD、液晶显示模块;

NAND-2,与非门。

将所需元器件加入到对象选择器窗口。

PickingComponentsintotheSchematic

单击对象选择器按钮

,如图所示

弹出“PickDevices”页面,在“Keywords”输入8051,系统在对象库中进行搜索查找,并将搜索结果显示在“Results”中,如图所示。

在“Results”栏中的列表项中,双击“8051.BUS”,则可将“8051.BUS”添加至对象选择器窗口。

接着在“Keywords”栏中重新输入74LS373,如图所示。

双击“74LS373”,则可将“74LS373”(锁存器)添加至对象选择器窗口。

接着在“Keywords”栏中重新输入LS032L,如图所示。

双击“LS032L”,则可将“LS032L”(液晶显示模块)添加至对象选择器窗口。

接着,在“Keywords”栏中重新输入RES,选中“MatchWholeWords”,如图所示。

在“Results”栏中获得与RES完全匹配的搜索结果。

再添加CAP(瓷片电容)、CRYSTAL(晶振)、NAND-2(与非门)。

单击“OK”按钮,结束对象选择。

经过以上操作,在对象选择器窗口中,已有了LM032L、8051等元器件对象,若单击8051,在预览窗口中,见到8051的实物图,如图所示;若单击LM032L,在预览窗口中,见到LM032L的实物图,如图所示。

此时,我们已注意到在绘图工具栏中的元器件按钮

处于选中状态。

2、放置元器件至图形编辑窗口PlacingComponentsontotheSchematic

在对象选择器窗口中,选中LM032L,将鼠标置于图形编辑窗口该对象的欲放位置、单击鼠标左键,该对象被完成放置。

同理,将8051等放置到图形编辑窗口中。

如图所示。

若对象位置需要移动,将鼠标移到该对象上,单击鼠标右键,此时我们已经注意到,该对象的颜色已变至红色,表明该对象已被选中,按下鼠标左键,拖动鼠标,将对象移至新位置后,松开鼠标,完成移动操作。

由于电容的型号和电阻值均相同,因此可利用复制功能作图。

将鼠标移到C1,单击鼠标右键,选中C1,在标准工具栏中,单击复制按钮

,拖动鼠标,按下鼠标左键,将对象复制到新位置。

此时我们已经注意到,电容名的标识,系统自动加以区分。

3、放置电源及接地符号

在器件选择器找到终端接口(terminals)

,单击其中的”POWER”、“GROUND”、输出、输入等接口,把鼠标指针移到原理图编辑器并双击,即可放置电源或接地符号。

4.对象的编辑

右击元器件,在弹出的对话框中选择”EditProperties”,对元器件参数进行设置。

5、原理图的连线

(1)单根导线

Proteus的智能化可以在你想要画线的时候进行自动检测。

下面,我们来操作将电容C1的顶端连接到电容C2的顶端。

当鼠标的指针靠近C1顶端的连接点时,跟着鼠标的指针就会出现一个“×”号,表明找到了C1的连接点,单击鼠标左键,移动鼠标(不用拖动鼠标),将鼠标的指针靠近C2的顶端的连接点时,跟着鼠标的指针就会出现一个“×”号,表明找到了C2的连接点,同时屏幕上出现了粉红色的连接,单击鼠标左键,粉红色的连接线变成了深绿色。

Proteus具有线路自动路径功能(简称WAR),当选中两个连接点后,WAR将选择一个合适的路径连线。

WAR可通过使用标准工具栏里的“WAR”命令按钮

来关闭或打开,也可以在菜单栏的“Tools”下找到这个图标。

同理,我们可以完成其它连线。

在此过程的任何时刻,都可以按ESC键或者单击鼠标的右键来放弃画线。

(2)总线

单击绘图工具栏中的总线按钮

,使之处于选中状态。

将鼠标置于图形编辑窗口,单击鼠标左键,确定总线的起始位置;移动鼠标,屏幕出现粉红色细直线,找到总线的终了位置,单击鼠标左键,再单击鼠标右键,以表示确认并结束画总线操作。

此后,粉红色细直线被蓝色的粗直线所替代,如图所示。

(2)总线分支线

画总线的时候为了和一般的导线区分,我们一般喜欢画斜线来表示分支线。

此时我们需要自己决定走线路径,只需在想要拐点处单击鼠标左键即可,如图所示。

(要自己走线路径,需要关闭标准工具栏里的“WAR”命令按钮

6.给与总线连接的导线贴标签

单击绘图工具栏中的导线标签按钮

,使之处于选中状态。

将鼠标置于图形编辑窗口的欲标标签的导线上,跟着鼠标的指针就会出现一个“×”号,如图所示。

表明找到了可以标注的导线,单击鼠标左键,弹出编辑导线标签窗口,如图所示。

在“string”栏中,输入标签名称(如a),单击“OK”按钮,结束对该导线的标签标定。

同理,可以标注其它导线的标签,如图所示。

注意,在标定导线标签的过程中,相互接通的导线必须标注相同的标签名。

最后的电路图绘制结果如下图。

7、电气规则检测

电路设计完成后,选择“Tools”——>“ElectricalRuleCheck”命令,弹出电气规则检查结果窗口。

在窗口中,前面是一些文本信息,接着是电气规则检查结果列表,若有错,会有详细的说明。

8.生成报表

ISIS可以输出网络表、元器件清单等多种报告。

生成网络表达操作是:

选择“Tool”——>“NetlistComplier”命令,输出网络表。

网络表是连接原理图与PCB图的纽带和桥梁。

三.添加.hex仿真文件

1.一种情况是直接添加.hex文件

原理图绘好后需要加载可执行文件*.hex才能进行仿真运行,加载方法如下:

(1)双击原理图8051元件,可弹出标签对话框(见图A.16);

(2)单击“ProgramFile”参数框后面的文件夹按钮,在文件夹中找到经过编译形成的可执行文件(如dis-count.hex),单击“OK”按钮结束加载过程。

2.另一种情况是采用Proteus与第三方软件KeilC连接调试

用户可使用第三方IDE,如Keil’suVision开发源代码,并进行编辑,生成可执行文件(如HEX或COD文件)后切换到ProteusVSM,然后进行仿真。

采用keil软件编译的.hex仿真,需要预先进行相关设置。

(1)、复制VDM51.dll动态链接库文件

假若KeilC与Proteus均已正确安装在C:

\ProgramFiles的目录里,把C:

\ProgramFiles\LabcenterElectronics\Proteus6Professional\MODELS\VDM51.dll复制到C:

\ProgramFiles\keilC\C51\BIN目录中。

(2)、修改TOOLS.INI文件

用记事本打开C:

\ProgramFiles\keilC\C51\TOOLS.INI文件,在[C51]栏目下加入:

TDRV5=BIN\VDM51.DLL("ProteusVSMMonitor-51Driver")

其中“TDRV5”中的“5”要根据实际情况写,不要和原来的重复。

(步骤1和2只需在初次使用设置。

(3)、设置keil的相关选项

进入KeilCμVision2开发集成环境,创建一个新项目(Project),并为该项目选定合适的单片机CPU器件。

并为该项目加入KeilC源程序。

源程序见附录。

单击“Project菜单/OptionsforTarget”选项或者点击工具栏的“optionfortarget”按钮

,弹出窗口,点击“Debug”按钮,出现如图所示页面。

在出现的对话框里在右栏上部的下拉菜单里选中“ProteusVSMMonitor一51Driver”。

并且还要点击一下“Use”前面表明选中的小圆点。

再点击“Setting”按钮,设置通信接口,在“Host”后面添上“127.0.0.1”,如果使用的不是同一台电脑,则需要在这里添上另一台电脑的IP地址(另一台电脑也应安装Proteus)。

在“Port”后面添加“8000”。

设置好的情形如图所示,点击“OK”按钮即可。

最后将工程编译,进入调试状态,并运行。

(4)、Proteus的设置

进入Proteus的ISIS,鼠标左键点击菜单“Debug”,选中“useromotedebugermonitor”,如图所示。

此后,便可实现KeilC与Proteus连接调试。

(5)注意事项

一定要把keil的工程和Proteus的文件放到同一个目录下(这里所说的Keil的工程指工程的目录,即Proteus的工程Design文件(后缀名.DSN)要和包含Keil工程所有文件的那个文件夹在同一层目录下);经过操作发现:

Keil的工程目录文件夹一定要命名为keil(可能与路径设置有关,目前还不清楚),否则proteus报错:

UnabletoopenHEXfile'Keil\DS1302.hex'.keil报错:

targetdllhasbeencancelled,debuggeraborted!

四.仿真运行

KeilC与Proteus连接仿真调试

运行Keil,Proteus同时进入仿真状态。

在LED显示器上,能显示要求的结果。

以上就是Proteus原理图绘制和仿真运行的基本方法。

五.参考文献

更详细的操作步骤,可参考

1.单片机原理及应用—基于Proteus和KeilC,林立编著

2.基于Proteus的单片机应用技术,江世明编著

六、附录

源程序

;LCDDisplayDriverDemo.

;Timingcodeassumes1.2MHzClock

;LCDRegistersaddresses

LCD_CMD_WRequ0

LCD_DATA_WRequ1

LCD_BUSY_RDequ2

LCD_DATA_RDequ3

;LCDCommands

LCD_CLSequ1

LCD_HOMEequ2

LCD_SETMODEequ4

LCD_SETVISIBLEequ8

LCD_SHIFTequ16

LCD_SETFUNCTIONequ32

LCD_SETCGADDRequ64

LCD_SETDDADDRequ128

;Resetvector

org0000h

jmpstart

;Startoftheprogram

org0100h

string1a:

db'!

!

AMAZING!

!

'

db0

string1b:

db'!

!

AMAZING!

!

'

db0

string2:

db'AvirtualLM032L...'

db0

string3:

db'drivenbyavirtual'

db0

string4:

db'8051processor!

'

db0

start:

movA,#038h

callwrcmd

loop:

movA,#LCD_SETVISIBLE+6;Makethedisplay&blinkvisible:

callwrcmd

movR7,#2

loop2:

movDPTR,#string1a

callwrstr

movDPTR,#200

callwtms

movA,#LCD_CLS;Clearscreen

callwrcmd

movDPTR,#string1b

callwrstr

movDPTR,#200

callwtms

movA,#LCD_CLS;Clearscreen

callwrcmd

djnzR7,loop2

movDPTR,#string1a

callwrstr

movDPTR,#400

callwtms

movA,#LCD_SETDDADDR+64

callwrcmd

movDPTR,#string2

callwrslow

movDPTR,#200

callwtms

movA,#LCD_CLS;Clearscreen

callwrcmd

movDPTR,#string3

callwrslow

movA,#LCD_SETDDADDR+64

callwrcmd

movDPTR,#string4

callwrslow

movA,#LCD_SETVISIBLE+7;Showtheblinkcursoraswell.

callwrcmd

movDPTR,#2000

callwtms

movA,#LCD_CLS;Clearscreen

callwrcmd

jmploop

;SubroutinetowritenullterminatedstringatDPTRinprogramram.

wrstr:

movR0,#LCD_DATA_WR

wrstr1:

clrA

movcA,@A+DPTR

jzwrstr2

movx@R0,A

callwtbusy

incDPTR

pushDPL

pushDPH

popDPH

popDPL

jmpwrstr1

wrstr2:

ret

;SubroutinetowritenullterminatedstringatDPTRinprogramram.Slowly

wrslow:

movR0,#LCD_DATA_WR

wrslw1:

clrA

movcA,@A+DPTR

jzwrslw2

movx@R0,A

callwtbusy

incDPTR

pushDPL

pushDPH

movDPTR,#100

callwtms

popDPH

popDPL

jmpwrslw1

wrslw2:

ret

;Subroutinetowritecommand:

wrcmd:

movR0,#LCD_CMD_WR

movx@R0,A

jmpwtbusy

;Subroutinetowritecharacter:

wrchar:

movR0,#LCD_DATA_WR

movx@R0,A

;Subroutinetowaitforbusyclear

wtbusy:

movR1,#LCD_BUSY_RD

movxA,@r1

jbACC.7,wtbusy

ret

;WaitfornumberofsecondsinA

wtsec:

pushACC

callwtms

popACC

decA

jnzwtsec

ret

;WaitfornumberofmillisecondsinDPTR

wtms:

xrlDPL,#0FFh;Can'tdoDECDPTR,sodotheloopbyforming2'scomplement

xrlDPH,#0FFh;andincrementinginstead.

incDPTR

wtms1:

movTL0,#09Ch;100ticksbeforeoverflow=1msat1.2MHzClock

movTH0,#0FFh

movTMOD,#1;Timer0mode1

setbTCON.4;Timer0runs

wtms2:

jnbTCON.5,wtms2

clrTCON.4;Timer0stops

clrTCON.5

incDPTR

movA,DPL

orlA,DPH

jnzwtms1

ret

END

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2