第7章 可编程接口芯片及应用1_第1页
第7章 可编程接口芯片及应用1_第2页
第7章 可编程接口芯片及应用1_第3页
第7章 可编程接口芯片及应用1_第4页
第7章 可编程接口芯片及应用1_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

学习愉快画面宁静,使人可以安静的进入学习状态,唤醒人的学习意识.宁静以致远

微机与外设交换信息,都必须通过接口电路来实现。随着大规模集成电路技术的发展,现已生产了各种各样通用的可编程接口芯片,不同系列的微处理器都有其标准化、系列化的接口芯片可供选用。因此,学会典型通用接口芯片的工作原理和使用方法,是掌握微机接口技术的重要基础。

本章主要介绍Intel系列的8253-5、8255A、8259A、ADC0809等几种典型通用的接口芯片第7章可编程接口芯片及应用7.1

接口的分类及功能7.2

可编程计数器/定时器8253-57.3

可编程中断控制器8259A7.4

可编程并行通信接口芯片8255A7.5

可编程串行异步通信接口芯片82507.6

新型通用I/O接口标准7.1接口的分类及功能一、接口的分类

按接口的功能可分为通用接口和专用接口两类。通用接口适用于大部分外设,如行式打印机、电传打字机和键盘等都可经通用接口与CPU相连。通用接口又可分为并行接口和串行接口。并行接口是按字节传送的;串行接口和CPU之间按并行传送,而和外设之间是按串行传送的。专用接口仅适用于某台外设或某种微处理器,用于增强CPU的功能。

此外,在微机控制系统中专为某个被控制的对象而设计的接口,也是专用接口。二、接口的功能

接口的功能很丰富,视具体的接口芯片而定,其主要的功能有:

(一)缓冲锁存数据

通常CPU与外设工作速度不可能完全匹配,在数据传送过程中难免有等待的时候。为此,需要把传输数据暂存在接口的缓冲寄存器或锁存器中,以便缓冲或等待;而且,要为CPU提供有关外设的状态信息,如外设“准备好”、“忙”,或缓冲器“满”、“空”等。(二)地址译码

在微机系统中,每个外设都被赋予一个相应的地址编码,外设接口电路能进行地址译码,以选择设备。(三)传送命令

外设与CPU之间有一些联络信号,如外设的中断请求,CPU的响应回答等信号都需要接口来传送。(四)码制转换

在一些通信设备中,其信号是以串行方式传输的,而计算机的代码是以并行方式输入输出的,这就需要进行并行码与串行码的互相转换;在转换中,根据通信规程还要加进一些同步信号等,这些工作也是接口电路要完成的任务之一。(五)电平转换

一般CPU输入输出的信号都是TTL电平,而外设的信号就不一定是TTL电平。为此,在外设与CPU连接时,要进行电平转换,使CPU与外设的电压(或电流)相匹配。7.2可编程计数器/定时器8253-58253-5是可编程计数器/定时器。一、8253-5的引脚与功能结构

8253-5是一种24脚封装的双列直插式芯片。8253-引脚的定义如下:

D0~D7:数据线。

A0、A1:地址线,用于选择3个计数器中的一个及选择控制字寄存器。

RD:读控制信号,低电平有效。

WR:

写控制信号,低电平有效。

CS:

片选端,低电平有效。

CLK0~2:计数器0#、1#、2#的时钟输入端。

GATE0~2:计数器0#、1#、2#的门控制脉冲输入端,由外部设备送入门控脉冲。

OUT0~2:

计数器0#、1#、2#的输出端,由它接至外部设备以控制其启停。

8253-5的功能体现在两个方面,即计数与定时。两者的工作原理在实质上是一样的,都是利用计数器作减1计数,减至0发信号;两者的差别只是用途不同。二、8253-5的内部结构和寻址方式(一)内部结构

8253-5的内部结构有3个独立的结构完全相同的16位计数器和1个8位控制字寄存器。在每个计数器内部,又可分为计数初值寄存器CR、计数执行部件CE和输出锁存器OL3个部件,它们都是16位寄存器,也可以作8位寄存器来用。在计数器工作时,通过程序给初值寄存器CR送入初始值,该值再送入执行部件CE作减1计数;而输出锁存器OL则用来锁存CE的内容,该内容可以由CPU进行读出操作。

