PROTEUS电子仿真软件与Keil
Proteus和Keil的使用与联调

Proteus和Keil的使用与联调Proteus7.0 是目前最好的模拟单片机外围器件的工具,非常不错。
可以仿真51 系列、AVR,PIC 等常用的MCU 及其外围电路(如LCD,RAM,ROM,键盘,马达,LED,AD/DA,部分SPI器件,部分IIC 器件等等),虽然有那么多优点和长处,但还是与实际情况有不少的差别。
如果条件允许,还是买一块单片机开发板或自己做一个单片机应用系统,实实在在的学习和体会一下,仿真毕竟还是仿真,不能代替实际操作,许多实际问题是在仿真中碰不到的。
当然,条件不允许,我们可以采用仿真,达到学习的目的。
如果学习和使用单片机,除了灵活应用Protel等绘制原理图和PCB图以外,那么Keil C51 软件应该要掌握,我们要通过它来编写和调试单片机程序。
Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和C 语言的程序设计,界面友好,易学易用。
下面就三个问题分别进行介绍。
一、proteus的使用1. 软件打开双击桌面上的ISIS 7 Professional图标或者单击屏幕左下方的“开始”→“程序”→“Proteus 7 Professional”→“ISIS 7 Professional”,出现如图1-1所示界面,随后就进入了Proteus ISIS集成环境。
图1-1 启动时的界面2. 工作界面Proteus ISIS的工作界面是一种标准的Windows界面,如图1-2所示。
包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。
图1-2 Proteus ISIS的工作界面关于该软件的使用,与学习其他软件的方法没有多大区别,当然我们也不是每个功能都使用,没必要逐一介绍,再说下面有例子,呵呵,相信自己的能力吧。
3. 跑马灯实例设计图1-3 跑马灯实例①将所需元器件加入到对象选择器窗口。
proteus 与Keil3联合调试

整了很久的proteus 与keil3联合调试仿真ARM(LPC2103),今天终于整通了,不多说,直接进入话题:
1、安装realviewMDK3.5,Proteus 7.5SP3.安装目录是D:\Keil、D:\Program Files\Labcenter Electronics。
D:\Keil\ARM\STLink
2、下载vdmagdi.exe,安装至D:\Keil,全部选择安装。
3、之后,D:\Keil\ARM\BIN目录下多出一文件VDMARM.dll。
4、将VDMARM.dll复制出来,改名为:ST-LINKIII-KEIL.dll
5、将修改后的ST-LINKIII-KEIL.dll复制到D:\Keil\ARM\STLink目录,替换原文件
6、OK,剩下的就是Keil和proteus设置。
7、proteus中的Debug中选择Use remote debug monitor,并在使用mdk调试前把proteus打开并载入相应的hex文件,keil使用选择调试模式,如下图:
8、
9、编译文件,生成.HEX文件,将.HEX文件打开。
删掉倒数第二行:
:0400000500000110E6,然后回车。
将修改后的.hex文件导入到proteus文件中去。
切记:在调试过程中不要再编译keil文件。
10、打开proteus硬件电路图Debug中选择Use remote debug monitor。
直接运行keil文件。
此时proteus文件自动运行。
11、可以设置断点进行观察。
附张仿真图先:。
PROTEUS与KEIL的联合仿真

