第五章 输入输出及接口芯片的应用_第1页
第五章 输入输出及接口芯片的应用_第2页
第五章 输入输出及接口芯片的应用_第3页
第五章 输入输出及接口芯片的应用_第4页
第五章 输入输出及接口芯片的应用_第5页
已阅读5页,还剩108页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、5.1 5.1 总线技术总线技术5.2 I/O5.2 I/O接口概述接口概述5.3 5.3 中断系统中断系统5.4 5.4 定时与计数定时与计数5.5 5.5 并行接口并行接口5.6 5.6 串行接口串行接口PC机从其诞生以来就采用了总线结构方式。自1970年美国DEC公司在PDP11/22小型计算机上采用Unibus总线以来,随着计算机技术的迅速发展,各大公司相继推出了各种标准的、非标准的总线,总线速度是总线速度是制约计算机整体性能的最大因素。当前总线结构方制约计算机整体性能的最大因素。当前总线结构方式已经成为微机性能的重要指标之一。式已经成为微机性能的重要指标之一。 1 1、总线的概念、总

2、线的概念计算机系统中各模块之间互连的链路叫做总线,计算机系统中各模块之间互连的链路叫做总线,它支持模块之间的信息传送。总线就是各种信号线的集合,是计算机各部件之间传送数据、地址和控制信息的公共通路。从物理结构来看,它是由一组导线和相关的控制、驱动电路组成。在微型计算机系统中有各式各样的总线,总线常被作为一个独立部件看待。1)1)地址总线地址总线 A0A19A0A19:用来对系统存储器或 I/O接口进行寻址。2)2)数据总线数据总线 D0D7D0D7:双向,数据总线,用来在微处理器、存储器和 I/O接口之间传送数据、控制命令或信息。 3)3)控制线(控制线(2121根)根) ALE ALE :输

3、出,地址锁存允许信号。该信号由8288总线控制器提供,用来锁存 CPU送出的地址信息,供其它的芯片或外设读取。在I/O通道中它与 AEN配合作为 CPU地址有效的指示。ANE:地址允许信号地址允许信号。该信号用来切断 CPU对总线的控制。允许在I/O通道中(即在 I/O扩展总线中)进行 DMA传送。当AEN为高电平(有效电平)时,由 DMA控制器控制地址总线和数据总线,并提供读写命令。MEMRMEMR* *,MEMWMEMW* *:输出,:输出, 内存读取、写入信号内存读取、写入信号。此信号在 CPU启动存储器访问总线周期时,由总线控制器所驱动。 IORIOR* *,IOWIOW* *:输出,

4、:输出,I/OI/O读、写信号读、写信号。当 CPU需要向 I/O接口读取或写入数据时,相应信号会变成低电平。 IRQ7IRQ2 IRQ7IRQ2 :输入,:输入, 第第2 2级至第级至第7 7级硬件中断请求级硬件中断请求输入信号。输入信号。这些信号是 I/O接口向CPU发出的请求服务信号,其中 IRQ2优先级最高, IRQ7优先级最低。中断请求信号由IRQ信号的上升沿(由低至高的跳变)产生,它应一直保持高电平,直到 CPU响应为止。 DRQ3DRQlDRQ3DRQl: DMADMA请求输入信号请求输入信号。此信号用来表示外部设备要求进入DMA周期。若某一外设或 I/O接口具有高速传输能力且有

5、大量数据要传输,希望与内存直接进行数据传输(即 DMA),而不希望通过CPU时,可启动此号信。此信号直接进入主板上的 DMA控制器,由 DMA控制器按优先顺序,决定让哪个I/O接口传输数据。 DACK0DACK3 DACK0DACK3 :DMA通道03的 DMA响应信号。此信号由 DMA控制器发出,表示对应的 DRQ信号(DMA请求 DRQ1DRQ3)已被接受。4)4)状态线(状态线(2 2根)根)5)5)辅助线(辅助线(1111根)根)1)1)时钟周期:时钟周期:时钟信号CLK的周期,是微处理器处理操作的最基本的时间单位 (CPU的主频) 。2)2)指令周期:指令周期:取出并执行一条指令的时

6、间。一般由若干个机器周期组成。机器周期:通常用内存中读取一个指令字的最短时间周期。指令不同,所需的机器周期数也不同。对于一些简单的单字节指令,在取指令周期中,指令取出到指令寄存器后,立即译码执行,不再需要其它的机器周期。对于一些比较复杂的指令,例如转移指令、乘法指令,则需要两个或者两个以上的机器周期。3)3)总线周期总线周期由于存储器和I/O端口是挂接在总线上的,CPU对存储器和I/O接口的访问,是通过总线实现的。通常把CPU通过总线对微处理器外部(存储器或I/O接口)进行一次访问所需时间称为一个总线周期。一个总线周期一般包含4个时钟周期,T1状态、T2状态、T3状态和T4状态,必要时,可在T