(二)寻址方式

8253-5内部有3个计数器和1个控制字寄存器,可通过地址线A0、A1,读写控制线RD、WR与选片CS进行寻址,并实现相应的操作.三、8253-5的6种工作方式及时序关系

8253-5的方式控制字格式如图7.4所示,各计数器有6种可供选择的工作方式,以完成定时、计数或脉冲发生器等多种功能。SC1SC0RL1RL0M2M1M0BCDM2M1M0

方式选择000方式0001 方式1X10 方式2X11 方式3100 方式4101 方式5RL1RL0

操作选择

00计数器锁存

01对低字节读/写

10对高字节读/写

11先读/写低字节,后读/写高字节SC1SC0

计数器选择

00选计数器001选计数器110选计数器211无效0=二进制计数1=二-十进制计数图7.48253-5工作方式控制字格式D7D6D5D4D3D2D1D0(一)计数启动方式软件启动过程硬件启动过程GATE端保持为高电平写入计数初值后,CLK脉冲的下降沿开始计数GATE端有一个上升沿对应CLK脉冲的下降沿开始计数程序指令启动————软件启动外部电路信号启动——硬件启动(二)六种工作方式方式0软件启动,不自动重复计数。当写入控制字后,OUT端输出低电平作为起始电平,计数初值装入计数器后,输出仍保持低电平。计数结束OUT输出高电平。(计数结束中断)(1)当写入控制字后,OUT端输出低电平作为起始电平,计数初值装入计数器后,输出仍保持低电平。若GATE端的门控信号为高电平,当CLK端每来一个计数脉冲,计数器就作减1计数,当计数值减为0时,OUT端输出变为高电平,若要使用中断,则可以用此电平变化向CPU发中断请求。(2)GATE为计数控制门。

方式0的计数过程可由门控信号GATE控制暂停,即当GATE=1时,允许计数;GATE=0时,停止计数。GATE信号的变化并不影响输出OUT端的状态。(3)计数过程中可重新装入计数初值。

如果在计数过程中,重新写入某一计数初值,则在写完新的计数值后,计数器将从该值重新开始作减1计数。工作波形(二)六种工作方式方式1

硬件启动(GATE端上升沿),不自动重复计数。写入控制字后,OUT端输出高电平作为起始电平。装入初值后OUT端变高电平,计数开始OUT端变为低电平,计数结束后又变高。工作波形(单稳态触发器)(1)写入控制字后,OUT端输出高电平作为起始电平。当计数初值送到计数器后,若无GATE的上升沿,不管此时GATE输入的触发电平是高电平还是低电平,都不开始减1计数,必须等到GATE端输入正跳变触发脉冲时,计数过程才会开始。(2)工作时,由GATE输入触发脉冲的上升沿使定时器开始计数,并使OUT端变为低电平,每来一个计数脉冲,计数器作减1计数,当计数值减为0时,OUT再变为高电平。OUT端输出的单稳负脉冲的宽度为计数器的初值乘以CLK端输入脉冲周期。(3)如果在计数器未减到0时,门控端GATE又来一触发脉冲,则由下一个时钟脉冲开始,计数器将从初始值重新作减1计数.当减至0时,输出端又变为高电平。这样,使输出脉冲宽度延长。(二)六种工作方式方式2分频器软、硬件启动,自动重复计数。装入初值后OUT端变高电平,计数到最后一个CLK时OUT输出负脉冲,并连续重复此过程。(又叫频率发生器)

此方式是n分频计数器,n是写入计数器的初值。写入控制字后,OUT端输出高电平作为起始电平。当计数初值写入计数器后,从下一个时钟脉冲起,计数器开始作减1计数。当减到1时,OUT端输出将变为低电平。当计数端CLK输入n个计数脉冲后,在输出端OUT输出一个n分频脉冲,其正脉冲宽度为(n-1)个输入脉冲时钟周期,而负脉冲宽度只是一个输入脉冲时钟周期。

