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

合集下载

在proteus中仿真MSP430单片机的设置方法

在proteus中仿真MSP430单片机的设置方法

要使用PROTEUS仿真MSP430单片机,首先要用IAR生成hex文件
在有些场合需要生成.hex文件,因此,这单介绍在IAR中如何生成.hex文件。

生成方法:
在Options窗口的日录Category中选择第六项Linker。

在Output选项中,选中Format复选框的Other,然后在Output下拉菜单中选择msd-i,如图5.1所示。

注意:在选择了Format复选框的Other后,在C-SPY调试器下的。

Debug information for C-SPY的调试信息不可用,在这里只生成了.hex的输出文件。

在Output下选择msd-i还会生成第二输出文件.sym文件,如果需要生成其它输出文件,则可以选择Output下的其它选项。

其选项内容的解释可以参见“C:\ Program Files\IAR Systems\Embedded Workbench 4.0Kickstart\common\doc”下的xlink.ENU.pdf文档。

生成结果
生成的.hex文件在工程的Debug\Exe下,如图5.2所示
这样加载到PROTEUS里就可以了。

基于Protues软件的单片机软硬件仿真实验

基于Protues软件的单片机软硬件仿真实验
题 。如英 国 L b e t 公 司推 出 的 Po e 软 件采 用虚 拟技 术解决 了单片机 及 其外 围 电路 的设 计 和协 同 a c ne r rt s u 仿 真 的问题 ,无 需硬 件 实验 平 台 ,利 用个 人 计 算机 进 行单 片 机软 硬 件 同步 仿 真 ,仿 真 结 果 可直 接 运 用 于真 实设 计 ,优 点不 言 而喻 。下 面 以 L D流水 广告 灯实 验 为例谈 谈 单 片机 教学 中如何 利 用 Po e E rt s u 进 行 单 片机 软硬件 仿 真 。

9 ・ 6
最后 单击 仿 真 工具 栏 中全 速运 行 按 钮便 可 进 行 虚拟 仿 真 ( 图 1 ) 见 0 。可 以看 到 L D灯 按 程序 的 E 要 求循 环 闪亮 ,可 以随时 修改 程序 观察 L D灯显 示 的变化 。 E
图 1 全 速仿 真 0
3 结 束 语
T ANG Xi o h i a - u ,W E i g p n IP n — i g
( co l f te t sa dC mp tr ce c , uzo om l o ee G iag G i o 5 0 1 , hn ) S h o o h ma c n o ue in e G i uN r a l g , uyn , uz u 5 0 8 C ia Ma i S h C l h
21 0 2年 第 8期 第 3 O卷 ( 第 15期 ) 总 4
毕 节 学 院 学

J OURN lE UNI AL OFBi VER I l STY
NO. 2 1 8, 0 2 Vo . 0 1 3 Ge e a .4 n r lNo 1 5
基于 P oue r t s软件 的单片机软硬件仿真 实验

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

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

基于proteus的51单片机仿真实例六十基于proteus的51单片机仿真实例五十九、1位数码管显示实例1、数码管实际上是由7个发光二极管组成一个8字形,另外一个发光二极管做成圆点型,这样就构成了一个数码管。

所有的8个二级管的负极或者负极都插进一个公共端点上,对于公共端的连在负极的数码管,称作共阳极数码管,反之称作共阴极数码管。

根据数码管的内部结构原理,可以很清楚的知道数码管显示数字的原理。

2、由于单片机的io口的驱动能力非常有限,而数码管照亮时须要很大的电流,所以在用单片机形成数码管表明系统时,须要减少驱动电路,最简单的驱动电路就是利用三极管的电流放大能力来输出较大的电流,3、使数码管表明数字的步骤为:1)使数码管的公共端连到电源(共阳极)或者地(共阴极)上。

2)向数码管的各个段输入相同的电平。

本例使用单个数码管循环显示0-9这10个数字。

4、在keilc51中新建工程ex47,撰写如下程序代码,编程并分解成ex47.hex文件#include//包含头文件//延时函数,延时约200msvoiddelay(void){unsignedchari,j;for(i=0;i<255;i++){for(j=0;j<255;j++);}}//主函数voidmain(void){unsignedchari;unsignedcharcodetab[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中,搜寻排阻(不拎公共端的)和数码管的方法。