7、3、T4间插入一个至数个Tw。 T1状态 输出存储器地址或I/O地址。 T2状态 输出控制信号。 T3和Tw状态 总线操作持续,并检测READY以决定是否延长时序。 T4状态 完成数据传送 1 1、总线标准与性能指标、总线标准与性能指标 所谓总线标准,可视为系统与各模块、模块与模块之间一个互连的标准界面。这个界面对两端的模块都是透明的,即界面的任一方只需根据总线标准的要求完成自身一面接口的功能要求,而无需了解对方接口与总线的连接要求。因此,按总线标准设计的接口可视为通用接口。(1 1)ISAISA(Industrial Standard ArchitectureIndustrial Stand

8、ard Architecture)总线,又称AT总线,它采用独立于CPU的总线时钟,因此CPU可采用比总线频率更高的时钟,有利于CPU性能的提高。但ISA总线没有支持总线仲裁的硬件逻辑,因此不支持多台主设备系统,且ISA上的所有数据的传送必须通过CPU或DMA接口来管理,因此使CPU花费了大量时间来控制与外部设备交换数据。ISA总线时钟频率为8MHz,最大传输率为16MB/s。 2 2)EISA(Extended EISA(Extended Industrial Standard Industrial Standard Architecture)Architecture)总线总线,是一种在IS

9、A基础上扩充开放的总线标准,它与ISA完全兼容,它从CPU中分离出了总线控制权,是一种智能化的总线,能支持多总线主控和突发方式的传输。 EISA总线的时钟频率为8MHz, 最大传输率可达33MB/s,数据总线为32位,地址总线为32位,扩充DMA访问。 3)PCI(Peripheral Component Interconnect3)PCI(Peripheral Component Interconnect外外部设备互连总线部设备互连总线) )是由Intel公司提供的总线标准。具体特点:具体特点: 32位总线,扩展支持64位总线,包括数据总线和地址总线; 33M总线时钟,增强方式66M总线时钟

10、; 支持多总线结构,在一条总线上,可多个CPU同时工作,共享总线资源; 5V、3.3V两种信号电压标准。 1)1)总线宽度总线宽度 总线宽度又称为总线位宽指的是总线中数据总线的数量,用bit(位)表示,总线的位宽指的总线的位宽指的是总线能同时传送的数据位数,即我们常说的是总线能同时传送的数据位数,即我们常说的1616位、位、3232位、位、6464位等总线宽度的概念位等总线宽度的概念。在工作频率固定的条件下,总线的位宽越宽则总线每秒数据传输率越大,也即总线带宽越宽。 2)2)总线时钟频率总线时钟频率 总线时钟是总线中各种信号的定时标准,也称为总线的工作频率,以MHz为单位。它是指用于它是指用于

11、协调总线上的各种操作规程的时钟信号的频率。协调总线上的各种操作规程的时钟信号的频率。工作频率越高则总线工作速度越快,也即总线带宽越宽。 一般来说,总线时钟频率越高,其单位时间内数据传输量越大,但不完全成正比例关系。 3)3)最大数据传输速率(带宽最大数据传输速率(带宽bandwidthbandwidth)。最大数据传输速率指的是在总线中每秒钟传输的在总线中每秒钟传输的最大字节量,最大字节量,有时也被称为带宽带宽(bandwidth),用MB/s表示,即每秒多少兆字节。总线数据传输速率总线宽度总线数据传输速率总线宽度* *总线频率总线频率/8/8在现代微机中,一般可做到一个总线时钟周期完成一次数

12、据传输,因此,总线的最大数据传输速率为总线宽度除以8(每次传输的字节数)再乘以总线时钟频率。例如,PCI总线的宽度为64位,总线时钟频率为33.3MHz,则最大数据传输速率为64833.3266MB/s。但有些总线采用了一些新技术(如在时钟脉冲的上升沿和下降沿都选通等),使最大数据传输速率比上面的计算结果高。总线是用来传输数据的,所采取的各项提高性能的措施,最终都要反映在传输速率上,所以在诸多指标中最大数据传输速率是最重要的。总线带宽、总线位宽、总线工作时钟频率的关系举个例子就很容易明白了。高速公路上的车流量取决于公路车道的数目和车辆行驶速度,车道越多、车速越快则车流量越大;总线带宽总线带宽就

13、象是高速公路的车流量车流量,总线位宽总线位宽仿佛高速公路上的车车道数道数,总线时钟工作频率总线时钟工作频率相当于车速车速,总线位宽越宽、总线工作时钟频率越高则总线带宽越大。 当然,单方面提高总线的位宽或工作时钟频率都只能部分提高总线的带宽,并容易达到各自的极限。只有两者配合才能使总线的带宽得到更大的提升。1 1)按照总线传递的内容分类:地址总线)按照总线传递的内容分类:地址总线ABAB、数据、数据总线总线DBDB、控制总线、控制总线CBCB。2 2)按总线所处的位置可分为:)按总线所处的位置可分为: 片内总线:片内总线:在CPU内部,寄存器之间和算术逻辑部件ALU与控制部件之间传输数据所用的总