译结果如图 14 下方所示。
图 14 源程序编译
④ 加 载 目标 代 码文 件 右击 选中 ISIS 编辑 区中 单片 机 AT89C51,选择 “Edit Properties”打开其属性窗口,如图 15 所示。在其中的“Program File”右侧框中输入目 标代码文件(目标代码与 DSN 文件在同一目录下,直接输入代码文件名即可,否则要写出完 整的路径。或单击本栏打开按钮,选取目标文件),再在“Clock Frequency”栏中设置 12MHz, 仿真系统则以 12MHz 的时钟频率运行。
图 12 目标输出设置
● Debug:设置调试工具,如图 13 所示,在下拉组合框选择“PROTEUS VSM Sipnulator”。
图 13 KEIL 中目标调试设置
● 通信设置:单击调试工具框右边的“Settings”,如图 13 所示,设置 Host、Port。 KEIL 与 PROTEUS 在同一台机器上时,Host 设为 127.0.0.1;若不在同一台机子上,则填另 一台的 IP 地址。Port 为 8000。
图 15 注:因运行时钟频率以单片机属性设置中的时钟频率 (Clock Frequency)为准,所以在编辑区设计 以仿真为目标的 MCS-51 系列单片机系统电路时,可以略去单片机振荡电路。另外,对 MCS-51 系列单片机 而言,复位电路也可略去,EA 控制引脚也可悬空。但要注意若要进行电路电气检测,不可略去。
图7
这时,新建立的项目出现在项目窗口中,如图 8 所示。
图 8 项目窗口中新建立的项目
(4)编译、调试 C51 程序 ① 加入 C51 程序 用鼠标右击项目工作区里的源代码组,选择“把文件加入到源代码 组(Add Files to Group‘Source Group1)”命令,把刚保存的 C51 程序源代码加入到新建
proteus仿真的两种方法

Proteus与keil的联合仿真
方法一:
选择硬件仿真器
调试时的一些选项 Settings:硬件调试的设置,此项必须要选
如果使用同一台计算机,则IP名为127.0.0.1,如不是同一台机器则填另一台的IP地址。
端口号一定要为8000 这样就可以在一台机器上运行keil,另一台中运行proteus
进行远程仿真了。
在keil中进行debug,同时在proteus中可以查看到直观的结果(如LCD显示…等)
方法二:
1.先在proteus中画好相应的电路图,如下:
2.选中单片机芯片,在弹出的对话框中选中Progarm File的文件夹图标
3.在弹出的对话框里选中刚刚生成的HEX文件
4.点击图下的三角形图标,启动仿真。
Keil 与Proteus仿真问题总结

Keil 与Proteus仿真问题总结1、Keil与Proteus联调8051单片机的时候,效果相当于添加.hex文件到单片机后运行;Keil下关于off-chip code memory 、off-chip Xdata memory的设置对调试没有任何影响。
如下图:使用了T80C31,内部没有ROM,外部ROM也不设置,同样可以仿真,RAM也一样。
如果选择的是AT89S51,内部ROM只有4K,而编译的程序有6K多,设置如下图示:就可以仿真运行,不管是Keil自带的Simulator,还是与Proteus联调。
2、如果Proteus对51单片机的设置如下图示:Simulate Program Fetches属性选择了Yes,则Keil与Proteus无法联合调试;若选择了No,则不用设置Program Files,Keil与Proteus一样可以联合调试,效果就相当于为Program Files添加了.hex文件一样。
上图示CPU为80C31,内部没有ROM,“{ROM=0} ”,但照样可以添加.hex文件,而且添加的.hex文件大小为6K多。
只要Simulate Program Fetches属性选择了No,则不管电路有没有外部扩展ROM,一样可以仿真运行。
而如果Simulate Program Fetches属性选择了Yes,那么即使外部ROM连接正确,但是不管怎么设置属性EXTROM、EXTRAM、Code memory map、Data memorymap的值,都不能仿真。
如果在Proteus中,外部RAM设置到了8000-FFFF这个地址段,那么需要在程序中指定地址,否则读取不到外部RAM,仿真失败。
因此一般把外部RAM的地址分配到0000开始的地址空间。
3、关于仿真外部程序存储器的问题,主要要了解清楚8051Model的内部构架规则。
摘抄英文帮助如下:By default, all external data memory accesses are fully modelled. That is to say that each external data memory cycle involves simulating the numerous transitions of ALE and the P0 and P2 port pins. A typically cycle will involve around 50 pin state transitions is thus vastly expensive in terms of simulation time.In contrast, all program memory cycles are simulated internal to the 8051 model - that is to say that the program bytes are looked up in a memory buffer internal to the chip and no pin-state transitions are simulated. This is the case irrespective of the amount of internal ROM available on a particular 8051 part, and is done in order to achieve reasonable simulation speeds. This optimisation can be disabled by specifying:DBG_FETCH=FALSEFor applications which make extensive use of external data RAM, two further optimisations can be specified.DA TARAM PropertyThis specifies regions of the external memory map which can be treated as RAM and simulated internally to the 8051 model. A typical example would be:DA TARAM=0000-7FFF,C000-FFFFThis would specify two regions of external data memory.CODERAM PropertyWhere regions of the external memory map are wired in a Von-Neumann configuration (external data memory and code memory are the same), this can be specified as follows:CODERAM=0000-7FFFAny external memory writes to the region 0000-7FFF will then 'write through' to the internal program memory buffer of the model and be 'seen' by subsequent instruction fetches and MOVC instructions.4、关于8051Model的所有属性,摘抄如下:The 8051 model supports the following properties:Property Default DescriptionPROGRAM-Specifies one or more program files to be loaded into the model's internal code memory. The files can be either Intel hex files or OMF51 absolute object module formatfiles. Use commas to separate multiple file names. See Specifying The Program File for more information.CLOCK 1.2MHz Specifies the clock frequency of the processor. For reasons of efficiency, the clock circuitry is not simulated, and the clock rate of the processor is determined solely by this value.DBG_FETCH FALSE If TRUE, causes the model to simulate external program fetches.This mode of operation is extremely slow, but will allow you to test external program memory decode circuitry.DA TARAM-Specifies regions of the memory map that correspond to external data RAM. This allows for much faster simulation of external memory accesses. See Modelling the Memory Map for more information.CODERAM-Specifies regions of the external memory map that are shared between code and data (i.e. von-neumann decoding). See Modelling the Memory Map for more information.5、6、。
Keil C51、Proteus的区别

