搜档网
当前位置:搜档网 › 流水灯(电路和汇编)-Proteus和Keil仿真演示实例

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

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

示例要求:

在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所示。

在元件选择对话框的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 仿真结果图

第2篇:Keil软件编程

1、运行KEIL51软件,出现图1所示KEIL 51主界面。

图1 KEIL 51主界面

首先用Project菜单下的New Project命令建立项目文件,过程如下:

(1)选择Project菜单下的New Project命令,弹出如图2所示的Create new Project对话框。

(2)在Create New Project对话框中选择新建项目文件的位置(与PROTEUS电路图文件同一个文件夹下E:\projectio),输入新建项目文件的名称,例如,项目文件名为shili,单击【保存】按钮将弹出如图3所示的Select Device for Target ‘Target 1’对话框,用户可以根据使用情况选择单片机型号。Keil uVision2 IDE几乎支持所有的51核心的单片机,并以列表的形式给出。选中芯片后,在右边的描述框中将同时显示选中的芯片的相关信息以供用户参考。

图2 Create New Project对话框

图3 Select Device for Target ‘Target 1’对话框

(3)这里选择atmel公司的AT89c51。单击【确定】按钮,这时弹出如图4所示的Copy Standard 8051 Startup Code to Project Folder and Add File to Project确认框,C语言开发选择【是】,汇编语言开发选择【否】。单击后,项目文件就创建好了。项目文件创建后,在主界面的左侧的项目窗口可以看到项目文件的内容。这时只有

一个框架,紧接着需向项目文件中添加程序文件内容。

2、给项目添加程序文件

当项目文件建立好后,就可以给项目文件加入程序文件了,Keil uVision2支持C语言程序,也支持汇编语

言程序。这些程序文件可以是已经建立好了的程序文件,也可以是新建的程序文件,这里我们新建的汇编程序文件后再添加。

(1) 选择文件菜单上的new命令,出现新建文本窗口,如图5所示。

图5 新建文本窗口

在文本编辑窗口中输入程序。存盘,假设文件名为chengxu.asm。注意汇编程序文件扩展名为.asm,这时默认路径为工程文件夹。参考程序如下:

ORG 0000H

LJMP MAIN

ORG 0100H

MAIN: MOV A, #01H

LOOP: MOV P2, A

LCALL DELAY

RL A

SJMP LOOP

SJMP $

DELAY: MOV R2, #0FFH

DELAY1: MOV R3, #0FFH

DJNZ R3, $

DJNZ R2, DELAY1

RET

END

(2)添加文件到项目中。在项目管理器窗口中,展开Target1项,可以看到Source Group1子项。右击Source Group1,在出现菜单中选择Add Files to Group ‘Source Group1’命令。出现添加文件的窗口,加程序chengxu.asm 如到项目中。如图6所示。注意文件类型要选择为*.a*。

图6 添加程序文件到项目

3、编译、连接项目,形成目标文件

当把程序文件添加到项目文件中,并且程序文件已经建立好存盘后,就可以进行编译、连接,形成HEX 目标文件(只在keil 51中软件仿真可以不形成目标文件)。

(1)选择Project菜单下的Built Target命令(或快捷键F7) 编译、连接当前项目,编译、连接时,如果程序有错,则编译不成功,并在下面的信息窗口给出相应的出错提示信息,以便用户进行修改,修改后再编译、连接,这个过程可能会重复多次。如果没有错误,则编译、连接成功,并且在信息窗口给出提示信息。如图7所示。

图7 编译、连接后的显示图

(2)如果要做硬件下载可硬件仿真,则要形成HEX目标文件,须先对输出选项进行相应的设置,设置后再进行编译连接。方法如下:右击项目管理器窗口的Target1项,在右键菜单中选择下面的Options for Target ‘Target 1’命令,在Options for Target ‘Target 1’对话框选择Output选项卡,在该选项卡选中Create HEX File选

项,选择生成HEX文件,然后按(1)操作进行编译连接。如图8所示。

图8 Options for Target ‘Target 1’ 对话框

4、运行调试观察结果(本示例不需要的步骤)

当项目编译、连接成功后,就可以运行它来观察结果。