GATE用来控制计数,GATE=1,允许计数;GATE=0,停止计数。因此,可以用GATE来使计数器同步。要注意的是,在方式2下,不但高电平的门控信号有效,上升跳变的门控信号也是有效的。(二)六种工作方式方式3软、硬件启动,自动重复计数。装入初值后OUT端变高电平,然后OUT连续输出对称方波:(方波发生器)

此方式类似于方式2,但输出为方波或者为对称的矩形波。当写入控制字后,OUT端输出低电平作为起始电平,装入计数值n后,OUT端输出变为高电平。如果当前GATE为高电平,则立即开始作减1计数。当计数值n为偶数时,每当计数值减到n/2时,则OUT端由高电平变为低电平,并一直保持计数到0,故输出的n分频波为方波;当n为奇数时,输出分频波高电平宽度为(n+1)/2计数脉冲周期,低电平宽度为(n-1)/2计数脉冲周期。(二)六种工作方式方式4软件启动,不自动重复计数。装入初值后输出端变高电平,计数结束输出一个CLK宽度的负脉冲(软件触发选通)按方式4工作时,写入控制字后,输出OUT变为高电平。当由软件触发写入初始值后,若GATE=1,允许计数,计数器作减1计数,当计数器减到0时,在OUT端输出一个宽度等于一个计数脉冲周期的负脉冲。GATE=0,停止计数。(二)六种工作方式方式5硬件启动,不自动重复计数。OUT端波形与方式4相同(硬件触发选通)

此方式类似于方式4,所不同的是GATE端输入信号的作用不同。按方式5工作时,由GATE输入触发脉冲,从其上升沿开始,计数器作减1计数,计数结束时,在OUT端输出一个宽度等于一个计数脉冲周期的负脉冲。在此方式中,计数器可重新触发。在任何时刻,当GATE触发脉冲上升沿到来时,将把计数初值重新送入计数器,然后开始计数过程。(三)控制字用于确定各计数器的工作方式。8253必须先初始化才能正常工作。每个(将被使用的)计数器都必须初始化一次。CPU通过OUT指令把控制字写入控制寄存器。(四)8253的应用与系统的连接设置工作方式置计数初值编程与系统的连接示意图CLKGATEOUTD0~D7WRRDA1A0CSDBIOWIORA1A0译码器高位地址A15-A28253共三组8253占用4个接口地址:

计数器0

计数器1

计数器2

控制寄存器(决定8253的基地址)五、8253的应用初始化程序流程写控制字写计数值低8位写计数值高8位*非必须写入顺序:

可按计数器分别写入控制字和初值。

也可先写所有计数器控制字,再写入它们的初值8253应用举例采用8253作定时/计数器,其接口地址为0120H~0123H。输入8253的时钟频率为2MHz。计数器0:每10ms输出1个CLK脉冲宽的负脉冲。计数器1:产生10KHz的连续方波信号计数器2:启动计数5ms后OUT输出高电平。画线路连接图,并编写初始化程序。

8253应用举例(续)确定计数初值:

CNT0:10ms/0.5us=20000CNT1:2MHz/10KHz=200CNT2:5ms/0.5us=10000确定控制字:

CNT0:方式2,16位计数值

CNT1:方式3,低8位计数值

CNT2:方式0,16位计数值8253应用举例(续)CLK0GATE0OUT1D0~D7WRRDA1A0CSDBIOWIORA1A0译码器8253CLK2GATE1GATE2+5VCLK12MHzOUT0OUT2?线路连接图:8253应用举例初始化程序CNT0:MOVDX,0123HMOVAL,34HOUTDX,ALMOVDX,0120HMOVAX,20000OUTDX,ALMOVAL,AHOUTDX,ALCNT1:……CNT2:……8253应用举例

初始化程序CNT1:MOVDX,0123HMOVAL,56HOUTDX,ALMOVDX,0121HMOVAL(AX),200OUTDX,ALCNT1:MOVDX,0123HMOVAL,77HOUTDX,ALMOVDX,0121HMOVAX,200HOUTDX,ALMOVAL,AHOUTDX,AL8253应用举例

