NotePK51_2_通过Keil仿真调试Proteus单片机电路基本操作说明

NotePK51_2_通过Keil仿真调试Proteus单片机电路基本操作说明
NotePK51_2_通过Keil仿真调试Proteus单片机电路基本操作说明

通过Keil仿真调试Proteus单片机电路基本操作说明

2010-10-10 以“中断方式计数显示器”为例

1.建立工程文件夹并完成Proteus硬件设计

(1)建立文件夹(MyEx_INT_1_中断方式计数显示器),将Proteus和Keil的工程文件放在该文件夹中。

(2)电路原理图设计

从开始菜单中打开Proteus原理图绘制软件ISIS,如图1所示。

图1 启动Proteus绘制原理图软件ISIS

Proteus硬件电路如图2所示。SEG1和SEG2为共阴数码管,BUT连接到/INT0引脚。(元件选取及电路连接参考教材实验一P210)

图2 “计数显示器”Proteus电路原理图

(3)将Proteus原理图保存为MyEx_INT_1.DSN。

(4)将Proteus设置为“使用远程调试监控”模式并存盘。设置如图2所示。

图2 将Proteus设置为“使用远程调试监控”模式

2.建立Keil工程并配置工程属性

(1)从开始菜单中打开Keil软件,选择Project->New Project新建工程(如图3)。

图3

在“MyEx_INT_1_中断方式计数显示器”文件夹中保存工程名为MyEx_INT_1.uv2后出现选择器件对话框,选择Atmel的AT89C51单片机(如图4)。

图4

出现是否加载启动代码对话框时选择“否”(如图5)。

图5

在左侧工程文件管理窗口中出现该工程的文件结构。在Target1右键选中Options for Target ‘Target1’,进行工程配置(如图6)。

图6

在Output选项卡中,选择Create HEX File复选框(如图7),使编译后产生Hex文件。

图7

在Debug选项卡中,选中Proteus VSM Simlator调试模式,并选择复选框Run to main(),使下载后程序停留在主程序开始位置(如图8)。(注:要实现keil远程监控Proteus,需要安装Proteus7.4安装文件夹中的vdmagdi.exe文件。)

图8

3.创建源文件并加载到工程

在File菜单选New新建文件,编写C程序代码,并在工程文件夹中保存为MyEx_INT_1.c。该实例程序代码见附录。

将源文件加载到工程中,如图9所示。

图9

加载后的工程如图10所示。

图10

4.编译链接及下载

选择Project菜单下Rebuild all target files进行编译、链接(如图11)。若程序有语法错误,下方的Output窗口会进行提示,双击错误或警告处可以定位语法错误位置。修改程序直至没有错误和警告。

图11

程序编译链接通过后,选择Debug菜单下Start/Stop Debug Session进入调试状态(如图12),此时Keil可以通过远程监控方式控制Proteus电路的仿真。(注:此时与该程序对应的Proteus电路已打开,并Keil工程与Proteus原理图文件在同一文件夹下)

图12

5.调试程序

Keil进入调试状态后,可通过全速运行、停止、单步执行、断点控制程序的运行。调试命令可在Debug菜单下找到。

将程序停止在所设置的观察点处,选中所要观察的变量,按右键将其加载到Watch1或Watch2窗口进行变量值的观察,从而检查程序是否有逻辑错误。(watch观察窗口可以通过View菜单下Watch & Call Stack Window打开)

图13

可通过全速运行检验程序运行的情况,判断是否满足设计要求。

6.在Proteus中加载.Hex文件并运行

调试程序无误后,在Proteus原理图中的单片机上双击,出现图14对话框,在Program File中选择工程文件夹中由Keil编译生成的MyEx_INT_1.hex文件(程序二进制代码),完成对单片机程序的加载。

图14

完成程序加载后,则在不使用Keil调试下,点击Proteus的Debug菜单中的“执行”可观察程序运行情况,如图15所示。

图15

程序运行结果如图16所示。

图16

附录

实例源程序代码

#include

#define uchar unsigned char

#define SEG1 P0

#define SEG2 P2

sbit BUT = P3^2;

//全局变量定义

uchar contH=0,contL=0;//用于十位和各位计数值

code uchar seg_code[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共阳7段数码管段选码

//用户定义子函数声明

void SysInit(void);

void main(void)

{

SysInit();

while(1)

{

SEG1=seg_code[contH];

SEG2=seg_code[contL];

}

}

void SysInit(void)

{

EX0=1;//允许INT0外部中断

IT0=1;//外部中断0为边沿触发方式

EA=1;//开总中断

}

void INT0_ISR(void) interrupt 0 using 1//INT0中断服务函数,硬件自动清除标志位IE0 {

contL++;

if(contL==10)

{

contH++;

if(contH==10)

contH=0;

contL=0;

}

}

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所示。包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。

Proteus仿真单片机实例