先用Debug菜单下的Start/Stop Debug Session命令(快捷键Ctrl+F5)启动调试过程,启动后可用Debug菜单下Go连续运行命令、Step单步运行、Stop running停止运行命令等运行程序观察结果。

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和KeilC课后答案复习题解答.doc

第 2 章 MCS-51 单片机结构及原理习题 1. MSC- 51 单片机部由哪些功能部件组成,各有什么功能? 答:以 80C51 单片机为例,其部功能部件有: 控制器:是对取自程序存储器中的指令进行译码,在规定的时刻发出各种操作所需的控制信 号,完成指令所规定的功能; 运算器:根据控制器发来的信号,执行算术逻辑运算操作; 存储器:包括程序存储和数据存储器; 定时器计数器: 2 个 16 位定时器 / 计数器,可对机器周期计数,也可对外部输入脉冲计数; 中断系统:可响应三个部中断源和两个外部中断源的中断请求;输入输出接口: 4 个 8 位并行 口和一个全双工串行口; 2. MSC- 51 单片机外部引脚的名称是什么?各有什么功能? 答: (1)电源及晶振引脚 VCC(40 脚 ) : +5V 电源引脚 VSS(20 脚 ) :接地引脚 XTAL1(19 脚 ) ;外接晶振引脚(置放大器输入端) XTAL2(18 脚 ) :外接晶振引脚(置放大器输出端) (2)控制引脚 RST/VPD(9)为复位 /备用电源引脚 ALE/PROG(30)为地址锁存使能输出/编程脉冲输入 PSEN(29):输出访问片外程序存储器读选通信号 EA/ VPP (31):外部ROM允许访问/编程电源输入 (3)并行 I/O 口引脚 P0.0 ~ P0.7 ( 39~ 32 脚)—— P0 口; P1.0 ~ P1.7 ( 1~ 8 脚)—— P1 口; P2.0 ~ P2.7 ( 21~ 28 脚)—— P2 口; P3.0 ~ P3.7 ( 10~ 17 脚)—— P3 口。 3. 51 系列单片机的封装有哪些类型?请说明每一种封装引脚之间的距离。 答: 51 系列单片机的封装有: 40 引脚双列直插封装( DIP—— dual in-line package ),引脚之间的距离是 100mil(2.54mm) ; 44 引脚方形扁平封装( QFP —— quad flat package )方式,引脚之间的距离是 2.54mm;44 引脚带引线的塑料芯片载体PLCC(Plastic Leaded Chip Carrier) 。 4.什么是复位?单片机复位电路有哪几种,工作原理分别是什么? 答:复位——使单片机恢复原始默认状态的操作。 单片机复位电路有: 上电复位电路,由电阻和电容构成,通过上电时,电容相当于短路而使 复位引脚在晶振有效的情况下保持 2 个机器周期的高电平;按钮开关复位电路,由两个电阻

流水灯(电路和汇编)-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和Keil_C 林立_张俊亮毕业论文

第一章习题 1.什么是单片机?单片机和通用微机相比有何特点? 答:单片机又称为单片微计算机,它的结构特点是将微型计算机的基本功能部件(如中央处理器(CPU)、存储器、输入接口、输出接口、定时计数器及终端系统等)全部集成在一个半导体芯片上。虽然单片机只是一个芯片,但无论从组成还是从逻辑功能上来看,都具有微机系统的定义。与通用的微型计算机相比,单片机体积小巧,可以嵌入到应用系统中作为指挥决策中心,是应用系统实现智能化。 2.单片机的发展有哪几个阶段?8位单片机会不会过时,为什么? 答:单片机诞生于1971年,经历了SCM、MCU、SOC三大阶段,早期的SCM 单片机都是8位或4位的。其中最成功的是INTEL的8031,此后在8031上发展出了MCS51系列MCU系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。然而,由于各应用领域大量需要的仍是8位单片机,因此各大公司纷纷推出高性能、大容量、多功能的新型8位单片机。 目前,单片机正朝着高性能和多品种发展,但由于MCS-51系列8位单片机仍能满足绝大多数应用领域的需要,可以肯定,以MCS-51系列为主的8位单片机,在当前及以后的相当一段时间内仍将占据单片机应用的主导地位。