初始化程序CNT2:MOVDX,0123HMOVAL,0b0HOUTDX,ALMOVDX,0122HMOVAX,10000OUTDX,ALMOVAL,AHOUTDX,ALCNT2:MOVDX,0123HMOVAL,0b1HOUTDX,ALMOVDX,0122HMOVAX,10000H;OUTDX,ALMOVAL,AHOUTDX,AL

*扩展定时/计数范围

当定时长度不够时,可把2个或3个计数通道串联起来使用,甚至可把多个8253串联起来使用。例如:CLK频率为1MHz,要求在OUT1端产生频率1Hz的脉冲。这时可将计数器0、1串联,工作方式都均为方式3,计数初值均为1000。连接方法见下页。扩展定时/计数范围8253OUT1GATE1CLK1OUT0GATE0CLK0+5V+5V1MHz1KHz1Hz8253小结包含3个16位计数器通道4个编址部件:CNT0/1/2和控制寄存器每个计数器通道工作前必须初始化:控制字和计数初值6种工作方式每种工作方式:启动方式、输出波形、是否可重复计数等各不相同7.4可编程并行通信接口芯片8255A

8255A是一种可编程并行通信接口芯片,其功能与通用性更强。一、8255A芯片引脚定义与功能1.数据端口A、B、C

8255A的3个8位数据端口A、B、C各有不同特点,可以由设计者用软件使它们分别作为输入端口或输出端口。在实际使用中,A口与B口常常作为独立的输入端口或者输出端口,C口则配合A口和B口工作。具体地说,C口常常通过控制命令分成为2个4位端口,每个4位端口包含1个4位的输入缓冲器和1个4位的输出锁存器/缓冲器,它们分别用来为A口和B口输出控制信号和输入状态信号。2.A组控制和B组控制部件 这两组控制部件有两个功能:一是接收来自芯片内部数据总线上的控制字;二是接收来自读写控制逻辑电路的读/写命令,以此来决定两组端口的工作方式和读/写操作.3.读/写控制逻辑电路 读/写控制逻辑电路的功能是负责管理8255A的数据传输过程。它接收CS及来自地址总线的信号A1、A0(在8086总线中为A2、A1)和控制总线的信号RESET、WR、RD,将它们组合后,得到对A组控制部件和B组控制部件的控制命令,并将命令送给这两个部件,再由它们完成对数据、状态信息和控制信息的传输。4.数据总线缓冲器 它是一个双向三态的8位数据缓冲器,8255A正是通过它与系统数据总线相连。输入数据、输出数据、CPU发给8255A的控制字都是通过该部件传递的。二、8255A寻址方式

8255A内部有3个I/O端口和一个控制字端口,通过地址线A0、A1,读写控制线RD、WR与片选端CS进行寻址并实现相应的操作。8255A工作方式

三种基本的工作方式:方式0-基本的输入输出方式(A、B、C口都有)方式1-选通输入输出方式(A、B口有)方式2-双向传送方式(只A口有)。

8255A工作方式1、方式0

方式0不使用联络信号,也不使用中断,A口和B口可定义为输入或输出口,C口分成两个部分(高四位和低四位),C口的两个部分也可分别定义为输入或输出。在方式0,所有口输出均有锁存,C口还具有按位将其各位清0或置1的功能(当然,C口的这一功能还用于A、B口的方式一和A口的方式二)。8255A工作方式——方式1的输入8255A工作方式——方式1的输入

A口工作于方式1且用作输入口时,C口的PC4线用作选通输入信号线STBA,PC5用作输入缓冲器满输出信号线IBFA,PC3用作中断请求输出信号线INTRA。B口工作于方式1且用作输入口时,C口的PC2线用作选通输入信号线STBB,PC1用作输入缓冲器满输出信号线IBFB,PC0用作中断请求输出信号线INTRB。各状态、控制信号线

