Protues使用说明V13.docx
- 文档编号:10756288
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:20
- 大小:612.07KB
Protues使用说明V13.docx
《Protues使用说明V13.docx》由会员分享,可在线阅读,更多相关《Protues使用说明V13.docx(20页珍藏版)》请在冰点文库上搜索。
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Protues 使用说明 V13