Proteus 仿真软件在单片机设计中的应用
单片机技术与嵌入式系统:http://www.51c51.net
(本站独家撰写请转载注明出处)
摘 要 单片机应用技术所涉及到的实验实践环节比较多,而且硬件投入比较大。在具体的
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
实践中,如果因为
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
有误而进
行相应的开发设计,会浪费较多的时间和经费。Proteus 仿真软件很好的解决了这些问题,他可以象 Protel 一样画好硬件原理图
与 KEIL 编程软件结合进行编程仿真调试。
关键词 单片机,Proteus 软件,Keil 软件,仿真
1.引言
单片机在很多产品中得到广泛的应用,无论是 51 系
列、AVR、还是 PIC 系列,他们各有各的特点,学习者也是逐
年增加,但是在学习开发过程中,我们往往在确定方案后做试
验的开支往往比较大,尤其是对于一些学生或者初学者这就可
能成为他们学习的障碍。在我们使用 Proteus 软件以来大大节
省了时间和开发费。尤其将此软件用在单片机开发中是一个不
错的选择。我们这里主要讲述的是 Proteus 软件与 Keil 软件
的结合与应用。
2.Protues 软件介绍与应用
2.1 Protues 软件介绍
Proteus 是目前最好的模拟单片机外围器件的工具,它
可以仿真 51 系列、AVR,PIC 等常用的 MCU 及其外围电路
(如 LCD,RAM,ROM,键盘,马达,LED,AD/DA,部分
SPI器件,部分 IIC器件...)。本文章基于ProteusPRO6.7SP3
和 KEIL uVision3 软件。
当然,软件仿真精度有限,而且不可能所有的器件都找得
到相应的仿真模型,用开发板和仿真器当然是最好选择,可是
对于单片机爱好者,或者简单的开发应该是比较好的选择。
Proteus 与其它单片机仿真软件不同的是,它不仅能仿真
单片机 CPU 的工作情况,也能仿真单片机外围电路或没有单片
机参与的其它电路的工作情况。因此在仿真和程序调试时,关
心的不再是某些语句执行时单片机寄存器和存储器内容的改
变,而是从工程的角度直接看程序运行和电路工作的过程和结
果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和
工程应用间脱节的矛盾和现象。
2.2 Protues 软件与 Keil uVision 的结合
对于初次使用 Protues 软件的人可能还不知道如何设置,
现在把设置步骤简介如下,仅供参考(本文章只讨论在单机上
结合,在两个联网机器使用由于篇幅限制不在此讨论):
设置步骤如下:
(1) 把 proteus 安 装 目 录 下 VDM51.dll ( C:\Program
Files\LabcenterElectronics\Proteus6\Professional\MODE
LS)文件复制到 Keil 安装目录的 \C51\BIN 目录中;
(2) 编 辑 C51 里 tools.ini 文 件 , 加 入 :
TDRV1=BIN\VDM51.DLL("PROTEUS VSM MONITOR-51 DRIVER");
(3) Keil uVision 里 设 置 : project-->options for
project-->debug tab;
(4) 选中 use proteus VSM monitor 51( 如果想用两台电脑仿
真,双击 setting,输入 IP 地址 或者 DNS name);
(5) 载入 proteus 文件;
(6) proteus 里选择 DEBUG-->use remote debug monitor;
进入 KEIL 的 project 菜单 option for target '工程名'。
在 DEBUG 选项中右栏上部的下拉菜选中 Proteus VSM
Monitor-51 Driver。 在进入 seting,如果同一台机 IP 名为
127.0.0.1,如不是同一台机则填另一 台的 IP 地址。端口号一
定为 8000 注意:可以在一台机器上运行 keil,另一台中运行
proteus 进行远程仿真.
(7)打开 KEIL uVision, 按 F5 开始仿真.
2.3 proteus 的工作过程
运行 proteus 的 ISIS 程序后,进入该仿真软件的主界面。
在工作前,要设置view菜单下的捕捉对齐和system下的颜色、
图形界面大小等项目。通过工具栏中的 p(从库中选择元件命令)
命令,在 pick devices 窗口中选择电路所需的元件,放置元
件并调整其相对位置,元件参数设置,元器件间连线,编写程
序;在 source 菜单的 Define code generation tools 菜单命
令下,选择程序编译的工具、路径、扩展名等项目;在 source
菜单的 Add/remove source files 命令下,加入单片机硬件电
路的对应程序;通过 debug 菜单的相应命令仿真程序和电路的
运行情况。
Proteus 软件所提供了 30 多个元件库,数千种元件。元
件涉及到数字和模拟、交流和直流等。
2.4 Proteus 软件所提供的调试手段
Proteus 提供了比较丰富的测试信号用于电路的测试。这
些测试信号包括模拟信号和数字信号。
对于单片机硬件电路和软件的调试,Proteus 提供了两种
方法:一种是系统总体执行效果,一种是对软件的分步调试以
看具体的执行情况。
对于总体执行效果的调试方法,只需要执行 debug 菜单下
的 execute 菜单项或 F12 快捷键启动执行,用 debug 菜单下的
pause animation 菜单项或 pause 键暂停系统的运行;或用
debug 菜单下的 stop animation 菜单项或 shift-break 组合
键停止系统的运行。其运行方式也可以选择工具栏中的相应工
具进行。
对于软件的分步调试,应先执行 debug 菜单下的
start/restart debugging 菜单项命令,此时可以选择 step
over 、step into 和 step out 命令执行程序(可以用快捷键
F10、F11 和 ctrl+F11),执行的效果是单句执行、进入子程序
执行和跳出子程序执行。在执行了 start / restart debuging
命令后,在 debug 菜单的下面要出现仿真中所涉及到的软件列
表和单片机的系统资源等,可供调试时
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
和查看。
2.5 Proteus 和 KEIL uVision3 软件结合实例
本节将通过一个流水灯试验具体介绍 Proteus 与 Keil
uVision 的结合与应用。
(1)通过 Proteus 画原理图:(图 1)
(图 1)
(1)在 Keil uVision 软件别写程序:
#include
#include
void delayms(unsigned char ms)
// 延时子程序
{
unsigned char i;
while(ms--)
{
for(i = 0; i < 120; i++);
}
}
main()
{
unsigned char LED;
LED = 0xfe;
P0 = LED;
while(1)
{
delayms(250);
LED = _crol_(LED,1);
//循环右移 1 位,点亮下一个 LED
P0 = LED;
}
}
(3)对 Proteus 和 Keil uVision 软件的设置:
(参考 2.2 Protues 软件与 Keil uVision 的结合章节)
(4)运行程序,运行结果如下(图 2):
实现流水灯功能
图 2
3.总结
Proteus 不仅可以作为学校单片机(电子等)实验的模拟
仿真,也可以作为个人工作室的仿真实验。作为电子技术或控
制类相关专业的学生和工程技术人员,在学习了该软件后,可
以充分地利用它所提供的资源,帮助自己提高工程应用能力。
在教学中利用该软件,除了能教单片机的具体课程内容
外,还可以教会学生应用该工具的能力,为今后的工作打下基
础。
欢迎大家对本文章提出意见,如有问题请咨询我们。
参考文献:
(1) Proteus 软件英文简介
(2) 研学论坛《用 proteus 构建虚拟单片机实验室》
(3) Keil uVision 软件应用手册
单片机技术与嵌入式系统:http://www.51c51.net
(本站独家撰写请转载注明出处)