引言 单片机体积小,重量轻,具有很强的灵活性而且价格便宜,具有逻辑判断,定时计数等多种功能,广泛应用于仪器仪表,家用电器,医用设备的智能化管理和过程控制等领域。以单片机为核心的嵌入式系统已经成为目前电子设计最活跃的领域之一。在嵌入式系统的中,开发板成本高,特别是对于大量的初学者而言,还可能由于设计的错误导致开发板损坏。利用Proteus我们可以很好地解决这个问题,由此我们可以快速地建立一个仿真系统。 2.Proteus介绍 Proteus是英国Labcenter Electro-nics公司开发的一款电路仿真软件,软件由两部分组成:一部分是智能原理图输入系统ISIS(Intelligent Schematic Input System)和虚拟系统模型VSM(Virtual Model System);另一部分是高级布线及编辑软件ARES(Adv-Ancd Routing And Editing Software)也就是PCB. 2.1 Proteus VSM的仿真 Proteus可以仿真模拟电路及数字电路,也可以仿真模拟数字混合电路。 Proteus可提供30多种元件库,超过8000种模拟、数字元器件。可以按照设计的要求选择不同生产厂家的元器件。此外,对于元器件库中没有的元件,设计者也可以通过软件自己创建。 除拥有丰富的元器件外,Proteus还提供了各种虚拟仪器,如常用的电流表,电压表,示波器,计数/定时/频率计,SPI调试器等虚拟终端。支持图形化的分析功能等。 Proteus特别适合对嵌入式系统进行软硬件协同设计与仿真,其最大的特点是可以仿真8051,PIA,A VR,ARM等多种系列的处理器。Protues包含强大的调试工具,具有对寄存器和存储器、断点和单步模式IAR C-SPY,Keil、MPLAB等开发工具的源程序进行调试的功能;能够观察代码在仿真硬件上的实时运行效果;对显示,按钮,键盘等外设的交互可视化进行仿真。 2.2 Proteus PCB Proteus 的PCB设计除了有自动布线仿真功能外,还集成了PCB设计,支持多达16个布线层,可以任意角度放置元件和焊接连线;集成了高智能的布线算法,可以方便地进行PCB设计。 3. 基于Protesus的简单数据采集系统。 3.1 软件的编写 本例题采用可调电阻调节电压值作为模拟信号的输入量,通过A/D转换芯片AD0808把模拟信号转换为数字量传送到单片机的P1口,并在P0口把转换的结果显示出来。 软件的编写可以在Keil C51 环境下进行,芯片的型号选择AT89C51,编写data.c文件,利用Keil C51进行编译,编译成功后生成data.hex文件。 3.2 绘制电路图 运行Proteus的ISIS,进入仿真软件的主界面,如图1所示。主界面分为菜单栏,工具栏,模型显示窗口,模型选择区,元件列表区等。

关于如何使用Proteus和keil4联调

一、关于如何使用Proteus。软件下载地址:http://59.77.2.173/edown25/ Proteus有点类似protel,在本学期的单片机实验课中所起的作用主要是考虑到同学们只利用上课时间在单片机实验室编程时间比较紧,所以陈老师采用Proteus让大家可以自己先做仿真,看看实验现象,关于Proteus大家不用懂得太多,只要懂得如何用Proteus看现象及与如何与Keil uVision4联调即可。 当然,软件要先安装好,并且是破解好的。否则会出错。 下面先讲讲如何用Proteus看实验现象。其实就是助教会在下一周实验前将Proteus电路图画好,大家直接打开电路图,在51芯片上双击出窗口导入.hex文件(编译.成功asm或.c 文件时会生成),然后点击运行即可观看现象。想要停止,点击停止就OK。以观察实验二的例子为例。如图。打开.DSN文件 出现如下界面。 双击单片机芯片,出现对话框 运行、停止

双击单片机芯片,出现对话框 点击运行或者停止即可观察实验室现象。二、如何使用Keil uVision4与Proteus联调。 打开 Keil uVision4 。如下图所示。 此处导入同文件夹下的.hex文件

1、菜单栏的project菜单下新建一个工程。 2、保存工程名称后,出现如下菜单。

选择Atmel下的A T89C51,点击OK后在跳出来的菜单后点击“否”。 出现如下对话框。

Output框下将“Create HEX file”前打钩,使得在编译成功后能生成.hex文件,用于在Proteus 中作仿真,也是用于烧录的。 Debug框将“Use:Proteus VSM Simulator”选择,如下图显示: 注意,在设置“debug”前要将keil与Proteus的联调软件安装好!

流水灯(电路和汇编)-Proteus和Keil仿真演示实例知识讲解

流水灯(电路和汇编)-P r o t e u s和K e i l仿真演示实例

示例要求: 在80C51单片机的P2口连接8个发光二极管指示灯,编程实现流水灯的控制,轮流点亮指示灯。 在KEIL 51中编程序,形成HEX文件;在PROTEUS中设计硬件,下载HEX文件,运行看结果。 第1篇:PROTEUS电路设计 1、打开PROTEUS的ISIS软件,如图1所示。新建电路图文件,将文件保存到E:\projectio (新建文件夹projectio)下面,文件基本名为io,扩展名默认。 选择元 图1 ISIS窗口图 2、在component mode模式下单击选择元件按钮P,打开元件选择对话框,如图2所示。

图2 元件选择窗口 在元件选择对话框的keywords窗口中输入元件关键字可换搜索元件,找到元件后,双击元件则可选中元件,添加元件到图3的device列表栏。在这里依次添加元件单片机80C51、电阻RES、电容CAP、按键BUTTON、晶振CRYSTAL、发光二极管LED-RED,如图3所示。 图3 添加元件的device列表栏 3、选择devices元件列表中的元件放到工作窗口,注意放置在工作窗口合适的位置,在元件放置时可对元件进行移动、旋转等操作;如图4所示。电源(POWER)与地(GROUND):(右键-放置-终端里选)。