14、线称为片内总线。 (即芯片内部的总线)又称为内部总线或内总线。(Internal Bus)片外总线:片外总线:CPU与内存RAM、ROM和输入/输出设备接口之间进行通讯的通路。 把片外总线又称为外部总线或外总线 (External Bus)。 CPU通过总线实现程序取指令、内存与外设的数据交换。3 3)按照总线的结构分类)按照总线的结构分类单总线结构:单总线结构:在这种结构中,将CPU、主存和I/O设备都挂到一组总线上, 形成单总线结构的计算机。这种结构最明显的特点就是最明显的特点就是,当I/O与主存交换信息时,原则上不影响CPU的工作,CPU仍可继续处理不访问主存或I/O的操作,这就使CPU

15、工作效率有所提高。但是,因为只有一组总线,当某一时刻各部件都要占用时,就会出现争用现象。双总线结构:双总线结构:在单总线基础上,又单独开辟一条CPU与主存之间的通路,叫存储总线。这组总线速度高,只供主存与CPU之间传输信息。这样既提高了传输效率,又减轻了系统总线的负担,还保留了I/O与存储器交换信息时不经过CPU的特点。5.2.15.2.1 接口的概念与接口的概念与I/OI/O接口接口 计算机两部件之间的界面称之为接口接口。 接口的主要功能接口的主要功能是:(1)数据缓冲及输入、输出(2)寻址功能(3)命令译码(4)同步、联络和控制功能1)I/OI/O接口与接口与I/OI/O设备之间交换的信号

16、通常有四种设备之间交换的信号通常有四种:数字量、模拟量、开关量、脉冲量。数字量、模拟量、开关量、脉冲量。2 2)I/OI/O接口与接口与CPUCPU之间交换的信息通常有三种:之间交换的信息通常有三种:数数据信息、状态信息、控制信息。据信息、状态信息、控制信息。内部结构内部结构数据寄存器数据寄存器:存放外设与主机之间传送的信息存放外设与主机之间传送的信息,在缓冲区可存放一批数据。状态寄存器:状态寄存器:存放外设或接口的状态。存放外设或接口的状态。控制(命令)寄存器:控制(命令)寄存器:存放控制外设的信号或命令。存放控制外设的信号或命令。注:同样的二进制代码,在不同的寄存器中将有注:同样的二进制代

17、码,在不同的寄存器中将有不同的作用。不同的作用。外部特性外部特性接口电路的外部特性由其引出信号来体现:(1)面向处理器一侧的信号(与CPU的连接):类似处理器总线或系统总线,主要处理地址译码。(2)面向外设一侧的信号(与外设连接):与外设有关,但可以笼统地分成外设的数据信号、状态信号和控制信号主要功能主要功能(1 1)数据缓冲:)数据缓冲:匹配快速的处理器与相对慢速的外设的数据交换(2 2)信号变换)信号变换:把信号相互转换为适合对方的形式CPU通过接口对外设进行控制的方式有以下几种: 1 1)程序控制方式)程序控制方式 这种方式下,CPU通过I/O指令询问指定外设当前的状态,如果外设准备就绪

18、,则进行数据的输入或输出,否则CPU等待,循环查询。 这种方式的优点是结构简单,只需要少量的硬件电路即可,缺点是由于CPU的速度远远高于外设,因此通常处于等待状态,工作效率很低。 2 2)中断处理方式)中断处理方式 在这种方式下,CPU不再被动等待,而是可以执行其他程序,一旦外设为数据交换准备就绪,可以向CPU提出服务请求,CPU如果响应该请求,便暂时停止当前程序的执行,转去执行与该请求对应的服务程序,完成后,再继续执行原来被中断的程序。 中断处理方式的优点:中断处理方式的优点:为CPU省去了查询外设状态和等待外设就绪所花费的时间;提高了CPU的工作效率,还满足了外设的实时要求。 中断处理方式

19、的缺点:中断处理方式的缺点:需要为每个IO设备分配一个中断请求号和相应的中断服务程序;每传送一个字符都要进行中断,启动中断控制器,还要保留和恢复现场以便能继续原程序的执行。3 3)DMADMA(直接存储器存取)传送方式(直接存储器存取)传送方式 DMADMA最明显的一个特点最明显的一个特点是它不是用软件而是采采用一个专门的控制器来控制内存与外设之间的数据用一个专门的控制器来控制内存与外设之间的数据交流,无须交流,无须CPUCPU介入介入,大大提高CPU的工作效率。 在进行DMA数据传送之前,DMA控制器会向CPU申请总线控制权。5.3.1 5.3.1 中断概述中断概述5.3.2 8086/80

20、885.3.2 8086/8088的中断系统的中断系统5.3.3 8259A5.3.3 8259A可编程控制器可编程控制器5.3.4 82595.3.4 8259的应用的应用中断响应的条件中断响应的条件: CPU应工作在中断方式(CPU开中断,IF=1) 申请中断的事件优先级别到位 CPU执行完当前一条完整的指令以后作用作用: 提高CPU的工作效率 提高实时数据的处理时效 可以实现多任务多用户管理5.3.1 中断概述中断概述中断中断源:源:引起中断的原因或来源。中断源可分为两大类:一类是来自CPU内部,称之为内部中断源;另一类来自于CPU外部。称之为外部中断源。中断处理流程:保护断点;转入中断

