《单片机Proteus仿真》由会员分享,可在线阅读,更多相关《单片机Proteus仿真(21页珍藏版)》请在金锄头文库上搜索。
1、单片机单片机ProteusProteus仿真仿真 Proteus Proteus软件软件是英国是英国LCELCE公司研制的公司研制的EDAEDA工具软件,工具软件,可实现电路原理设计,电路分析与仿真。可实现电路原理设计,电路分析与仿真。 ProteusProteus由由ISISISIS(智能电路原理图输入系统)和(智能电路原理图输入系统)和ARESARES(高级布线编辑)两个软件组成。(高级布线编辑)两个软件组成。 用用ProteusProteus软件进行单片机的设计和仿真的步骤如软件进行单片机的设计和仿真的步骤如下:下:(1 1)用)用ISISISIS软件设计应用系统的硬件电路软件设计应用系
2、统的硬件电路(2 2)用)用KeilKeil软件设计应用系统的程序并调试软件设计应用系统的程序并调试(3 3)进行硬软件的统一调试,检查运行的结果。)进行硬软件的统一调试,检查运行的结果。举例:设计如下的硬件电路,编写程序实现举例:设计如下的硬件电路,编写程序实现8路流路流水灯水灯 第一部分第一部分 Proteus Proteus 仿真步骤仿真步骤 Proteus 软件由ISIS(智能图形输入系统)和ARES(布线和电路板制造)2部分组成。一、点击图标 启动Proteus软件ISIS环境,编辑环境如图:菜单工具栏预览窗口器件选择工具栏对象选择器方向控制原理图编辑(一)菜单栏(一)菜单栏1、Fi
3、le(文件文件): 新建、装入、保存、导入设计、打印等选项。2、View(查看查看): 原理图编辑窗口定位、栅格调整、图形缩放。3、Edit(编辑编辑): 编辑元件的剪切、复制、粘贴、撤销和恢复。4、Library(库库): 选择元件、制造元件、分解元件、编辑到库。5、Tools(工具工具): 标注、布线、标记、分配工具、数据导入。6、Desing(设计设计): 编辑设计/面板属性、新建/删除原理图。7、Graph(图形图形): 编辑仿真图形、导出数据、删除数据。8、Source(源文件源文件): 添加/移除源文件、设置编辑。9、Degug(调试调试): 调试、运行/停止调试、断点运行。(二)
4、主工具栏(二)主工具栏(三)预览窗口(三)预览窗口1、在对象选择器单击某个元件或在工具箱中单击元件按钮、终端按钮、子电路按钮、虚拟仪器按钮时,预览窗口会出现对象的图形。2、将鼠标落在此窗口内,可以改变原理图的可视范围。(四)器件选择按钮(四)器件选择按钮 P: 对象选择对象选择 按钮,单击P按钮,会弹出器件选择窗口,在Kerywords 栏中输入器件名,可在器件库中选择元件。 L:库管理库管理 按键。(五)工具箱(五)工具箱 ISIS中提供了许多图标工具按钮,如图:元件按钮连接点连线的网络标号文本脚本总线子电路选择元件终端元件引脚图标录音机信号源电压探针电流探针虚拟仪器画线方框园弧线曲线文本符
5、号坐标原点(六)仿真和方向工具栏(六)仿真和方向工具栏 旋 转 翻 转 运行 单步 暂停 停止(七)原理图编辑窗口(七)原理图编辑窗口用于放置元件,连线,绘制原理图。操作如下:(1)鼠标的中间滚轮用于放大或缩小原理图(2)鼠标左键用于放置元件和连线(3)右键用于选择元件、连线和对象,选中时以红色显示(4)双击鼠标右键可删除元件和连线(5)先单击鼠标右键再单击左键,可编辑元件的属性二、用二、用ProteusProteus进行电路设计和仿真进行电路设计和仿真 (一)(一) 设计一个单片机最小系统,在设计一个单片机最小系统,在P0P0口或口或P1P1口上接口上接8 8个个LEDLED灯,要求实现跑马
6、。灯,要求实现跑马。(1)启动 Proteus ISIS,单击菜单File New Design,新建DEFAULT模板,保存文件名:P1(1).DSN。 (2)在器件选择中点 P按钮(或:Library Pick Device/Symbol)添加下表中的元件。(在Keywords栏中逐个输入元件的英文) 单片机: AT89C51 电容: CAP 30F 晶振: CRYSTAL 12MHZ 按钮: Button 发光二极管: LED-BIBY/BIGY 电阻: RES 排阻:Respack-8 电解电容: CAP-ELEC例如:输入RES,点Resistors,挑选适合的电阻,将元件放置到原理
7、图编辑窗口的合适位置。(3) 单击工具箱中 元件终端 图标,将元件终端放置在合适位置,然后布线。(4) 单击对象选择器中的 POWER 和GROUND,将元件电源和地放置在合适位置,然后布线。(5)左键双击各元件,设置相应元件的参数,完成电路图的设计。 第二部分第二部分 KeilKeil软件编程软件编程 操作步骤:操作步骤:1、双击桌面上的、双击桌面上的UV2UV2快捷图快捷图 ,启动,启动软件。软件。 2 2、点击、点击P P工程工程 N N新建工程新建工程 输入文件名(如输入文件名(如A1A1)并点击保存。)并点击保存。 3 3、出现、出现CPUCPU屏幕,选屏幕,选AtmelAtmel
8、AT89C51 AT89C51 点确定。点确定。屏幕左上方出现图标目标屏幕左上方出现图标目标1 1。 4 4、点击文件、点击文件 新建文件新建文件 出现程序输入区。出现程序输入区。输入输入C C语言程序:语言程序:#include reg51.h#define unit unsigned int#define unchar unsigned charconst tab=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;void delay (void) unsigned int i; for(i=0;i35530;i+); void main (void) uns
9、igned char x; while(1) for (x=0;x8;x+) P0=tabx; delay(); 输入后点击文件中的保输入后点击文件中的保存,输入程序名存,输入程序名( (例如例如S1.C)S1.C)并选择存入的盘并选择存入的盘( (如如D:)D:)点击保存。点击保存。 程序名要加尾缀:程序名要加尾缀:.C.C。 如果程序已经存在,如果程序已经存在,可点击文件可点击文件 打开文件,打开文件,找到需要选择的文件。找到需要选择的文件。 5 5、点击(图标)目标、点击(图标)目标1 1前的前的“+”+”号,出现(图标)号,出现(图标)源程序组源程序组1 1,选中并点右键,选,选中并点
10、右键,选“文件增加到源程序组文件增加到源程序组1”1”,选择文件类型为,选择文件类型为C C,再选要输入的程序,再选要输入的程序 S1.CS1.C,点,点ADDADD(加入),点确定。(加入),点确定。 此时点击源程序组此时点击源程序组1 1可以看到可以看到要输入的程序要输入的程序S1.CS1.C 。在对程序编译前要进行以下的设置:在对程序编译前要进行以下的设置: 1、单击“project”(工程)菜单,在下拉菜单中单击“options for target 1”(目标 目标1属性),再单击“target”(目标),将输入仿真器的晶振频率改为12.0MHz。 2、在目标 目标1属性 页面下选择
11、output(输出) ,点击“Create HEX file”(产生hex文件)的选项,以便汇编后生成HEX代码,供编程器使用。 3、对于软件仿真,在目标 目标1属性 页面下点“Debug”(调试),再选“S 使用软件仿真器”,同时选中“加载代码到仿真器”和“运行到main0”,然后点击“确定”。 6 6、程序的编译和链接、程序的编译和链接 依次依次点击屏幕上方左下角的编译和建造目标图标点击屏幕上方左下角的编译和建造目标图标 对文件进行编译和链接,对文件进行编译和链接,观察左下角的调试观察左下角的调试程序信息显示,如有错可根据该栏提示的信息进行修程序信息显示,如有错可根据该栏提示的信息进行修改
12、,修改后要重新保存和编译改,修改后要重新保存和编译, ,直到无错误提示。直到无错误提示。 第三部分第三部分 调试与仿真调试与仿真 在Proteus ISIS 编辑窗口中,单击鼠标右键选中AT89C51单片机,单击鼠标左键弹出 Edit Component 对话框,在 Clock Frequency 栏设置晶振频率 12MHZ,在 Program Fiel栏中单击图标 ,选择Kiel 生成的 名. HEX 文件,确定。 在Proteus ISIS 中 Fiel Save Design 保存设计,生成 名.DSN 文件。 在Proteus ISIS 中单击 Debug 选 Execute 执行,观
13、察运行结果。 退出:单击Debeg Pause/Stop Animetion可退出运行状态。#include #define uint unsigned int#define uchar unsigned charconst tab=0Xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f, 0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff, 0xaa,0x55,0xaa,0x55,0xaa,0x55,0xff, 0xf0,0x0f,0xf0,0x0f,0xff, 0x33,0xcc,0x33,0xcc,0x33,0xcc,0xff;void delay(void) uint i; for(i=0;i34530;i+);void main(void)char x; while(1) for(x=0;x35;x+) P0=tabx; delay();提高部分:用上面电路实提高部分:用上面电路实现彩灯效果(参考程序)现彩灯效果(参考程序)