基于proteus的51单片机仿真实例九、51单片机的最小工作系统

基于proteus的51单片机仿真实例九、51单片机的最小工作系统

基于proteus的51单片机仿真实例九、51单片机的最小工作系统1、前面我们已经利用proteus和keil c51建立了第一个仿真实例,并通过仿真运行验证了我们的实例的正确性。

现在我们已经了解了proteus和keil c51的基本操作。

2、但是毕竟是初学单片机,对于我们前面编写的程序所实现的功能可就是一头雾水,不知所云了。

那么接下来我们就了解一下51单片机的知识吧3、先来简单说说怎么学习单片机。

前面已经说过,单片机是一种软件和硬件紧密结合的技术,对于一个单片机应用系统来说,硬件电路是单片机系统运行的基础和保障,软件程序是单片机系统的灵魂。

相对于人来说,人的身体、四肢是一个硬件系统,大脑就是软件系统,只有通过大脑发出指令,身体的各个部分才会做出相应的动作,但是如果手被绑住了,大脑即使发出让手去拿一个杯子的指令,手也无法完成这个指令。

所以软件和硬件需要相互结合才能够去完成一项任务。

1)就像我们新买了一台电视机一样,买回来后我们会首先了解一下这个电视机的功能特点,看一下遥控器的说明书,给电视机加上电源和天线(或有线电视信号线),然后按照说明书的使用方法来一步一步熟悉和操作电视机。

单片机的学习也一样,我们接触到一种单片机后,首先要了解这种单片机的功能和性能特点,然后才能进行相应的开发设计。

怎么来了解一种单片机呢?单片机厂家提供的数据手册是第一手也是最准确的资料。

但是很多数据手册是英文的,对于我们很多人来说,看起来会比较吃力。

不过幸运的是,现在很多资料都已经被翻译过来了。

我们到网上搜索一下,会搜索到很多的中文数据手册和应用实例,所以网络现在已经成为我们学习的一个非常重要的工具和平台了。

2)单片机的结构是十分复杂的,我们打开一个单片机的数据手册,会发现前面里面到处充斥着结构图和理论知识的介绍,相信对于一个新手来说,看数据手册不到10分钟就想放弃。

但是很多人说,这些是最基础的,必须要理解和掌握。

确实,这些东西我们必须精通,但是是不是一开始就要完全精通这些呢?大可不必。

实验一:单片机仿真初步(二)-Proteus的使用

实验一:单片机仿真初步(二)-Proteus的使用

实验一:单片机仿真初步(二)-Proteus的使用用来仿真的单片机电路,如下图所示:电路的核心是单片机A T89C52,晶振X1和电容C1、C2构成单片机时钟电路,单片机的P1口接8个发光二极管,二极管的阳极通过限流电阻接到电源的正极。

特别注意:下面文中所有值为1K的电阻都修正成100 可以考虑把红色发光二极管换成黄色发光二极管一、新建一个设计。

单击“File”中“New Design……”,在Proteus中打开了一个空白的新电路图纸。

二、将需要用到的元器件加载到对象选择器窗口。

单击对象选择器按钮如图所示:弹出“Pick Devices”对话框,在“Category”下面找到“Mircoprocessor ICs”选项,鼠标左键点击一下,在对话框的右侧,我们会发现这里有大量常见的各种型号的单片机。

找到AT89C52,双击“AT89C52”。

这样在左侧的对象选择器就有了A T89C52这个元件了。

如果知道元件的名称或者型号我们可以在“Keywords”输入AT89C52,系统在对象库中进行搜索查找,并将搜索结果显示在“Results”中,如下图所示:在“Results”的列表中,双击“A T89C52”即可将AT89C52加载到对象选择器窗口内。

晶振CRY:无极性电容CAP:有极性电容CAP POL:红色发光二极管LED-RED:电阻RES经过前面的操作我们已经将A T98C52、晶振等元件加载到了对象选择器窗口内。