21、服务程序;返回断点。1. 1. 中断中断分类分类中断中断特点特点: 矢量型中断,有矢量型中断,有256256个中断矢量号个中断矢量号( (设备号设备号) (0) (0255)255)软件中断软件中断硬件中断硬件中断中断矢量:中断矢量:是中断处理子程序的入口地址,每个中断类型对应一个中断矢量中断矢量表:中断矢量表:在内存中,开辟一个区域存放中断服务程序的入口地址的表。对于8086,这个区域的首地址00000H00000H(固定)(固定)问题:问题:已知中断矢量号代码,怎样找到中断服务程序的入口地址?(例入口地址?(例5-45-4)例: 键盘中断的矢量号为09H,它的中断服务程序入口地址为0BA9

22、H:0125H,求它在中断矢量表中的地址及相应单元内容解:键盘中断对应的中断矢量表位于0000:0024H (09H4=24H)开始的4单元 这4个单元的内容见表:1 1、8259A8259A的内部结构及管脚分配的内部结构及管脚分配特点:可编程、八级向量优先中断、级连、优先权动态地改变。1)1)中断请求寄存器中断请求寄存器(IRR)(IRR)中断请求IR7IR0,当某个为高电平时,IRR相应位置“1”。2)2)中断服务寄存器中断服务寄存器(ISR)(ISR)任何一级中断被响应,执行其中断服务程序,ISR相应位置“1” 。多重中断情况下,ISR中多位被同时置“1”。3)3)优先权判别器优先权判别

23、器(PR)(PR)当IR7 IR0中有多个中断请求信号同时产生时,PR判定哪个中断请求具有最高优先权,并把它置入ISR的相应位。4)4)中断屏蔽寄存器中断屏蔽寄存器(IMR)(IMR)通过IMR可实现对各级中断的有选择的屏蔽。2 2、8259A8259A的中断处理顺序的中断处理顺序当有一条或若干条中断请求输入线(IR0IR7)上的中断请求信号有效则IRR的相应位置1。若中断请求线中至少有一条是中断未被屏蔽的,则8259A由INT引脚向CPU发出中断请求信号INTR。若CPU是处于开中断状态,则在当前指令执行完以后。CPU用INTA信号作为对INTR的响应。8259A在接收到CPU发出的第一个I

24、NTA脉冲后,使最高优先权的ISR位置并使相应的IRR位复位。在第二个中断响应总线周期中,CPU再输出一个INTA脉冲,这时8259 A就把刚才选定的中断源所对应的8位中断类型码放到数据总线上。CPU读取该中断类型码并乘以4,就可以从中断向量表中取出中断服务程序的人口地址并转去执行。若8259A工作在自动中断结束AEOI方式。在第二个INTA脉冲结束时,就会使中断源所对应的ISR中的相应位复位。对于非自动中断结束方式则由CPU在中断服务程序结束时向8259A写入EOI命令,才能使ISR中的相应位复位。3 3、8259A8259A与总线的连接与总线的连接4 4、8 8259A259A编程编程82

25、59A8259A接收来自接收来自CPUCPU的两类命令字:初始化命令字的两类命令字:初始化命令字ICWICW、操作命令字、操作命令字OCWOCW。 8259A8259A属于属于I/OI/O接口芯片,接口芯片,向向8259A8259A写入用写入用OUTOUT,读取其状态用,读取其状态用ININ。(1 1)8259A8259A的初始化的初始化初始化初始化: :第一部分称预置命令字第一部分称预置命令字ICW1ICW1ICW4ICW4。预置命。预置命令字是要令字是要按规定顺序按规定顺序写入写入8259A8259A中的。中的。预置命令字功能:预置命令字功能: ICW1ICW1:8259A:8259A是单

26、一式还是主从式;是单一式还是主从式; ICW2ICW2: :设置中断类型码的初始化命令字,必须写到设置中断类型码的初始化命令字,必须写到8259A8259A的奇地址端口中;的奇地址端口中; ICW3ICW3: :只有在系统中包含只有在系统中包含有多片有多片8259A8259A时,时,ICW3ICW3才才有效。而系统中是否有多有效。而系统中是否有多片片8259A8259A由由ICW1ICW1指示。指示。 ICW3ICW3是标志主片是标志主片/ /从片的从片的初始化命令字,必须写到初始化命令字,必须写到8259A8259A的奇地址端口中;的奇地址端口中; ICW4ICW4: :完成中断管理方式完成

27、中断管理方式的设定。的设定。不是任何情况下都需要不是任何情况下都需要设置设置4 4个预命令,可根个预命令,可根据据8259A8259A的使用情况而的使用情况而定。定。芯片初始化命令字芯片初始化命令字 标记:标记:A A0 0=0=0,D D4 4=1=1D7D6D5D4D3D2D1D01LTIM0SNGLIC4习惯上填习惯上填01-中断请求电平触发中断请求电平触发0-中断请求边沿触发中断请求边沿触发对对8086系统总为系统总为01-单片,单片,0-级联级联1-设置设置ICW40-不设置不设置A00设置中断类型码初始化命令字,紧跟在设置中断类型码初始化命令字,紧跟在ICWICW1 1之后,定义之

