您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于8086的Proteus仿真波形发生器的设计
题目:基于8086的Proteus仿真波形发生器的设计目录简介…………………………………………………………21.1.8086的介绍……………………………………………21.2.8086CPU的编程结构………………………………………31.3.8086/8088CPU的两种工作模式………………………………42.Proteus仿真软件…………………………………………53.1.8253芯片基本概述……………………………………53.28253引脚图……………………………………………63.3主要功能模块单元………………………………………104.0译码器74LS138…………………………………………115.0系统仿真电路图…………………………………………136.0仿真波形图…………………………………………14附录代码………………………………………………15参考文献…………………………………………………18简介《嵌入式硬件技术基础》以80x86微处理器为平台来阐述微机系统的组成和系统的接口技术,通过汇编语言将原理与应用联系起来,同时将开发嵌入式应用系统所需要的硬件基础知识进行了详细的阐述。《嵌入式硬件技术基础》可分为3个部分,第1部分主要介绍组成嵌入式应用系统功能部件的原理、结构,第2部分主要介绍硬件编程语言——汇编语言及其与C语言的混合编程,第3部分主要介绍嵌入式应用系统的典型接口芯片、接口技术,以及嵌入式应用系统软、硬件设计的基本方法。8086的介绍8086微处理器是Intel公司推出的第三代CPU芯片,它们的内部结构基本相同,都采用16位结构进行操作及存储器寻址,但外部性能有所差异,两种处理器都封装在相同的40脚双列直插组件(DIP)中。2.8086微处理器的一般性能特点:16位的内部结构,16位双向数据信号线;20位地址信号线,可寻址1M字节存储单元;较强的指令系统;利用第16位的地址总线来进行I/O端口寻址,可寻址64K个I/O端口;中断功能强,可处理内部软件中断和外部中断,中断源可达256个;单一的+5V电源,单相时钟5MHz。另外,Intel公司同期推出的Intel8088微处理器一种准16位微处理器,其内部寄存器,内部操作等均按16位处理器设计,与Intel8088微处理器基本上相同,不同的是其对外的数据线只有8位,目的是为了方便地与8位I/O接口芯片相兼容。3.8086CPU的编程结构编程结构:是指从程序员和使用者的角度看到的结构,亦可称为功能结构。如图2-1所示是8086CPU的内部功能结构。从功能上来看,8086CPU可分为两部分,即总线接口部件BIU(BusInterfaceUnit)和执行部件EU(ExecutionUnit)。(1)执行部件(EU)功能:负责指令的执行。组成:包括①ALU(算术逻辑单元)、②通用寄存器组和③标志寄存器等,主要进行8位及16位的各种运算。(2)总线接口部件(BIU)功能:负责与存储器及I/O接口之间的数据传送操作。具体来看,完成取指令送指令队列,配合执行部件的动作,从内存单元或I/O端口取操作数,或者将操作结果送内存单元或者I/O端口。组成:它由①段寄存器(DS、CS、ES、SS)、②16位指令指针寄存器IP(指向下一条要取出的指令代码)、③20位地址加法器(用来产生20位地址)和④6字节(8088为4字节)指令队列缓冲器组成。图2-18086/8088CPU内部功能结构图8086CPU的两种工作模式为了适应各种使用场合,在设计8086CPU芯片时,就考虑了其应能够使它工作在两种模式下,即最小模式与最大模式。所谓最小模式,就是系统中只有一个8086微处理器,在这种情况下,所有的总线控制信号,都是直接由8086CPU产生的,系统中的总线控制逻辑电路被减到最少,该模式适用于规模较小的微机应用系统。最大模式是相对于最小模式而言的,最大模式用在中、大规模的微机应用系统中,在最大模式下,系统中至少包含两个微处理器,其中一个为主处理器,即8086/8086CPU,其它的微处理器称之为协处理器,它们是协助主处理器工作的。与8086CPU配合工作的协处理器有两类,一类是数值协处理器8087另一类是输入/输出协处理器8089。8087是一种专用于数值运算的协处理器,它能实现多种类型的数值运算,如高精度的整型和浮点型数值运算,超越函数(三角函数、对数函数)的计算等,这些运算若用软件的方法来实现,将耗费大量的机器时间。换句话说,引入了8087协处理器,就是把软件功能硬件化,可以大大提高主处理器的运行速度。8089协处理器,在原理上有点象带有两个DMA通道的处理器,它有一套专门用于输入/输出操作的指令系统,但是8089又和DMA控制器不同,它可以直接为输入/输出设备服务,使主处理器不再承担这类工作。所以,在系统中增加8089协处理器之后,会明显提高主处理器的效率,尤其是在输入/输出操作比较频繁的系统中。仿真工具--Proteus软件Proteus是一个基于ProSPICE混合模型仿真器的,完整的嵌入式系统软、硬件设计仿真平台。ISIS——智能原理图输入系统,系统设计与仿真的基本平台;VSM仿真单元——含混合模型仿真、VSM仿真、高级图形仿真(ASF)等;ARES——高级PCB布线编辑软件。PROTEUSVSM的仿真方式:交互式仿真-检验用户所设计的电路是否能正常工作.基于图表的仿真(ASF)-用来研究电路的工作状态及进行细节的测量.PROTEUSVSM中的仿真工具:探针-直接布置在线路上,用于采集和测量电压/电流信号;电路激励-系统的激励信号源;虚拟仪器-用于定性分析电路的运行状况;曲线图表-用于定量分析电路的参数指标。8253基本概述intel8253是NMOS工艺制成的可编程计数器/定时器,有几种芯片型号,外形引脚及功能都是兼容的,只是工作的最高计数速率有所差异,例如8253(2.6MHz),8253-5(5MHz)8253内部有三个计数器,分别成为计数器0、计数器1和计数器2,他们的机构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。执行部件实际上是一个16位的减法计数器,它的起始值就是初值寄存器的值,而初始值寄存器的值是通过程序设置的。输出锁存器的值是通过程序设置的。输出锁存器OL用来锁存计数执行部件CE的内容,从而使CPU可以对此进行读操作。顺便提一下,CR、CE和OL都是16位寄存器,但是也可以作8位寄存器来用。8253引脚图和内部结构及引脚定义8253由以下几个部分组成:(1数据总线缓冲器(8位、三态、双向);(2读/写控制逻辑;CS:片选信号,低电平有效;RD:读信号,低电平有效;WR:写信号,低电平有效A1A0:端口选择信号(3三个通道(0~2);(4一个控制寄存器;8253内部可分为6个模块,每个模块的功能如下:1.数据总线缓冲器及数据总线D0~D72.读/写控制逻辑及控制引脚CS*A1A0I/O地址读操作RD*写操作WR*00000101001140H41H42H43H读计数器0读计数器1读计数器2无操作写计数器0写计数器1写计数器2写控制字3.控制字寄存器在初始化编程时,CPU写入方式控制字到控制字寄存器中,用以选择计数通道及其相应的工作方式。8253的控制字:8253的工作方式也是有控制字来决定,其控制字意义如下4.计数通道0、计数通道1、计数通道23个计数通道内部结构完全相同。每个计数通道都由一个16位计数初值寄存器、一个16位减法计数器和一个16位计数值锁存器组成计数初值存于预置寄存器,在计数过程中,减法计数器的值不断递减,而预置寄存器中的预置不变。输出锁存器用于写入锁存命令时,锁定当前计数值。计数器的3个引脚说明:(1)CLK时钟输入信号在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1(2)GATE门控输入信号控制计数器工作,可分成电平控制和上升沿控制两种类型(3)OUT计数器输出信号当一次计数过程结束(计数值减为0),OUT引脚上将产生一个输出信号8253有6种工作方式,由方式控制字确定区分这6种工作方式的主要标志由3点:一是输出波形不同;二是启动计数器的触发方式不同;三是计数过程中门控信号GATE对计数器操作的控制不同。1..方式0--低电平输出(GATE信号上升沿继续计数)2.方式1--低电平输出(GATE信号上升沿重新计数)3.方式2--周期性脉冲输出4.方式3--周期性方波输出OUT输出低电平,装入计数值n后,OUT立即跳变为高电平。如果当前GATE为高电平,则立即开始减“1”计数,OUT保持为高电平,若n为偶数,则当计数值减到n/2时,OUT跳变为低电平,一直保持到计数值为“0”,系统才重新置入计数值n,实现循环计数。这时OUT端输出周期为n×CLK周期,占空比为1:1的方波序列:若n为奇数,则OUT端输出周期为n×CLK周期,占空比(n+1)/2:(n-1)/2的近似方波序列。5.方式4--单次负脉冲输出(软件触发)6.方式5--单次负脉冲输出(硬件触发)每种工作方式的设置过程类似:⑴设定工作方式⑵设定计数初值〔⑶硬件启动〕⑷计数初值进入减1计数器⑸每输入一个时钟计数器减1的计数过程⑹计数过程结束由于8253的读/写操作对系统时钟没有特殊的要求,因此它几乎可以应用与由任何一种微处理器组成的系统中。当A1A0分别为00011011时分别选中三个通道和控制字寄存器在8088系统中,8088的A1A0分别与8253的A1A0相连在8086系统中,通常将8253的8位数据线与8086的低8位相连,即使用偶地址,所以8086的A2A1分别与8253的A1A0相连Intel8253是一片具有三个独立的16位计数器通道的可编程定时器/计数器芯片。每个通道都可以编程设定6种工作方式之一种;由于8253的读/写操作对系统时钟没有特殊的要求,因此它几乎可以应用与由任何一种微处理器组成的系统中,可作为可编程的方波频率发生器、分频器、实时时钟、事件计数器和单脉冲发生器等。表8-4控制功能表CSRDWRA1A0功能01000写计数器001001写计数器101010写计数器201011写控制字寄存器00100读计数器000101读计数器100110读计数器200111无操作1XXXX禁止使用011XX无操作计数器(0~2)即三个计数器/定时器通道。每个通道包括:8位控制字寄存器、16位计数初值寄存器、减一计数器和输出锁存器。作定时器用:其CLK端上的输入脉冲应是标准的、精确的;作计数器用:对其CLK端上的脉冲计数,脉冲宽度可以不等。采用减一计数器,为0时,从OUT端上输出一个脉冲定时时间=时钟脉冲周期X预置的计数初值。主要功能模块单元(1)可编程定时/计数器模块8253本电路模块可用于产生定时中断,实现实时时钟实验等,具体接法请参照实验。本电路端口地址为CS。译码器74LS13874LS138介绍:8000HA12A13A14A15A1B2C3E16E24E35Y015Y114Y213Y312Y411Y510Y69Y77U474LS138138为3线-8线译码器,共有54/74S138和54/74LS138两种线路结构型式,其主要电特性的典型值如下:当一个选通端(G1)为高电平,另两个选通端(/(G2A)和/(G2B))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出。利用G1、/(G2A)和/(G2B)可级联扩展成24线译码器;若外接一个反相器还可级联扩展成32线译码器。若将选通端中的一个作为数据输入端时,138还可作数据分配器。管脚图:引出端符号:A、B、C译码地址输入端G1选通端/(G2A)、/(G2B)选通端(低电平有效)Y0~
本文标题:基于8086的Proteus仿真波形发生器的设计
链接地址:https://www.777doc.com/doc-2102604 .html