图4 放置元件图4、连接导线,如图5所示。连接后存盘。 图5 连接元件图

5、在Keil软件中设计软件程序,形成HEX文件(具体过程见第2篇Keil软件编程)。保存软件项目到电路文件相同的文件夹E:\projectio下。 6、在PROTEUS电路图中,单击单片机80C51芯片,选中,再次单击打开单片机80C51的属性对话框,在属性对话框中的program file框中选择下载到80C51芯片中的程序。这里是同一个文件夹下面的shili.hex文件。如图6所示。 图6 下载程序到单片机 7、单击仿真运行按钮play,运行程序。可通过LED二极管看到相应的结果。如图7所示。 图7 仿真结果图

单片机PROTEUS仿真100实例

《单片机C语言程序设计实训100例—基于8051+Proteus仿真》案例 第01 篇基础程序设计 01 闪烁的LED /* 名称:闪烁的LED 说明:LED按设定的时间间隔闪烁 */ #include #define uchar unsigned char #define uint unsigned int sbit LED=P1^0; //延时 void DelayMS(uint x) { uchar i; while(x--) { for(i=0;i<120;i++); } } //主程序 void main() { while(1) { LED=~LED; DelayMS(150); } } 02 从左到右的流水灯 /* 名称:从左到右的流水灯 说明:接在P0口的8个LED 从左到右循环依次点亮,产生走 马灯效果 */ #include #include #define uchar unsigned char #define uint unsigned int

//延时 void DelayMS(uint x) { uchar i; while(x--) { for(i=0;i<120;i++); } } //主程序 void main() { P0=0xfe; while(1) { P0=_crol_(P0,1); //P0的值向左循环移动 DelayMS(150); } } 03 8只LED左右来回点亮 /* 名称:8只LED左右来回点亮 说明:程序利用循环移位函数_crol_和_cror_形成来回滚动的效果*/ #include #include #define uchar unsigned char #define uint unsigned int //延时 void DelayMS(uint x) { uchar i; while(x--) { for(i=0;i<120;i++); } } //主程序 void main() { uchar i; P2=0x01; while(1) {

[整理版]proteus仿真单片机实例

[整理版]proteus仿真单片机实例 用器和存储器、断点和单步模式Proteus一部分是智能原理图输入系统引言Keil C51 运行可提供单片机体积小Proteus进行编译,编译成功后生成30的多种元件库,超过 ISIS,重量轻,进入仿真软件的主界面,如图等多种系列的处理器。IAR C-SPY,Keil,具有很强的灵活性而且价格便宜,具有逻辑判断,定时计数等多ISIS(Intelligent Schematic Input System)8000data.hex,也可以仿真模拟数字混合电路。种模拟、数字元器件。可以按照设计的要求选择、MPLAB文件。Protues 等开发工具的源程序进行调试的功包含强大的调试工具,具有对寄存1 所示。主界面分为菜单栏,工具3.2 绘制电路图,编写和虚拟系统模型 data.c文件,能;能够观察代码在仿真硬件上的实时运行效果;对显示,按钮,键盘等外设的交互可视化不同生产厂家的元器件。此外,对于元器件库中没有的元件,设计者也可以通过软件自己创VSM(Virtual Model System)利栏,模型显示窗口,模型选择区,元件列表区等。种功能,广泛应用于仪器仪表,家用电器,医用设备的智能化管理和过程控制等领域。以单;另一部分是高级布线及编辑软件 ARES(Adv-Ancd Routing 进行仿真。建。,nd Editing Software) 片机为核心的嵌入式系统已经成为目前电子设计最活跃的领域之一。在嵌入式系统的中,开除拥有丰富的元器件外, 2.2 Proteus PCB 也就是PCB. ProteusProteus 2.1 Proteus VSM还提供了

PROTEUS仿真100实例(完整资料).doc

【最新整理,下载后即可编辑】 《单片机C语言程序设计实训100例—基于8051+Proteus仿真》案例 第01 篇基础程序设计 01 闪烁的LED /* 名称:闪烁的LED 说明:LED按设定的时间 间隔闪烁 */ #include #define uchar unsigned char #define uint unsigned int sbit LED=P1^0; //延时 void DelayMS(uint x) { uchar i; while(x--) { for(i=0;i<120;i++); } } //主程序 void main() { while(1) { LED=~LED; DelayMS(150); }

02 从左到右的流水 灯 /* 名称:从左到右 的流水灯 说明:接在P0口的 8个LED从左到右循环依次点亮,产生走马灯效果*/ #include #include #define uchar unsigned char #define uint unsigned int //延时 void DelayMS(uint x) { uchar i; while(x--) { for(i=0;i<120;i++); } } //主程序 void main() { P0=0xfe; while(1) { P0=_crol_(P0,1); //P0的值向左循环移动 DelayMS(150); } }

03 8只LED左右来回点亮 /* 名称:8只LED左右来回点亮 说明:程序利用循环移位函数_crol_和_cror_形成来回滚动的效果*/ #include #include #define uchar unsigned char #define uint unsigned int //延时 void DelayMS(uint x) { uchar i; while(x--) { for(i=0;i<120;i++); } } //主程序 void main() { uchar i; P2=0x01; while(1) { for(i=0;i<7;i++) { P2=_crol_(P2,1); //P2的值向左循环移动 DelayMS(150); }

创建基于DLL的Proteus仿真模型