28、后,定义中断类型码的高中断类型码的高5 5位,低位,低3 3位由位由IRIRi i确定确定 。 标记:标记:A A0 0=1=1D7D6D5D4D3T7T6T5D2D1D0T4T3A10A9A8A01与用户选择类型码有关,与用户选择类型码有关,选择系统没有占用的选择系统没有占用的0 0 0 IR00 0 1 IR10 1 0 IR20 1 1 IR31 0 0 IR41 0 1 IR51 1 0 IR61 1 1 IR7注注:中断类型码一定是连续的!:中断类型码一定是连续的! 级联方式初始化字,紧跟在级联方式初始化字,紧跟在ICWICW2 2之后,之后, 标记:标记:A A0 0=1=1 自学

29、自学(4 4)ICW4 对于8086/8088系统是必须设置的预置命令字 方式控制初始化命令字,写ICW4的标记为A0=1P218例5-5:例:若例:若8259A8259A以两片级联方式管理以两片级联方式管理1515级中断级中断, ,从片从片INTINT接到主片的接到主片的IR2IR2上上, ,主、从片的中断请求采用边缘触发方式,选用完全嵌套、主、从片的中断请求采用边缘触发方式,选用完全嵌套、非缓冲方式。主片的中断类型码为非缓冲方式。主片的中断类型码为8 80FH0FH,从片的中断类型码为,从片的中断类型码为70H70H77H77H,设主片的地址为,设主片的地址为20H20H,21H21H;从

30、片的地址为;从片的地址为22H22H,23H23H。请初始化请初始化8259A8259A。;初始化主片;初始化主片MOV AL,11HOUT 20H,ALMOV AL,08HOUT 21H,ALMOV AL,04HOUT 21H,ALMOV AL,01HOUT 21H,AL;初始化从片;初始化从片MOV AL,11HOUT 22H,ALMOV AL,70HOUT 23H,ALMOV AL,02HOUT 23H,ALMOV AL,01HOUT 23H,AL5.4.1 定时与计数概述5.4.2 8253/8254可编程间隔定时器58软件方法:用一段程序实现延时软件方法:用一段程序实现延时利用程序循

31、环延迟指定的时间利用程序循环延迟指定的时间缺点:缺点:CPUCPU占用率?延时精度?兼容?占用率?延时精度?兼容?硬件方法:定时硬件方法:定时/ /计数器电路计数器电路利用脉冲计数在设定的时间输出定时信号,灵利用脉冲计数在设定的时间输出定时信号,灵活性较差?活性较差?采用可编程定时器计数器采用可编程定时器计数器定时时间与计数值可由软件来确定和改变,设定时时间与计数值可由软件来确定和改变,设定后与定后与CPUCPU并行工作,不占用并行工作,不占用CPUCPU的时间的时间。5.4.1 定时与计数概述定时与计数概述5982538253是一种可编程的计数器是一种可编程的计数器/ /定时器接口芯片。内部

32、定时器接口芯片。内部有有三个独立的计数器三个独立的计数器,通过设置控制字,各计数器,通过设置控制字,各计数器可以工作于不同方式。该芯片的可以工作于不同方式。该芯片的最高计数频率为最高计数频率为2MHz2MHz,可用于产生各种定时波形,也可用于对外部,可用于产生各种定时波形,也可用于对外部事件计数。事件计数。可以实现定时与计数两个功能,可用于: 系统时钟 DRAM刷新定时 定时采样 实时控制 脉冲的计数5.4.2 8253/8254可编程间隔定时器可编程间隔定时器60数据线:写控制数据线:写控制字,读写计数器字,读写计数器的计数值的计数值计数器计数器0的时钟输的时钟输入端入端计数器计数器0的输出