STBA(B):选通信号,输入,低有效。这是由外设送来的信号,有效时将由外设送来的位于A口(或B口)引线的8位数据锁存到A口(或B口)的输入缓冲器中。IBFA(B):输入缓冲器满,输出,高有效。这是8255A送给外设的联络信号,有效时表示数据已送入到输入缓冲器中。INTRA(B):中断请求,输出,高有效。这是8255A送给CPU的中断请求信号。当信号将外设的数据送入8255A的输入缓冲器,使IBF为有效,并且中断允许(INTE为高)时,由8255A发出的。换句话,在中断允许的前提下,输入选通信号结束时,外设已经将数据送入8255A的输入缓冲器,这时8255A向CPU提出中断请求,让CPU来读取位于8255A输入缓冲器中的数据。

8255A工作方式——方式1的输入各状态、控制信号线

INTE:中断允许。它是由内部的中断控制触发器发出的允许中断或屏蔽中断的信号。INTE=l,允许A口或B口向CPU申请中断,INTE=0,禁止A口或B口向CPU申请中断。INTE没有外部引出端,它是利用C口的按位置位/复位的功能来使其置1或清0的,INTEA由PC4控制,INTEB由PC2控制。需要指出的是,在方式1时,PC4和PC2的置位/复位操作分别用于控制A口和B口的中断允许信号,这是8255A的内部操作,这一操作对PC4和PC2引脚用于A口和B口的数据选通输入和的状态没有任何影响。8255A工作方式——方式1的输出8255A工作方式——方式1的输出各状态、控制信号线当A口工作于方式1且用作输出口时,C口的PC7线用作输出缓冲器满信号,PC6用作外设收到数据后的响应信号,PC3用作中断请求输出信号线INTRA。当B口工作于方式l且用作输出口时,C口的PC2线用作输出缓冲器满信号,PC2用作外设收到数据后的响应信号,PC0用作中断请求输出信号线INTRB。

:输出缓冲器满,输出,低有效。这是8255A送给外设的控制信号,有效时表示数据已送入到输出锁存器中,用该信号通知外设将数据取走。该信号由CPU发出的而置成低电平(变为有效)而由外设来的ACK信号使其恢复为高电平(无效)。:应答,输入,低有效。这是由外设送来的信号,有效时将表示外设已经从端口输出线上将数据取走。8255A工作方式——方式1的输出INTR:中断请求,输出,高有效。这是8255A送给CPU的中断请求信号。它是当外设将数据取走并应答信号之后,并且中断允许(INTE为高电平)时,由8255A发出的。在中断允许的前提下,信号有效时,外设已经将数据取走,这时8255A向CPU提出中断请求,让CPU输出一个新的数据。INTE:中断允许。它是由内部的中断控制触发器发出的允许中断或屏蔽中断的信号。

INTE=1,允许A口或B口向CPU申请中断,INTE=0,禁止A口或B口向CPU申请中断。它是利用C口的按位置位/复位的功能来置1或清0的,INTEA由PC6控制,INTEB由PC2控制。在方式1输出时,PC6和PC2的置位/复位操作分别用于控制A口的B口的中断允许信号,这一操作对PC6和PC2引脚用于A口和B口的数据选通输入和的状态没有任何影响。四、时序关系 按方式0工作时,因为外设与8255A之间的数据交换没有时序控制,所以只能作为简单的输入输出和用于低速并行数据通信。而按方式1工作时,设与CPU可以进行实时数据通信。CSA0A1WRRDDBPA0PA7•••PB0PB7•••+5V•••+12VK继电器384H~387H8255Q1R1R2D1RDWRA1A0五、8255A应用举例

8255A作为通用的并行输入/输出接口芯片,常用于CPU与外设之间,CPU可以通过8255A将数字量送往外设,也可以通过8255A将数字量从外设读入CPU。DB译码器8255IOWIORA1A0D0~D7A15~A2系统总线D0~D7WRRDA1A0CSPA0∶PA7PB0∶PB7PC0PC780H~83H∶74LS07×4470Ω×24470×3

设A端口、B端口、C端口工作方式0,输出,

方式选择控制字:

10000000=80H方式

温馨提示

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

评论

0/150

提交评论