创建基于DLL的Proteus VSM仿真模型 作者:silingsong 一、Proteus VSM仿真模型简介 在使用Proteus仿真单片机系统的过程中,经常找不到所需的元件,这就需要自己编写。Proteus VSM 的一个主要特色是使用基于DLL组件模型的可扩展性。这些模型分为两类:电气模型(Electrical Model)和绘图模型(Graphical Model)。电气模型实现元件的电气特性,按规定的时序接收数据和输出数据;绘图模型实现仿真时与用户的交互,例如LCD的显示。一个元件可以只实现电气模型,也可以都实现电气和绘图模型。 Proteus为VSM模型提供了一些C++抽象类接口,用户创建元件时需要在DLL中实现相应的抽象类。VSM模型和Proteus系统通信的原理如下图: 绘图模型接口抽象类: ICOMPONENT――ISIS内部一个活动组件对象,为VSM模型提供在原理图上绘图和用户交互的服务。 IACTIVEMODEL――用户实现的VSM绘图模型要继承此类,并实现相应的绘图和键盘鼠标事件处理。 电气模型接口抽象类: IINSTANCE――一个PROSPICE仿真原始模型,为VSM模型提供访问属性、模拟节点和数据引脚的服务,还允许模型通过仿真日志发出警告和错误信息。 ISPICECKT(模拟)――SPICE拥有的模拟元件,提供的服务:访问、创建和删除节点,在稀疏矩阵上分配空间,同时还允许模型在给定时刻强制仿真时刻点的发生和挂起仿真。 ISPICEMODEL(模拟)――用户实现的VSM模拟元件要继承此类,并实现相应的载入数据,在完成的时间点处理数据等。 IDSIMCKT(数字)――DSIM拥有的数字元件,提供的服务:访问数字系统的变量,创建回调函数和挂起仿真。

Keil与proteus完美结合教程

Keil与proteus完美结合教程 Proteus 单片机仿真软件 可与Keil或Pic的Mplab联接使用,单片机初学者的福音,有非常丰富的外围器件可供仿真使用

简介: Proteus6.7是目前最好的模拟单片机外围器件的工具,真的很不错。可以仿真51系列、AVR,PIC等常用的MCU及其外围电路(如LCD,RAM,ROM,键盘,马达,LED,AD/DA,部分SPI器件,部分IIC器件,...)其实proteus 与 multisim 比较类似,只不过它可以仿真MCU! 当然,软件仿真精度有限,而且不可能所有的器件都找得到相应的仿真模型,用开发板和仿真器当然是最好选择,可是估计初学者有的可能性比较小吧? 如果你在学51单片机,如果你想自己动手做做LCD,LED,AD/DA,直流马达,SPI,IIC,键盘,...的小实验的话,试一下吧,不会让你失望的!用51不管你是用汇编或是C编程当然要用keil啦,uvisoin3有不少新特性呢!使用keil c51 v7.50 + proteus 6.7 可以像使用仿真器一样调试程序,一般而言,微机实验中用万利仿真器+电工系自己做的实验板的实验都可以做得到吧!当然,硬件实践还是必不可少的!!! 本方案只是在没有硬件的情况下让你能像pspice 仿真模拟/数字电路那样仿真MCU及外围电路。另外,即使有硬件,在程序编写早期用软件仿真一下也不错的! 需要Proteus6.7 SP3和keil c51 v7.50请到本站:https://www.360docs.net/doc/2613820542.html,下载。本站提供的是完全解密版和专业版。放心使用。 为了使大家能最快的进入keil c51 v7.50 + proteus 6.7仿真本站特别编写了本教程共享,希望对本站大力支持! 以下文章 作者:■凉山州机电学校马正强 1 Proteus介绍 Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。 (1)proteus的工作过程 运行proteus的ISIS程序后,进入该仿真软件的主界面。在工作前,要设置view菜单下的捕捉对齐和system 下的颜色、图形界面大小等项目。通过工具栏中的p(从库中选择元件命令)命令,在pick devices窗口中选择电路所需的元件,放置元件并调整其相对位置,元件参数设置,元器件间连线,编写程序;在source菜单的Define code generation tools菜单命令下,选择程序编译的工具、路径、扩展名等项目;在source菜单的Add/remove source files命令下,加入单片机硬件电路的对应程序;通过debug菜单的相应命令仿真程序和电路的运行情况。 (2)Proteus软件所提供的元件资源 Proteus 软件所提供了30多个元件库,数千种元件。元件涉及到数字和模拟、交流和直流等。 (3)Proteus软件所提供的仪表资源 对于一个仿真软件或实验室,测试的仪器仪表的数量、类型和质量,是衡量实验室是否合格的一个关键因素。在Proteus软件包中,不存在同类仪表使用数量的问题。 Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似但功能更多。

proteus实例简单电路

proteus 实例简单电路

作者:日期:

个人收集整理,勿做商业用途 实例1:用Proteus 做简单仿真电路 操作步骤: 1.运行Proteus 2.按键盘的字母“ p”,或者点击左侧字母P,如下左图所示位置

会弹出选择元件的对话框,如上右图所示,在keywords 中输入battery,则在元件搜索结果中出现跟“battery ”有关的元 件,如下图所示 Battery,可以通过“ proteus 常用元件中英文对照表”查出,这是电池。 3.按照上述方法,依次在keywords中输入“ pot-hg”、“lamp”、“fuse”,添加 上述几个元器件。 其中fuse 需注意选择库为ACTIVE的那个。 选中第一个(对应的库Library 为ACTIVE的那个),双击它,则会在左侧对象列表中出现刚才选中的元件。