33、端的输出端为低电平的时候,为低电平的时候,CPU将计数值写入计数器或将将计数值写入计数器或将控制字写入控制字寄存器控制字写入控制字寄存器为低电平的时候,为低电平的时候,CPU读取所选计数器的内容读取所选计数器的内容 A1 A0选中端口选中端口0 0计数器计数器00 1计数器计数器11 0计数器计数器21 1控制字寄存器控制字寄存器计数器计数器0的门控信的门控信号脉冲输入端,控号脉冲输入端,控制计数制计数(1)8253的外部引脚的外部引脚61编址部件编址部件0编址部件编址部件1编址部件编址部件2编址部件编址部件362计数器计数器(3(3个个)每个包括每个包括控制寄存器控制寄存器 存放控制命令字(

34、只写)存放控制命令字(只写)占用占用4 4个地址个地址 3 3个计数器,个计数器,1 1个控制寄存器个控制寄存器计数(初值)寄存器计数(初值)寄存器16位计数工作单元位计数工作单元输出锁存器输出锁存器(减法)(减法)(两个(两个8位)位)(两个(两个8位)位)63设置设置82538253的工作方式:的工作方式:此时,全部控制逻辑电路复位,输出此时,全部控制逻辑电路复位,输出OUTOUT为初始为初始状态(高电平或低电平);状态(高电平或低电平);设置计数初值到计数(初值)寄存器设置计数初值到计数(初值)寄存器第一个第一个CLKCLK信号使初值寄存器的内容置入计数工作单信号使初值寄存器的内容置入计

35、数工作单元元以后每来一个以后每来一个CLKCLK信号信号在在CLKCLK的上升沿时,计数器对门控信号的上升沿时,计数器对门控信号GATEGATE进行进行采样,来决定工作状态(计数、触发、停止、重采样,来决定工作状态(计数、触发、停止、重新置初值);新置初值);在在CLKCLK的下降沿时,计数器执行部件从初值开始的下降沿时,计数器执行部件从初值开始作减作减1 1计数;其中计数;其中0 0是最大初值,是最大初值,1 1是最小初值;是最小初值;若以二进制数制计数,则若以二进制数制计数,则0 0相当于相当于2 21616=65536=65536;若;若以以BCDBCD码数制计数时,则码数制计数时,则0

36、 0相当于相当于10104 4=10000.=10000.减到减到0 0时,时,OUTOUT端输出一特殊波形的信号端输出一特殊波形的信号(3)8253的工作原理的工作原理64CLKGATEOUTD0D7WRRDA1A0CSDBIOWIORA1A0译码器高位地址A15-A28253共三组2、8253与总线的连接与总线的连接65 SC1 SC0 RW1 RW0 M2 M1 M0 BCD1-计数值为计数值为BCD码格式码格式0-计数值为二进制格式计数值为二进制格式M2 M1 M0 模式选择模式选择 0 0 0 模式模式0 0 0 1 模式模式1 / 1 0 模式模式2 / 1 1 模式模式3 1 0

37、 0 模式模式4 1 0 1 模式模式50 0-对计数器进行锁存对计数器进行锁存0 1-只读只读/写低写低8位字节位字节 1 0-只读只读/写高写高8位字节位字节1 1-只读只读/写低写低8位字节位字节, 再读再读/写高写高8位字节位字节.0 0-选计数器选计数器00 1-选计数器选计数器11 0-选计数器选计数器21 1-无意义无意义3、8253的编程的编程设置设置8253的某一计数工作方式的编程只需两个的某一计数工作方式的编程只需两个步骤:步骤:1)写入控制字;)写入控制字;2)写入计数初值。)写入计数初值。例1:设地址总线上A7A2=100101B时,某8253的CS*有效,8253的A

38、1和A0分别与地址总线的A1和A0相连。1)试确定该8253各端口的地址;2)如果控制字为00110110B,试确定该8253的设置。(1)设置计数器的工作方式例2:某8253的端口地址范围为94H97H,三个CLK端均输入1MHz的时钟脉冲,试分析下面的程序,确定计数器0和计数器1的工作方式及OUT端输出的波形。MOV AL,00010100BOUT 97H,ALMOV AL,0OUT 94H,ALMOV AL,01010001BOUT 97H,ALMOV AL,0OUT 95H,AL有三种途径可以读取计数器当前值:1)使用端口读指令 IN AL,XXXXXX01B2)使用锁存命令D7D6选

39、择计数器,D5D4=00B。3)使用读回命令(8254增加)(1)方式)方式0:计数结束中断:计数结束中断(2)方式)方式1:可由硬件重复触发的单脉冲:可由硬件重复触发的单脉冲(3)方式)方式2:序列脉冲发生器:序列脉冲发生器(4)方式)方式3:方波发生器:方波发生器(5)方式)方式4:软件触发选通脉冲:软件触发选通脉冲(6)方式)方式5:硬件触发选通脉冲:硬件触发选通脉冲70在在GATE=1时时写入控制字,写入控制字,OUT端输出低电平为起始电平,装入计数初值端输出低电平为起始电平,装入计数初值n,开始,开始计数。计数。写信号后沿(写信号后沿( )经一个)经一个CLK( )将)将n值装入计数

40、器。值装入计数器。每经过一个每经过一个CLK,在,在CLK下降沿,计数器减下降沿,计数器减1。n=0时,计数结束,时,计数结束,OUT由低电平变为高电平(可利用该电平变化向由低电平变为高电平(可利用该电平变化向CPU发出中断请求),并保持,发出中断请求),并保持,不开始重新计数不开始重新计数。只有写入另一个计。只有写入另一个计数值时,开始新的计数。数值时,开始新的计数。在在GATE=0时时 停止计数,直至停止计数,直至GATE恢复高电平,再继续计数恢复高电平,再继续计数71软件启动,不自动重复计数。软件启动,不自动重复计数。装入初值后装入初值后OUTOUT端变低电平,计数结束端变低电平,计数结

41、束OUTOUT输出高电输出高电平。平。计数过程中,计数过程中,GATEGATE端应保持高电平。端应保持高电平。每写入一次初值计数一个周期,然后停止计数。每写入一次初值计数一个周期,然后停止计数。OUTOUT端输出是一个约端输出是一个约(n+1) (n+1) * *CLKCLK宽度的负脉冲。宽度的负脉冲。计数过程中可随时修改初值重新开始计数。计数过程中可随时修改初值重新开始计数。7273在计数过程中,若再次产生在计数过程中,若再次产生GATE的上升沿触发的上升沿触发,则要,则要重新重新装入装入n值,值,在再触发脉冲上升沿之后的一个在再触发脉冲上升沿之后的一个CLK脉冲的下降脉冲的下降沿,计数器重