最近Sandeepin开始捣鼓自己的专业软件,但对Multisim、Protel、Keil C51、Proteus 四款软件的功能侧重点分得不太清,故转此篇文章,留作存档,以便不时之需。
Multisim(NI Circuit Design Suite Power Pro)有超强板级的模拟/数字电路板的设计工作。
它包含了电路原理图的图形输入、电路硬件描述语言输入方式,具有丰富的仿真分析能力。
高版本可以进行单片机等MCU的仿真。
Multisim有实际元器件和虚拟元器件,它们之间根本差别在于:一种是与实际元器件的型号、参数值以及封装都相对应的元器件,在设计中选用此类器件,不仅可以使设计仿真与实际情况有良好的对应性,还可以直接将设计导出到Ultiboard中进行PCB的设计;虚拟元器件只能用于电路的仿真。
Protel的高版本Altium Designer,是业界第一款也是唯一一种完整的板级设计解决方案。
是业界首例将设计流程、集成化PCB 设计、可编程器件(如FPGA)设计和基于处理器设计的嵌入式软件开发功能整合在一起的产品,一种同时进行PCB和FPGA设计以及嵌入式设计的解决方案,具有将设计方案从概念转变为最终成品所需的全部功能。
主要用途:原理图输入设计PCB板。
Keil C51是美国Keil Software公司出品的51系列兼容单片机既可以汇编开发也可以C语言软件开发的系统。
Proteus具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS一232动态仿真。
①C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
②目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。
③支持大量的存储器和外围芯片。
简单概括为:Multisim可以进行复杂模拟/数字电路的仿真、简单的PCB板设计、简单的单片机仿真。
PROTEUS电子仿真软件跟Keil资料