到此,在左侧对象列表中,添加了 4 种元件,如上右图 然后关闭选择元件对话框。 其中: BATTERY 是电池, FUSE 是保险丝, LAMP 是灯, POT-HG 是可变电阻。 4. 将各元件放置到原理图编辑窗口中 方法:在对象列表中左键单击选中 battery ,然后将鼠标移至编辑窗口中间位 置,点击鼠标左键,即可。 5. 用导线将各元件连接,组成电路 依次放置各元件,如下图所示 旋转方法:右键单击可变电阻 RV1,在弹出菜单中选中箭头所指选项

个人收集整理,勿做商业用途 方法:鼠标左键点击各元件端点处,拖动鼠标连接。得下图 6. 调整电池电压大小 方法:鼠标移至左侧电池的“ 12V ”位置,并双击鼠标左键,弹出属性编辑窗 口,将 12V 改为 24V ,确定。 完成原理图的绘制,可以通过工具条中的按钮放大或缩小视图 7. 开始仿真 点击屏幕左下角的“启动”按钮 可以看到电路运行效果。

关于如何使用Proteus和keil4联调0001

Flsof ihcet 1 ■ 5000. J OOQO Hi *★★*■**■占占** 攵口' 康丄 *********** 一、关于如何使用 Proteus 。软件下载地址:http:〃59.77.2.173/edown25/ Proteus 有点类似protel ,在本学期的单片机实验课中所起的作用主要是考虑到同学们只 利用上课时间在单片 机实验室编程时间比较紧,所以陈老师采用 Proteus 让大家可以自己先 做仿真,看看实验现象,关于Proteus 大家不用懂得太多,只要懂得如何用 Proteus 看现象及 与如何与Keil uVision4联调即可。 当然,软件要先安装好,并且是破解好的。否则会出错。 下面先讲讲如何用 Proteus 看实验现象。其实就是助教会在下一周实验前将 Proteus 电路 图画好,大家直接打开电路图,在 51芯片上双击出窗口导入.hex 文件(编译?成功asm 或.c 文件时会生成),然后点击运行即可观看现象。想要停止,点击停止就 0K 。以观察实验二 的例子为例。如图。打开.DSN 文件 I VPICi c n ~ |++1 I 卜 i i? i ii i ■ i □ LJ RBI 色中1尅" 3 0 IB 丈畔(D 查吾M 芻辑;[)二&口 谡计? 吐圍嵋两日 廁 ■: 「 、 '■ : ■ ■ fjjj 74UQJ? 74HC13S 74NC273 ATEQC51 ^FCLCC 0TNS1AL LECRED 上 DVEL.OkV FES [74HC02] ■士 * L I ■ ■ M km." ,必, ———; :::: : ■ :1 \_9—a 双击单片机芯片,出现对话框 tgotzd 出现如下界面。 用于控制界面大小等 £ * IM. 运行、停止

proteus7.8和keil4的安装说明及联调

Proteus 安装步骤 软件安装注意事项: 1、在安装前请确保系统的用户名是英文,中文的用户名可以安装,但无法仿真。 2、安装路径不要有中文,否则运行软件时,或许会出现自动退出现象。如果有安装完但打不开的现象,请用管理员身份或者兼容模式打开。 3、若安装有以前版本的Proteus,卸载后没有将注册表清理干净,会出现安装新版本License的时候自动用原来的License,没有显示No license,导致安装新版本后不能使用。 解决方法是手工删除注册表: 将低版本Proteus卸载后,在“开始”→“运行”中输入“regedit”,打开“HKEY_LOCAL_MACHINE\SOFTWARE”,找到“Labcenter Electronics”,把它删除后,在进行版本安装。 4、安装路径最好是默认安装,或者只更改盘符。 5、修改使用日期:用记事本打开“”文件,(记事本要全屏开)然后把第二行的日期“31/12/2009”修改为“31/12/2030”或更久就行了。要在安装之前修改。 6、先安装,再运行"Proteus Pro SP2破解"破解,最后汉化。汉化覆盖前注意备份原文件,如果汉化报错,就将“汉化报错.exe”复制到安装文件夹再运行。 7、汉化目录C:\Program Files\Labcenter Electronics\Proteus 7 Professional\BIN中的和二个文件。 8、你在运行LXK Proteus SP2破解后它默认的更新目录是C:\Program Files\Labcenter Electronics\Proteus 7 Professional ,出现 wrong folder selected(即所选的目录是错误的),如果是安装在C盘的话你只需把Program Files改成Program Files (x86)再点update(升级)就可以了,你要是安在其他盘如D盘的话就还应该把C改成D,其它盘也是一样的哦 安装过程如下: 1、解压Proteus 安装包: 2、双击

Proteus使用心得