42、新开始计数。可以通过该方法沿,计数器重新开始计数。可以通过该方法改变脉冲的宽度改变脉冲的宽度。74硬件启动,不自动重复计数。硬件启动,不自动重复计数。装入初值后装入初值后OUTOUT端变高电平,计数开始端变高电平,计数开始OUTOUT端变为端变为低电平,计数结束后又变高。低电平,计数结束后又变高。门控信号门控信号GATEGATE端的跳变触发计数,可重复触发。端的跳变触发计数,可重复触发。若下一次若下一次GATEGATE上升沿提前到达,则上升沿提前到达,则OUTOUT端负脉端负脉冲拉宽为两次计数过程之和。冲拉宽为两次计数过程之和。计数过程中写入新初值不影响本次计数。计数过程中写入新初值不影响本次

43、计数。75写入控制字,写入控制字,OUT端输出高电平为起始电平,装入计数初值端输出高电平为起始电平,装入计数初值n,开始计数。开始计数。每一个计数脉冲下降沿每一个计数脉冲下降沿n减减1,当,当n减至减至1时,时,OUT变低,变低,n减减为为0时,时,OUT变高,产生一个周期一样宽的负脉冲。变高,产生一个周期一样宽的负脉冲。接着接着自动装入自动装入n连续计数连续计数,输出频率为与时钟脉冲:,输出频率为与时钟脉冲:fclk/n。计数过程中,允许重新装入新的计数过程中,允许重新装入新的n值,下一个计数周期按新的值,下一个计数周期按新的n值计数。值计数。在在GATE=1时时:76计数过程中,若计数过程

44、中,若GATE0,停止计数,并强迫,停止计数,并强迫OUT输出高电平,在输出高电平,在GATE变为高电平后,变为高电平后,重新重新装入装入n值值,开始计数。,开始计数。77软、硬件启动,软、硬件启动,自动重复计数自动重复计数。装入初值后装入初值后OUTOUT端变高电平,端变高电平,计数到最后一个计数到最后一个CLKCLK时时OUTOUT输出负脉冲,输出负脉冲,并连续重复此过程。并连续重复此过程。GATEGATE为计数的控制信号为计数的控制信号:GATEGATE变低计数停止,再变变低计数停止,再变高时的下一个高时的下一个CLKCLK下降沿,从初值开始重新计数。下降沿,从初值开始重新计数。每个计数

45、周期结束时(减到每个计数周期结束时(减到1 1时),时),OUTOUT端输出一端输出一个个CLKCLK宽度的负脉冲。宽度的负脉冲。计数过程自动重复进行。计数过程自动重复进行。计数过程中修改初值不影响本轮计数过程计数过程中修改初值不影响本轮计数过程。78(5)(4)(4)(5)输出频率为:输出频率为:fclk/n的方波。的方波。写入控制字后,写入控制字后,OUT端输出低电平作为起始电平,装入计数值端输出低电平作为起始电平,装入计数值n后,变为后,变为高电平。高电平。n为偶数,每个时钟脉冲下降沿为偶数,每个时钟脉冲下降沿n值减值减1,至,至n/2后,电平变为低电平,并后,电平变为低电平,并继续减继

46、续减1计数至计数至0,然后改变,然后改变OUT电平,电平,重新装入重新装入n,开始计数。,开始计数。n为奇数,输出高电平宽度为为奇数,输出高电平宽度为(n+1)/2,低电平宽度为低电平宽度为(n-1)/2的方波。的方波。GATE=0 停止计数,并强迫停止计数,并强迫OUT输出高电平,在输出高电平,在GATE变高后,变高后,重新将重新将n装入装入,开始计数。开始计数。注:注:GATE功能同方式功能同方式2GATE=179软、硬件启动,软、硬件启动,自动重复计数。自动重复计数。装入初值后装入初值后OUTOUT端变高电平,然后端变高电平,然后OUTOUT连续输出连续输出对称方波:对称方波:前前 N/