在对象选择器窗口内鼠标左键点击“AT89C52”会发现在预览窗口看到AT89C52的实物图,且绘图工具栏中的元器件按钮处于选中状态。

我们在点击“CRYSTAL”、“LED-RED”也能看到对应的实物图,按钮也处于选中状态,如图所示:三、将元器件放置到图形编辑窗口。

在对象选择器窗口内,选中A T89C52,如果元器件的方向不符合要求可使用预览对象方向控制按钮进行操作。

如用按钮对元器件进行顺时针旋转,用按钮对元器件进行逆时针旋转,用按钮对元器件进行左右反转,用按钮对元器件进行上下反转。

单片机c语言程序设计实例100例--基于805i+proteus仿真

单片机c语言程序设计实例100例--基于805i+proteus仿真

以下是一个基于8051单片机和Proteus仿真环境的C语言程序设计实例:实例1:点亮LED灯
在这个例子中,我们将使用C语言编写一个简单的程序来控制8051单片机的一个I/O引脚,使其驱动一个LED灯。

c代码:
要使用Proteus进行仿真,你需要按照以下步骤操作:
1. 打开Proteus软件,创建一个新的设计工程。

2. 在元件库中搜索并添加相应的8051单片机型号(如AT89C51)和LED 元件到工作区。

3. 根据实际硬件连接,正确配置单片机的引脚和LED的连接。

4. 右键单击单片机元件,选择“Edit Component”打开编辑窗口。

5. 在“Program File(s)”区域,点击右侧的浏览按钮,选择你的C语言源文件(如上述的main.c)。

6. 点击“OK”关闭编辑窗口,然后点击工具栏上的“Play”按钮开始仿真。

在仿真过程中,你应该能看到LED灯被点亮,这表明你的C语言程序已经在Proteus环境中成功运行。

以上只是一个基础的例子,实际的"单片机C语言程序设计实例100例--基于8051+Proteus仿真"会包含更复杂和多样化的应用场景,包括定时器/计数器
应用、中断处理、串口通信、ADC/DAC转换、液晶显示等等。

每个实例都会详细介绍程序设计思路、代码实现以及如何在Proteus中进行仿真调试。

通过这些实例的学习和实践,你可以逐步掌握8051单片机的C语言编程技巧和Proteus仿真环境的使用方法。

基于Proteus的Arduino单片机仿真设计实践

基于Proteus的Arduino单片机仿真设计实践

• 19•研究了在Proteus 8.5电路仿真平台上进行Arduino单片机仿真设计的四种方法,并通过具体实例介绍了仿真中需要注意的问题。

其中两种方法是在Proteus中设计好仿真电路后,加载运行已有的HEX程序文件。

另外两种方法是在Proteus的同一个工程中实现电路的仿真设计和控制程序编写。

仿真电路中采用的Arduino单片机模型分原理图模块和仿真元件两种。

控制程序编写有C语言和可视化两种方式。

Proteus8.5具有仿真多款Arduino 单片机的功能,其中包括了Arduino Nano 3.x 、Arduino Nano 2.x 、Arduino Mega 2560、Arduino 328、Arduino 168以及Arduino UNO 等。

如果我们手头有一款Arduino UNO R3开发板用于学习单片机控制系统开发,那么结合Proteus 的Arduino 单片机仿真技术,可以帮助我们更快、更好地掌握Arduino 单片机开发技术。

下面以Arduino 328或Arduino UNO 为例介绍在Proteus 8.5中进行Arduino 单片机仿真设计的方法,并结合具体仿真实例介绍仿真中需要注意的问题(伍冯洁,Proteus 与Arduino 的整合在单片机系统开发中的应用:电子世界,2013)。

1 在Proteus8.5中进行Arduino单片机仿真设计的方法1.1 基于开发板或者固件创建项目如果想要直接在Proteus8.5中采用C 语言编写控制程序,并进行程序的编译和仿真运行,可以基于开发板或者固件创建仿真设计项目。

基于开发板创建仿真项目的方法是:选择File 菜单或者快捷工具栏中的New Project 命令,在New Project Wizard 窗口中选择From Development Board 选项,然后在出现的Development Board 列表中选择Arduino 328,设置好项目文件名称和保存路径后点击Finish 按钮,就创建了一个基于Arduino 328开发板的仿真设计项目。