Proteus使用心得 网络转载 1.英国Labcenter electronics公司开发,集电路原理图设计、仿真、制版于一体的EDA软件 2.可以设计和仿真模拟电路、数字电路、数模混合电路、MCU系统 3.目前对单片机系统的开发只能输入汇编语言,但是可以和keil联合调试,在keil中将c代码转换成汇编代码输入到proteus中仿真验证 4.proteus的两种仿真方法:电路动态仿真与图表仿真,动态仿真便于观察电路运行状况,图表仿真便于观察精确的电路细节 5.预览窗口的蓝色方框是可编辑区的缩略图,绿色方框是当前编辑区在屏幕内的可视部分,绿色方框会随屏幕变化 6.常见快捷键: F6--以数表当前位置为中心放大 F7--缩小 F8--放大到屏幕 R--刷新 P--选取元器件快速线标--A 7.proteus中的文件格式:.DSN是设计文件,包含一个设计的全部信息 .SEC 设计图的一部分,用于导入导出 .SDF电路生成的网表文件 8.安装路径下的library.pdf文件有当前软件支持的库列表 9.电路的连接是以grid为端点的,所以设计的时候最好显示grid,grid的间距越小那么电路连接越精确 10.连线过程中每左击鼠标一下则设置一个断点,按住ctrl后不以直线走线 11.电路原理图的设计过程:先取所有元件--摆好位置连接导线--重新命名和设置器件参数值--加上图表或者虚拟仪器仿真 12.proteus数字电路仿真的输入有两种: logicstate输入和数字信号源输入 proteus数字电路仿真的输出有两种: logicprobe输出和电压探针输出(只有电压探针能用于数字电路检测) 13.调试菜单中只有watch窗口能够和电路运行同时显示 14.二极管共阳组接低电平时才亮,共阴组接高电平才亮 15.总线以双击结束,相类似连接以双击完成(便于画导线组) 16.proteus中单片机开发过程:选择单片机类型(对应不同生成工具) 编制source程序 build all程序生成hex文件 将hex文件装载进单片机中仿真验证 17.示波器DC是直流演示,AC是包含直流偏置的交流演示 18.单片机模型包括实际模型和总线式模型(将PO和P2作为地址总线)两种 19.数字电路中显示反变量,命名时应该输入$Q$ 20.PAT快速线标法:快捷键A, net=P1# 21.库中有直接带BCD译码器的数码LED管 22.快速布线:类似的端口上双击,会自动按上一次的布线布线 23.总线与分线是按照名称对应的,区分字母大小写,如果名称没有对应,则总线不会连接各分线 总线名只需与分线名对应,无需与芯片端口名对应,所以做线标是需要做总线和分线线标 仿真以后,没有连通的线以灰点显示,高电平以红点显示,低电平以蓝点显

Keil与Proteus联调

下面的一到五步骤,是别人写,忘记来源了,在此引用,先感谢原作者。接下来的内容,是在实际联调中,我又发现一些注意点,不知是否是必然的规律,大家一块探讨,恳请指正!! 首先,你要下载安装这两个软件了。Proteus可以到官方网站(https://www.360docs.net/doc/2613820542.html,/)下载试用板(试用版无存盘功能),最新版本是6.5。Keil也可以到它的官方网站(https://www.360docs.net/doc/2613820542.html,)/去下载它的demo板(有2K代码限制),最新的版本是7.20。下载后就可以安装了。 第二步,安装完毕,把C:\Program Files\Labcenter Electronics\Proteus 6 Professional\MODELS\目录下的VDM51.dll文件复制到C:\Keil\C51\BIN文件夹下。(目录名都是默认的,你可以根据你实际安装的目录进行复制。) 第三步,用记事本(其它的编辑软件也可以,如Ultra Edit)打开Keil 根目录下的TOOLS.INI 文件,在[C51] 栏目下加入TDRV3=BIN\VDM51.DLL ("Proteus VSM Monitor-51 Driver" ) ,其中“TDRV3”中的“3”要根据实际情况写,不要和原来的重复。(我的这个文件中已经有了从TDRV1到TDRV4, 所以我用的是TDRV5) 第四步,keil的设置。为了让读者更好的了解这个过程,笔者以Proteus自带的例子来说明。把"C:\Program Files\Labcenter Electronics\Proteus 6 Professional\SAMPLES"的"8051 LCD Driver”文件夹复制到新建的Proteus文件夹下。运行keil程序,在"8051 LCD Driver"文件夹下建立一个新的名为8051 LCD Driver工程。单片机的型号选择AT89C52就可以,把LCDDEMO 文件加到"Source Group 1"组里。点击工具栏的"option for target"按钮,在出现的对话框里点击"Debug",在右栏上部的下拉菜单里选中" Proteus VSM Monitor-51 Driver",还要点击一下Use前面的小圆点。 再点击"Setting"设置通信接口,在Host后面添上"127.0.0.1",如果你是用的不是同一台电脑,在这里添上另一台电脑的IP地址(另一台电脑安装Proteus)。在Port后面添上"8000"。点击"OK"按钮即可。最后把工程编译一下。 第五步,Proteus的设置。运行Proteus的ISIS,鼠标左键点击菜单"DEBUG",选中"use romote debuger monitor"。下面我们用鼠标左键点击菜单"File",再点击"Load Design",导入"8051 LCD Driver"文件夹下的LCDDEMO.design文件。

用PROTEUS对单片机进行仿真的方法与实例

用PROTEUS对单片机进行仿真的方法与实例 Proteus软件是英国Labcenter Electronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB的设计;ISIS模块用来完成电路原理图的布图和仿真。它可以进行模拟电路仿真、数字电路仿真,也可以进行单片机及其外围电路组成的系统的仿真;软件提供了各种虚拟仪器,如示波器、逻辑分析仪、信号发生器、电压表、电流表等。和其它仿真软件相比,Proteus ISIS最大特色是对单片机系统的仿真,目前支持的单片机类型有:68000系列、8051系列、ARM系列、AVR系列、PIC系列、Z80系列、HC11系列等。本文主要介绍Proteus 软件在单片机方面的仿真功能,即ISIS模块的用法。 在单片机学习开发的过程中,程序的调试是一个很重要的环节,要安装电路进行实验,而且电路在调试过程中往往要进行调整和改变,这不紧增加了费用和难度,而且也影响了学习和开发的进度,这也成了一些初学者学习的障碍。如果使用Proteus 软件就可以大大节省时间和开发费用,可以在软件仿真通过后再制作印刷电路板进行电路实验。 一、Proteus ISIS软件的工作环境和一些基本使用方法 下面通过一个流水灯的实例来说明Proteus的基本使用方法,使用的软件版本是Proteus.Professional 7.1 SP2。

流水灯使用AT89C51单片机,用P2口作输出口。先在Keil uVision编译器中输入下列程序: #include <reg51.h> void Delay1ms(unsigned int count)//延时子程序 { unsigned int i,j; for(i=0;i<count;i++) for(j=0;j<120;j++); } main() //主程序 { unsigned char LEDIndex = 0; bit LEDDirection = 1; while(1) { if(LEDDirection) P2 = ~(0x01<<LEDIndex); else P2 = ~(0x80>>LEDIndex); if(LEDIndex==7) LEDDirection = !LEDDirection; LEDIndex = (LEDIndex+1)%8;

基于proteus的51单片机仿真实例六十

基于proteus的51单片机仿真实例五十九、1位数码管显示实例 1、数码管实际上是由7个发光二极管组成一个8字形,另外一个发光二极管做成圆点型,这样就构成了一个数码管。所有的8个二级管的正极或者负极都连到一个公共端点上,对于公共端连在正极的数码管,称为共阳极数码管,反之称为共阴极数码管。 根据数码管的内部结构原理,可以很清楚的知道数码管显示数字的原理。 2、由于单片机的IO口的驱动能力有限,而数码管点亮时需要较大的电流,所以在用单片机构成数码管显示系统时,需要增加驱动电路,最简单的驱动电路就是利用三极管的电流放大能力来输出较大的电流, 3、让数码管显示数字的步骤为: 1)使数码管的公共端连到电源(共阳极)或者地(共阴极)上。 2)向数码管的各个段输出不同的电平。 本例使用单个数码管循环显示0-9这10个数字。 4、在keil c51中新建工程ex47,编写如下程序代码,编译并生成ex47.hex文件 #include //包含头文件 //延时函数,延时约200ms void delay(void) { unsigned char i,j; for(i = 0; i < 255;i++) { for(j = 0;j < 255;j++); } } //主函数 void main(void) {