47、2N/2或(或(N+1N+1)/2 /2 个个CLKCLK,OUTOUT为高为高后后N/2N/2或(或(N-1N-1)/2 /2 个个CLKCLK, OUTOUT为低。为低。计数过程中修改初值不影响本半轮计数过程计数过程中修改初值不影响本半轮计数过程其余的与方式其余的与方式2 2 类似。类似。80写入控制字后,写入控制字后,OUT端变为高电平,写入初始值后,计数器端变为高电平,写入初始值后,计数器作减作减1计数,计数,OUT电平保持不变。电平保持不变。计数器减至计数器减至0时,时,OUT端输出一个脉冲周期的负脉冲,然后端输出一个脉冲周期的负脉冲,然后停止计数,停止计数,只有输入新的计数值后只有

48、输入新的计数值后,才能开始新的计数。,才能开始新的计数。计数过程中,若计数过程中,若GATE变低电平,停止计数,在其变高后,变低电平,停止计数,在其变高后,重新将重新将n装入装入,开始计数。,开始计数。81软件启动,不自动重复计数。软件启动,不自动重复计数。装入初值后输出端变高电平,计数结束输出一个装入初值后输出端变高电平,计数结束输出一个CLKCLK宽度的负脉冲宽度的负脉冲计数过程中,计数过程中,GATEGATE端应保持高电平。端应保持高电平。每写入一次初值,计数一个周期,然后停止计每写入一次初值,计数一个周期,然后停止计数。数。每个计数周期结束时(减到每个计数周期结束时(减到0 0时),时

49、),OUTOUT端输出端输出一个一个TCLKTCLK宽度的负脉冲。宽度的负脉冲。计数过程中修改初值不影响本轮计数过程。计数过程中修改初值不影响本轮计数过程。82写入控制字后,写入控制字后,OUT端变为高电平,写入初始值端变为高电平,写入初始值n后,必后,必须等待须等待GATE的上升沿的上升沿触发才转入计数。触发才转入计数。计数器减至计数器减至0时,时,OUT端输出一个脉冲周期的负脉冲。然端输出一个脉冲周期的负脉冲。然后后n值自动装入计数器,但要等值自动装入计数器,但要等GATE的上升沿来后才再次的上升沿来后才再次开始计数。开始计数。计数过程中,若计数过程中,若GATE变低电平,变低电平,不影响

50、计数不影响计数,但其上升,但其上升沿将使得沿将使得n重新装入计数器重新装入计数器,开始计数。,开始计数。83硬件启动,不自动重复计数。硬件启动,不自动重复计数。OUTOUT端波形与方式端波形与方式4 4相同相同写入初值时,写入初值时,GATEGATE端应保持低电平。端应保持低电平。GATEGATE每出现一次正脉冲,计数一个周期,然后每出现一次正脉冲,计数一个周期,然后停止计数。停止计数。每个计数周期每个计数周期结束时(减到结束时(减到0 0时),时),OUTOUT端输出端输出一个一个CLKCLK宽度的负脉冲。宽度的负脉冲。计数过程中修改初值不影响本轮计数过程。计数过程中修改初值不影响本轮计数过

51、程。84在使用在使用82538253芯片时,首先要对其进行初始化编芯片时,首先要对其进行初始化编程。程。初始化编程包括写入控制字和写入计数值初始化编程包括写入控制字和写入计数值两个步骤。两个步骤。第一步,写入控制字。第一步,写入控制字。任一计数任一计数器的控制字都要从器的控制字都要从8253的控制口的控制口地址写入,控制哪个计数器由控地址写入,控制哪个计数器由控制字的制字的D7D6位来决定。位来决定。第二步,写入计数初始值。第二步,写入计数初始值。计数初始值经由各计数器的端口地计数初始值经由各计数器的端口地址写入。址写入。若是若是16位计数值,则分两次写入,先写入低位计数值,则分两次写入,先写

52、入低8位,再写入高八位,再写入高八位。位。写入顺序: 可按计数器分别写入控制字和初值。 也可先写所有计数器控制字,再写入它们的初值5、8253/8254的应用的应用书本P242例5-8:MOV DX, 26BHMOV AL, 00110000BOUT DX, ALMOV DX, 268HMOV AL, 00HOUT DX, ALMOV AL, 40HOUT DX, AL2008.1-39;2007-38;2010-3886包含包含3 3个个1616位计数器通道位计数器通道4 4个编址部件:计数器个编址部件:计数器0/1/20/1/2和控制寄存器和控制寄存器每个计数器通道工作前必须初始化:每个计

53、数器通道工作前必须初始化:控制字和计数初值6 6种工作方式种工作方式每种工作方式:启动方式、输出波形、是否可重每种工作方式:启动方式、输出波形、是否可重复计数等各不相同复计数等各不相同1、8255A的 外部引脚和 内部结构1)引脚 数据线:与CPU交换数据PC口PB口PA口地址选择A1A000端口A01端口B10端口C11控制字寄存器2 2、8255A8255A与总线的连接与总线的连接3 3、8255A8255A的编程的编程(1 1)设置工作方式和端口读)设置工作方式和端口读/ /写写(2 2)置位复位端口)置位复位端口C C应用注意应用注意 :PCPC口控制字虽然是对端口口控制字虽然是对端口C C操作,但操作,但应写入到控制口地址,而不是写入到应写入到控制口地址,而不是写入到PCPC数据口。数据口。4 4、8255A8255A的工作方式的工作方式(1 1)方式)方式0 0:基本输入:基本输入/ /输出。输出。在方式在方式0 0下,下,A A、B B、C C三个端口均用作输入三个端口均用作输入/ /输出,输出,这种输入这种输入/ /输出只是简单的输入输出只是简单的输入/ /输出,无联络信输出,无联络信号。号。(2)方式)方式1:带选通的输入:带选通的输入/输出输出1)方式)方式1的输入的输入2)方式)方式1的输出

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论