4、工具箱
5、方向工具栏 旋转or翻转,旋转角度是90度的整数倍
6、仿真按钮
7、原理图编辑窗口
3.2 电路原理图设计
电路原理图是有电子器件符号和连接导线 组成的图形。在图中器件有编号、名称、参 数等属性,连接导线有名称、连接的器件引 脚等属性。电路原理图的设计就是放置器件 并把相应的器件引脚用导线连接起来,并修 改器件和导线的属性。
3.2.5 放置电源、地
(1)放置电源 (2)放置地
3.2.6 布线
在ISIS原理图编辑窗口中没有专门的布线按 钮,但系统默认自动布线按钮有效,因此可 直接画线。
第3章 PROTEUS电子仿真软件与 Keil联合调试
本章简要介绍Proteus软件组成和资源,详细 说明Proteus软件基本操作、原理图的设计、 单片机仿真的过程、元器件的制作和虚拟仿 真工具的使用以及Proteus与Keil软件联调过 程。以典型数码管显示为例讲述基于Proteus ISIS的电路设计、程序调试和系统仿真过程, 及数码管显示的Proteus与Keil软件联合调试。
器件选择按钮
预览窗口
工具栏
元器件库选择按钮
菜单栏
对象选择器
原理图编辑窗口
工具箱
方向工具栏
仿真按钮
状态栏
光标坐标栏
图3.1.3 ISIS Professional编辑操作界面
1、 菜单栏 ISIS系统的操作主菜单见表3.1.1所示,共
有12项菜单,每项都有下一级菜单。 2、预览窗口 3、器件选择按钮 4、工具箱 5、方向工具栏 6、仿真按钮 7、原理图编辑窗口
3.1 Proteus软件介绍
Proteus软件有二十多年的历史,在全球广泛 使用,除了其具有和其它EDA工具一样的画 原理图、PCB自动或人工布线及电路仿真的 功能外,其革命性的功能是,它的电路仿真 是互动的,针对微处理器的应用,还可以直 接在基于原理图的虚拟原型上编程,并实现 软件源代码级的实时调试,显示及输出,能 看到运行后输入输出的效果,还配置了虚拟 仪器如示波器、逻辑分析仪等。
01_Keil与Proteus联合仿真的注意事项