unsigned char i; unsigned char code Tab[10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x82,0xf8,0x80,0x90}; //定义数字0-9的段码表 P2 = 0xfe; //P2.0输出低电平,数码管电源导通 while(1) { for(i = 0;i < 10;i++) //循环10次。数码管循环显示数字0-9 { P0 = Tab[i]; //P0口输出数字0-9对应的段码 delay(); //延时 } } } 5、在proteus中新建仿真文件ex47.dsn,电路原理图如下所示: 需要说明的是在proteus中,查找排阻(不带公共端)和数码管的方法。 查询数码管元件时,输入关键字“7seg-com..”后,就可以看到各种数码管的电路符号。根据需要选择相应数码管即可。排阻的查找方法:查找带公共端的排阻时,输入关键字“respack”即可。 不带公共端的排阻,输入关键字“RX8”即可

proteus自制元件实例

自制元件例一- CSI24WC02 CSI24WC02是串行E2PROM,兼容400 kHz I2C 总线控制。一个元件可以只实现绘图模型或电气模型,也可以电气和绘图模型都实现。该例子我们只实现绘图模型。 详细信息见帮助的Styles :Component creation或Styes: Component creation部分。 管脚描述 CSI24WCXX系列E2PROM提供标准的8脚DIP封装和8脚表面安装的SOIC封装。 其管脚功能描述如下: ●SCL 串行时钟 这是一个输入管脚用于产生器件所有数据发送或接收的时钟 ●SDA串行数据/地址 这是一个双向传输端用于传送地址和所有数据的发送或接收它是一个漏极开路端 因此要求接一个上拉电到Vcc 端典型值为100KHz 是为10K 400KHz 时为1K 对 于一般的数据传输仅在SCL为低期间SDA才允许变化在SCL为高期间变化留给 指示START开始和STOP停止条件 ●A0 A1 A2 器件地址输入端 这些输入端用于多个器件级联时设置器件地址当这些脚悬空时默认值为0 CSI24WC01 除外 ●WP 写保护 如果WP管脚连接到Vcc所有的内容都被写保护只能读当WP 管脚连接到Vss或悬空允许器件进行正常的读/写操作 绘制元件 ●单击2D Graphics Box Mode > COMPONENT,画一个框。 ●单击Device Pins Mode > DEFAULT,画管脚。 ●右击引脚> Edit Properties,输入管脚名称,例如A0;输入默认管脚号,例如1, 确定。 ●选择所设计的图形(翻红)> Library > Make Device…,在Device Name中输入器 件名,例如CSI24WC02;在Reference Prefix中输入引用前缀(放置器件时的默认

keil与proteus联调

下面说一下如何在keil中调用proteus进行MCU外围器件的仿真 吧! 1、安装keil c51 v7.20 与proteus 6.7(废话!) 2、把proteus安装目录下VDM51.dll(搜一下吧)文件复制到Keil 安装目录的\C51\BIN目录中。 3、修改keil安装目录下Tools.ini文件,在C51字段加入 TDRV5=BIN\VDM51.DLL ("Proteus VSM Monitor-51 Driver"),保存注意:不一定要用TDRV5,根据原来字段选用一个不重复的数值 就可以了。 4、打开proteus,画出相应电路(这个自己摸索吧。注意:proteus 中mouse的左右键与一般程序是相反 的样子)。在proteus的debug菜单中选中use remote debug monitor 5、在keil中编写MCU的程序(keil不会,那先学学吧,比medwin 难学些哦!)。 6、进入KEIL的project菜单option for target '工程名'。在DEBUG 选项中右栏上部的下拉菜选中

Proteus VSM Monitor-51 Driver。 在进入seting,如果同一台机IP 名为127.0.0.1,如不是同一台机则 填另一台的IP地址。端口号一 定为8000 注意:可以在一台机器上运行keil,另一台中运行 proteus进行远程仿真哦~ 7、在keil中进行debug吧,同时在proteus中查看直观的结果(如 LCD显示...) 8、就是以上这么多了。在初用proteus时,可以试试其example吧。

关于如何使用Proteus和keil4联调

一、关于如何使用Proteus。软件下载地址:59.77.2.173/edown25/ Proteus有点类似protel,在本学期的单片机实验课中所起的作用主要是考虑到同学们只利用上课时间在单片机实验室编程时间比较紧,所以老师采用Proteus让大家可以自己先做仿真,看看实验现象,关于Proteus大家不用懂得太多,只要懂得如何用Proteus看现象及与如何与Keil uVision4联调即可。 当然,软件要先安装好,并且是破解好的。否则会出错。 下面先讲讲如何用Proteus看实验现象。其实就是助教会在下一周实验前将Proteus 电路图画好,大家直接打开电路图,在51芯片上双击出窗口导入.hex文件(编译.成功asm 或.c文件时会生成),然后点击运行即可观看现象。想要停止,点击停止就OK。以观察实验二的例子为例。如图。打开.DSN文件 出现如下界面。 运行、停止 用于控制界面大小等 双击单片机芯片,出现对话框

双击单片机芯片,出现对话框 此处导入同文件夹下的.hex文件 点击运行或者停止即可观察实验室现象。 二、如何使用Keil uVision4与Proteus联调。 打开Keil uVision4 。如下图所示。

1、菜单栏的project菜单下新建一个工程。 2、保存工程名称后,出现如下菜单。

选择Atmel下的AT89C51,点击OK后在跳出来的菜单后点击“否”。 3、在生成的新工程的“Target1”上点鼠标右键,菜单上选择“Option for Target Target1”。出现如下对话框。

Output框下将“Create HEX file”前打钩,使得在编译成功后能生成.hex文件,用于在Proteus中作仿真,也是用于烧录的。 Debug框将“Use:Proteus VSM Simulator”选择,如下图显示: 注意,在设置“debug”前要将keil与Proteus的联调软件安装好!

Keil与Proteus联调ARM举例

Keil与Proteus联调ARM举例 学习ARM最基本的是能够让系统跑起来,起码能跑到main函数,控制一个GPIO。如此一来点亮一盏LED灯就是入门操作了。 1. 建立Keil工程 Open Keil -> File -> New -> Project -> NXP -> LPC2131 第一步可以用Keil自带的Startup.s来学习 在工程配置里面勾上产生HEX文件,便于Proteus仿真用

同时选择Debug为Proteus,这样就可让Proteus和Keil联调了。 下面开始画Proteus电路图如下: Proteus基本电路图很简单,基本上只要电源、接地接对了就可以跑了。

这样设置就可以让Keil和Proteus联调了 接下来就是写ARM的Code,由于我们用来Keil默认的Startup.s,所以第一步先不碰可怕的汇编。 像写PC程序一样写个main函数如下: int main(void) { while(1); } 编译通过,产生Hex文件,用如下方式让Proteus的ARM连接上Keil编译的HEX程序

这样Proteus就设定了ARM的程序输入的HEX文件 到这里就可用Keil和Proteus联调debug,虽然代码只有while(1),但是可以调试的。 接下来就是如何通过控制GPIO来点亮LED灯了。 了解2131控制GPIO有如下步骤: 1. 设置PIN的功能选择为GPIO 2. 设置PIN的输出方向 3. 设置PIN输出的电平1/0 对应程序如下: // arm2131 ledon projec main function #define vWriteReg(addr, val) (*((volatile unsigned long *)(addr)) = (val)) #define dReadReg(addr) (*((volatile unsigned long *)(addr))) #define vWriteRegMask(addr, mask, val) vWriteReg(addr, dReadReg(addr) & (~(mask)) | (val&(mask))) #define REG_BASE (0xE0000000) #define REG_PIN0_SEL (REG_BASE + 0x2C000) #define RET_IO0_ST (REG_BASE + 0x28000) #define REG_IO0_SET (REG_BASE + 0x28004) #define REG_IO0_DIR (REG_BASE + 0x28008) #define REG_IO0_CLR (REG_BASE + 0x2800C)

相关文档
最新文档