Proteus单片机仿真实验内容

Proteus单片机仿真实验内容

实验1 PROTUES环境及LED闪烁实验1.实验任务做一个闪烁灯:在P1.0端口上接一个发光二极管D1,使D1在不停地一亮一灭,一亮一灭的时间间隔为0.2秒,重复循环。

2.电路原理图3.程序设计内容(1)延时程序的设计方法作为单片机的指令的执行的时间是很短,数量大多是微秒级。

实验要求的闪烁时间间隔为0.2秒,所以在执行某一指令时,需要插入延时程序,来达到实验的要求。

延时子程序如下:DELAY: MOV R5, #20D1: MOV R6, #20D2: MOV R7, #248DJNZ R7, $DJNZ R6, D2DJNZ R5, D1RET(2)输出控制如上图所示,当P1.0端口输出高电平,即P1.0=1时,根据发光二极管的单向导电性可知,这时发光二极管L1熄灭;当P1.0端口输出低电平,即P1.0=0时,发光二极管L1亮;我们可以使用SETB P1.0指令使P1.0端口输出高电平,使用CLR P1.0指令使P1.0端口输出低电平。

实验2 外部中断实验1.实验任务设计一个交通灯正常工作程序,并在有意外情况发生的情况下,能自动中断进入到中断服务程序运行,进行紧急事故处理,处理完成后能回到正常工作程序继续运行。

如原理图所示,P1接一位数码管用于显示时间,P2端口接东西方向和南北方向红绿灯,P3.2接一个按钮用于模拟一个外部中断源,当正常工作时,东西方向绿灯亮8秒,然后南北方向绿灯亮9秒;当模拟中断源发出中断信号时,东西和南北红灯亮5秒后返回正常工作程序。

(注:这里数码管选用了共阳极的数码管)数码管的段选码如下表所示:2.电路原理图3.程序设计内容(1)从proteus库中选取元器件:单片机AT89C51、磁片电容CAP、电解电容CAP-ELEC,晶振CRYSTAL、电阻RES、数码管7SEG-COM-CAT-GRN,按钮BUTTON,发光二极管等。

(2)设计延时程序。

实验3 T0波形发生器实验1.实验任务(1)首先用AT89C51单片机定时器/计数器0的定时功能构成一方波发生器,实现周期为400us的方波输出,如图所示,P3.5,p3.7是两个波形输出端,分别输出反相波形,两路波形输入虚拟示波器的A通道和B通道,用示波器观察方波的周期是否是400us。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用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 &lt;reg51.h&gt;
void Delay1ms(unsigned int count)//延时子程序
{
unsigned int i,j;
for(i=0;i&lt;count;i++)
for(j=0;j&lt;120;j++);
}
main() //主程序
{
unsigned char LEDIndex = 0;
bit LEDDirection = 1;
while(1)
{
if(LEDDirection)
P2 = ~(0x01&lt;&lt;LEDIndex);
else
P2 = ~(0x80&gt;&gt;LEDIndex);
if(LEDIndex==7)
LEDDirection = !LEDDirection;
LEDIndex = (LEDIndex+1)%8;
Delay1ms(200);
}
}
将上述程序编译生成目标文件LED.hex。

然后按下列步骤进行:
1. 运行Proteus 7 Professional(ISIS 7 Professional)
出现如图1所示的界面:
这是一种标准的Windows界面,包括标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。

2.添加元件到对象选择器元件列表中
单击绘图工具栏中的按钮,再单击对象选择按钮P,出现挑选元件对话框,见图2。

按表1添加本例所用的元件。

表1
名称
元件
种类(Category)
子种类(Sub-category)单片机
AT89C51 Microprocessor ICs 8051 Family
按钮开关
BUTTON
Switches &amp; Relays Switches
电容器CAP Capacitors Generic
电解电容器CAP-ELEC Capacitors Generic
电阻器RES
Resistors Generic
发光二极管LED-RED Optoelectronics LEDs
晶振CRYSTAL Miscellaneous。

相关文档
最新文档