3.举例说明单片机的主要应用领域。 答:单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:智能仪器单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、电流、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(电压表、功率计,示波器,各种分析仪)。 工业控制 单片机具有体积小、控制功能强、功耗低、环境适应能力强、扩展灵活和使用方便等优点,用单片机可以构成形式多样的控制系统、数据采集系统、通信系统、信号检测系统、无线感知系统、测控系统、机器人等应用控制系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。家用电器现在的家用电器广泛采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备和白色家电等。 网络和通信 现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。医用设备领域

[整理版]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); }

基于Proteus和_Keil的串行通信系统仿真

聊城大学 本科生毕业论文(设计)题目:基于Proteus和keil的串行通信 系统仿真 专业代码:交通运输(081201) 作者姓名:管国阳 学号: 单位:汽车与交通工程学院 指导教师: 2012年5月19日

原创性声明 本人郑重声明:所提交的学位论文是本人在导师指导下,独立进行研究取得的成果。除文中已经注明引用的内容外,论文中不含其他人已经发表或撰写过的研究成果,也不包含为获得聊城大学或其他教育机构的学位证书而使用过的材料。对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式标明。本人承担本声明的相应责任。 学位论文作者签名:日期 指导教师签名: 日期

摘要 本文主要是基于I2C技术,应用proteus和keil软件,设计虚拟I2C总线串行通信外围扩展。介绍了I2C串行通信的基本原理,I2C总线设计系统的优点,虚拟I2C总线技术,I2C总线与E2PROM,ADC/DAC,I/O接口等外围器件接线方法,时序,及其寻址方法。 关键词:I2C总线技术;串行通信;I2C总线虚拟技术;串行外围扩

Abstract This article is based on I2C technology, application Proteus keil software, designing virtual I2C bus serial communications peripherals expansion. It has Introduced the basic principles of I2C serial communication, Design of I2C bus system,virtual I2C bus, I2C bus and E2PROM, ADC / DAC, I / O ports and other peripheral device connection method, timing, and addressing methods. Key Words: I2C bus technology; serial communication; I2C bus virtual technology; serial peripheral expansion

创建基于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拥有的数字元件,提供的服务:访问数字系统的变量,创建回调函数和挂起仿真。

基于proteus和keil的单片机课程设计