01_Keil与Proteus联合仿真的注意事项
01. 关于keil5和Proteus8的联合仿真的操作步骤,这⾥就不细说,给个链接,步骤差不多是最齐全的
02. ⽽有⼀些细节问题,是实实在在的许多教程都没有提到的,如果仿真的时候,你的KEIL出现这个界⾯和提⽰,多半是没注意到这点
01. 注意点⼀定要把keil的⼯程和Proteus的⽂件放到同⼀个⽬录下
(这⾥所说的Keil的⼯程指⼯程的⽬录,即Proteus的⼯程Design⽂件(后缀名。
DSN)要和包含了Keil⼯程⽂件的那个⽂件夹在同⼀层⽬录下)。
02. 注意点⼆经过操作发现:Keil的⼯程⽬录⽂件夹⼀定要命名为keil
03. 注意点三且Keil⼯程名与Proteus⼯程名相同
否则proteus报错:Unable to open HEX file 'Keil\DS1302.hex'. keil报错: target dll has been cancelled debugger aborted!)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本章简要介绍Proteus软件组成和资源,详细 说明Proteus软件基本操作、原理图的设计、 单片机仿真的过程、元器件的制作和虚拟仿 真工具的使用以及Proteus与Keil软件联调过 程。以典型数码管显示为例讲述基于Proteus ISIS的电路设计、程序调试和系统仿真过程, 及数码管显示的Proteus与Keil软件联合调试。
表3.1.1 主菜单名称和下一级菜单内容
2.预览窗口
该窗口显示两个内容:当单击对象选择框中的 某个对象,它显示该元件的预览图;当单击工具栏 中的按钮,它显示整张原理图的缩略图。
3.器件选择按钮
P为对象选择按钮,L为库管理按钮。 选取器件时,单击“P”,键入器件名(关键字) 在匹配结果中选中器件,单击确定,器件名即列于 对象选择器窗口中。
在此对话框中设置元件属性。如果需要成组 设置,可以使用属性分配功能,用鼠标左键 框选所需要设置的所有的器件,执行菜单命 令“Tools”→“Property Assignment Tool”, 或者按快捷方式“A”,弹出如图3.2.7所示的 属性分配对话框。
3.2.8 建立网络表
网络就是一个设计中有电器连接的电路,执 行菜单命令“Tools”→ “Netlist Complier”, 弹出对话框,在此对话框中,可设置网络表 的输出形式、模式、范围、深度和格式等。
点击“P”
选择元器件关键字
元器件预览区域
元器件类型列区域 元器件类型列表
元器件子类型列表
元器件PCB封装预览区域
元器件制造商列表
元器件PCB封装选择区域
图3.2.4 元器件浏览对话框
3.2.4 放置、移动、旋转、删除对象
(1)放置元件 (2)移动元件 (3)旋转元件 (4)删除元件
下一级菜单内容 新建、加载、保存、打印等文件操作 图纸网格设置、快捷工具选项、图纸的放置缩小等操作 编辑取消、剪切、拷贝、粘贴、器件清理等操作 实时标注、自动放线、网络表生成,电器规则检查、材料清单生成等 设置属性编辑、添加和删除图纸、电源配置等 传输特性、频率特性分析菜单,编辑图形,添加曲线,分析运行等 选择可编程器件的源文件、编译工具、外部编辑器、建立目标文件等 启动调试、复位显示窗口等 器件封装、库编辑、库管理等操作 设置模板格式、加载模板等 设置运行环境、系统信息、文件路径等 打开帮助文件、设计实例、版本信息等
3.3.4 观察单片机内部状态
在程序执行后,点击暂停按钮,打开Debug 菜单,执行菜单命令“Debug”/“8051CPU”后, 有三项命令可以选择:“Registers_U1”(通用 寄存器)、“SFR Memory_U1”(特殊功能寄存 器)、“Internal IDATA Memory_U1”(片内数 据存储器),可以任意单击一项,将其调出来 查看其状态,如图3.3. 2所示的片内数据存储 器的状态,同时按快捷方式“F10”或“F11” 单步运行观察其状态。
3.5 Proteus 虚拟仿真工具
Proteus的仿真分为交互式仿真和基于图表的仿真。 其中交互式仿真是通过交互器件或工具观察电路的 运行状态,例如一系列激励源和可视化虚拟仪器, 借助它们可进行交互式仿真;基于图表的仿真是使 用图表来分析电路的特定指标(如频率特性等)。
Proteus提供了一系列激励源、视化虚拟仪器和丰富 的图表,借助它们可进行虚拟仿真和图形分析。
主菜单名称和下一级菜单内容
菜单图标 File View .Edit Tools Design Graph Source Debug Library Template Sy stem Help
菜单名称 文件菜单 浏览菜单 编辑菜单 工具菜单 设计菜单 图形菜单 源文件菜单 调试菜单 库操作菜单 模板菜单 系统菜单 帮助菜单
器件选择按钮
预览窗口
工具栏
元器件库选择按钮
菜单栏
对象选择器
原理图编辑窗口
工具箱
方向工具栏
仿真按钮
状态栏
光标坐标栏
图3.1.3 ISIS Professional编辑操作界面
1、 菜单栏 ISIS系统的操作主菜单见表3.1.1所示,共
有12项菜单,每项都有下一级菜单。 2、预览窗口 3、器件选择按钮 4、工具箱 5、方向工具栏 6、仿真按钮 7、原理图编辑窗口
Proteus ISIS 为用户提供了A4~A0四种纸张 大小的选择,如图3.2.2所示。用户可以单击 菜单命令“System”→“Set Sheet size”,弹 出如图3.2.2所示的对话框,根据设计需要选 择图纸的大小,然后点击“OK”即可。
图3.2.2 纸张大小选择窗口
3.2.3 添加元器件
3.1.1 Proteus软件组成和开发流程
1、Proteus软件组成 Proteus系统包括ISIS.EXE(电路原理图设计、电路原理仿
真)、ARES.EXE(印刷电路板设计)两个主要程序三大基 本功能。Proteus组合了高级原理布图、混合模式SPICE仿 真,PCB设计以及自动布线功能,从而实现了一个完整的电 子设计系统。 Proteus软件由以下6部分组成: (1)原理图输入系统ISIS; (2)混合模型仿真器; (3)动态器件库; (4)高级图形分析模块; (5)处理器仿真模型VSM; (6)PCB设计编辑ARES。
FILE AUDIO
FILE 信号发生器(它的数据来源于 ASCII 文件) 音频信号发生器(使用 Windows WAV 文件作输入文件,结合音频分析图表可 听到电路对音频信号处理后的声音)
DSTATE DEDGE DPULSE DCLOCK
数字单稳态逻辑电平发生器 单边沿信号发生器 单周期数字脉冲发生器 数字时钟信号发生器
3.2.9 电器检查
在一个电路设计中,画完电路并生成网络表 后,可进行电器检测。执行菜单命令 “Tools”→ “Electrical Rule Check”或者单击 主工具栏中的图标 ,弹出电器检测窗口, 此窗口中前面的是一些文本信息,接着是电 气检测结果。若有错,会有英文提示,并附 有详细的说明。
激励源
信源
功能
DC SINE PULSE EXP SFFM PWLIN
直流信号发生器(直流激励源) 正弦波发生器(幅值、频率和相位可控) 模拟脉冲激励源(幅值、周期和上升/下降沿时间可控) 指数发生器(可产生与 RC 充电/放电电路相同的脉冲波) 单频率调频信号发生器 PWLIN 信号发生器(可产生任意分段线性信号)
3.3.1 添加程序
菜单的“Source”中有:添加删除程序 (Add/Remove Source file)、选择代码生 成工具(Define Code Generation Tools)、 设置外部文本编辑器(Setup External Text Editor)、编译所有文件(Build All)四项。 单击“添加删除程序(Add/Remove Source file)”,在弹出的对话框中,在代码生成工 具栏(Code Generation Tool)中选中 “ASEM51”。
3.2.11 单片机原理图设计实例
本例以设计数码管显示为例子
图3.2.9 数码管显示原理图
1、新建设计文件 2、图纸设定 3、添加元件 4、放置元件 5、放置电源、地 6、连线 7、设置元件属性 8、给导线添加网络标签 9、电气检测
3.3 单片机的仿真
PROTEUS系统能够仿真单片机的指令执行 过程,能够在连接其它接口电路之后实现对 电路的快速仿真调试。对单片机进行仿真分 以下几个步骤:
3.3.2 编译程序
执行菜单命令“Source”/“Build All”,如果文 件无错误就产生了.HEX文件。
3.3.3 添加和执行程序
双击需要添加程序的单片机,在弹出的属性 编辑对话框中 ,在“Program File”项中单 击图标,在弹出的“Select File Name”(选 择文件)对话框中,选择上一步产生.HEX文 件,点击“打开”按钮,回到单片机属性对 话框,单击“OK”即可。点击编辑窗下边的 仿真按钮程序便可执行了。或者选择调试菜 单Debug下的执行功能即可执行。
3.5.1 Proteus ISIS 图表仿真
图表仿真是一种静态的图表仿真功能,无须运行仿真,随着 电路参数的修改,电路中的各点波形将重新生成,并以图表 的形式留在电路图中,供以后分析或打印等。
构建图表仿真的步骤: (1)单击“图表” (2)根据实际波形格式,选择步骤(1)中相关属性的图表,
3.1 Proteus软件介绍
Proteus软件有二十多年的历史,在全球广泛 使用,除了其具有和其它EDA工具一样的画 原理图、PCB自动或人工布线及电路仿真的 功能外,其革命性的功能是,它的电路仿真 是互动的,针对微处理器的应用,还可以直 接在基于原理图的虚拟原型上编程,并实现 软件源代码级的实时调试,显示及输出,能 看到运行后输入输出的效果,还配置了虚拟 仪器如示波器、逻辑分析仪等。
(3)硬件设计的改动容易的如同软件设计改动一样简单。
3.1.2 Proteus编辑环境介绍
在电脑中安装好Proteus软件后,由“开始 菜单”→“所有程序”→“Proteus 7 Professional”中左击图标 即可启动程序, 启动画面如图
图3.1.2 Proteus启动画面
进入启动画面两三秒后进入编辑操作界面 ISIS Professional窗口
然后拖动鼠标到编辑窗口,点左键,拖画出一个矩形框,然 后再单击一下鼠标左键,画出一个矩形图表仿真框。 (3)给需要测的波形源连接好电路图,并设置好属性, (4)按下键盘的空格键即可实现仿真。 (5)应用实例
3.5.2 Proteus VSM 激励源