2008年10fl 第5期(总第70期) 济南职业学院学报 JournalnfJinanVocationalCoRege Om.2008 No.5(SerialⅣ仉70) 基于Proteus和Keilfl匀单片机课程设计 宫亚梅 (常州信息职业技术学院机电工程系,江苏常州213164) 摘要:本文介.绍TProteus和Keil的功能特点,结合步进电机正反转实例,详细给出了两种软件在单片机课程设计中的具体应用。 关键词:Proteus;Keil;单片机;设计 中图分类号:TP391文献标识码:A文章编号:1673—4270(2008J05—0112—02 单片机应用技术是电类专业的一门重要课程,也是理论和实践结合性很强的一门课程,所以课程设计环节尤为萤要。课程设计环节的任务和目的是让每个学生亲自参与到其中的设计细节,提高单片机开发的能力。考虑到目前实验器材允设计过程中容易造成器件和仪器仪表的损坏,以及离开实验室学生得不到充分的锻炼,从而借助于Proteus和Keil进行课程设讯实践证明,这样可以很好地解决上述问题,节省设计成本,提高设计速度。 1Proteus和Keil简介 1.1Proteus简介 Proteus是一个完整的嵌入式系统软、硬件设计仿真平台,它包括原理图输入系统ISIS、带扩展的Prospice混合模型仿真器、动态器件库、高级图形分析模块和处理器虚拟系统仿真模型VSM。ISIS是Proteus系统的中心,具有超强的控制原理图设计环境。ProteusVSM最重要的特点是,它能把微处理器软件作用在处理器上,并和该处理器的任何模拟和数字器件协同仿真。仿真执行目标码就像在真正的单片机系统上运行,VSMCPU模型能完整仿真I/Ol=i、中断、定时器、通用外设口和其他与CPU有关的外设,甚至能仿真多个处理器。 1.2Keil简介 Keil是一个功能强大的开发平台,它包括项目管理器、CX51编译器、AX51宏汇编器、BL51/Lx51连接定位器、RTX51实时操作系统、Simulator软件模拟器以及Monitor51硬件目标调试器。它是一种集成化的文件管理编译环境,主要的功能特点为:编译C源程序、汇编源程序或混合语言源程序,链接和定位目标文件和库,创建HEX文件、调试目标程序等,是目前最好的5l单片机开发工具之一。Keil支持软件模拟仿真(Simulator)和用户目标板调试(Monitor51)两种工作模式,前者不需要任何单片机硬件即可完成用户程序仿真调试,后者利用硬件目标板中的监控程序可以直接调试目标硬件系统。 2应用举例 下面结合课程设计中四项八拍步进电机正反转电路的单片机实现,具体说明如何基于Proteus和Keil进行单片机仿真。电路的功能是,通过点击正反转按钮,让步进电机自如进行正反转的切换。 2.1硬件的实现 打开ProteusISIS编辑环境,通过对象选择按 收稿日期:2008—09一08 作者简介:宫亚梅(1979一),女,江苏姜堰人。常州信息职业技术学院机电工程系助教。 ?112? 万方数据

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.sodocs.net/doc/a119025505.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和Keil_C林立版课后习题答案

1.计算机体系结构:哈佛结构、冯诺依曼结构的区别? 哈佛结构RAM和ROM分别编址,冯诺依曼结构RAM和ROM统一编址 2.MSC-51单片机外部引脚的名称是什么?各有什么功能? 答:(1) 电源及晶振引脚 VCC(40脚):+5V电源引脚 VSS(20脚):接地引脚 XTAL1(19脚);外接晶振引脚(内置放大器输入端) XTAL2(18脚):外接晶振引脚(内置放大器输出端) (2) 控制引脚 RST/V PD(9)为复位/ 备用电源引脚 ALE/PROG(30)为地址锁存使能输出/ 编程脉冲输入 PSEN(29):输出访问片外程序存储器读选通信号 EA/ VPP (31):外部ROM允许访问/ 编程电源输入 (3) 并行I/O口引脚 P0.0~P0.7(39~32脚)——P0口; P1.0~P1.7(1~8脚)——P1口; P2.0~P2.7(21~28脚)——P2口; P3.0~P3.7(10~17脚)——P3口。 3. AT89C51单片机的片内资源有哪些?其存储器结构如何?片内RAM可分成哪个三个区?各区的地址范围如何? 其内部功能部件有: 控制器:是对取自程序存储器中的指令进行译码,在规定的时刻发出各种操作所需的控制信号,完成指令所规定的功能; 运算器:根据控制器发来的信号,执行算术逻辑运算操作; 存储器:包括程序存储和数据存储器; 定时器计数器:2个16位定时器/计数器,可对机器周期计数,也可对外部输入脉冲计数; 中断系统:可响应三个内部中断源和两个外部中断源的中断请求; 输入输出接口:4个8位并行口和一个全双工串行口; 其存储器结构属于哈佛结构,MCS-51可寻址空间是两个64KB,即64KB的程序存储空间和64KB的数据存储空间。 片内RAM可分成划分为三个部分: ①作寄存器区(00H-1FH),四组②可位寻址区(20H-2FH)③用户RAM区(30H-7FH),80B 7.程序状态字寄存器PSW各位的定义是什么? 答:程序状态字寄存器PSW各位的定义如下: PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0 PSW.7:进/借位标志CY,加法有进位时置1,减法有借位时置1; PSW.6:辅助进位标志AC,加法运算低四位向高上四位有进位时置1; PSW.5、PSW.1:用户标志位F0和用户标志位F1, 保存用户的位数据; PSW.4、PSW.3:工作寄存器选择控制位RS1和RS0,00至11分别选择四组工作之一作为当前工作寄存器PSW.2 :溢出标志位OV,有符号数加、减运算结果有溢出或乘除上结果异常(乘法运算结果大于255即乘积在BA中,或除法运算除数为0)时置1

关于如何使用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.总线与分线是按照名称对应的,区分字母大小写,如果名称没有对应,则总线不会连接各分线 总线名只需与分线名对应,无需与芯片端口名对应,所以做线标是需要做总线和分线线标 仿真以后,没有连通的线以灰点显示,高电平以红点显示,低电平以蓝点显

相关主题