微机原理-08_常用接口芯片_第1页
微机原理-08_常用接口芯片_第2页
微机原理-08_常用接口芯片_第3页
微机原理-08_常用接口芯片_第4页
微机原理-08_常用接口芯片_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

第8章 常用接口芯片,8.1 可编程定时计数器芯片8253 8.2 可编程并行I/O接口芯片8255A8.3 可编程串行接口芯片8251A 8.4 DMA控制器8237A,8.1 可编程定时/计数器芯片8253,计算机中定时信号的作用定时信号的产生办法 软件:通过编写程序;占用CPU 硬件:使用定时/计数器8253,8.1.1 8253的内部结构及其外部引脚,8253功能具有3个功能相同的16位减法计数器T0、T1和T2可进行二进制或十进制的计数/定时操作通过编程可以选择多种工作方式和计数初值可以方便地与PC总线连接,8.1.1 8253的内部结构及其外部引脚,外部引脚,8.1.1 8253的内部结构及其外部引脚,内部结构,8.1.1 8253的内部结构及其外部引脚,(1)数据总线缓冲器 将8253与系统数据总线相连接(2)读/写逻辑 接收来自CPU的控制信号(3)控制寄存器 接收CPU送来的方式控制字(4)计数器0计数器2 二进制数或十进制数的BCD码进行计数,8253端口选择表,8.1.2 8253的控制字,8253的工作方式可以通过编程序设定,将给定的工作方式控制字写入控制寄存器,就可以选定8253的计数通道,并规定计数通道的工作方式,读写格式和计数数制。8253的控制字如图所示。,8.1.2 8253的控制字,8253控制字格式,8.1.2 8253的控制字,SC1SC0:计数通道选择位。将控制字的最高2位SC1和SC0用于选择使用哪个计数器,指明该控制字将指挥哪个计数器工作。 00:计数器0 01:计数器1 10:计数器2 11:非法,8.1.2 8253的控制字,RL1RL0:读/写操作位。规定了数据读写格式。 00:将计数器中的数据锁存于缓冲器 01:选择计数器低8位读或写 10:选择计数器低8位读或写 11:选择先低后高两个字节读或写,8.1.2 8253的控制字,M2M1M0:工作方式位。 000:方式0 001:方式1 10:方式2 11:方式3 100:方式4 101:方式5BCD:计数类型位。 1: BCD计数 0: 二进制计数,8.1.3 8253工作方式与操作时序,方式0(计数结束产生中断)8253工作于方式0时,CLK端作为计数输入信号,OUT端为输出信号,当减1计数器减到零时,OUT输出高电平。,8.1.3 8253工作方式与操作时序,8253工作方式0时序,8.1.3 8253工作方式与操作时序,当GATE为1时,写入控制字后OUT信号立即变为低电平。将计数初值N写入计数初值寄存器后,从下一个CLK脉冲的下降沿开始进行减1计数,计数期间OUT端一直维持低电平,直到计数器减到零,OUT端变为高电平,并保持到重新写入计数初值或复位。OUT端输出的高电平可以作为中断请求信号使用。,8253工作方式1时序,方式1(可编程单稳脉冲方式),方式2(频率发生器),8253工作方式2时序,方式3(方波发生器),8253工作方式3时序,方式4(软件触发方式),8253工作方式4时序,方式5(硬件选通方式),8253工作方式5时序,8.1.4 初始化编程与读输出锁存器,1. 初始化的编程 对8253初始化编程包括写入控制字和写入计数初值两个步骤: (1)先将方式控制字写入计数器的控制寄存器,以确定该计数通道的工作方式。 (2)写入定时或计数的初值。如果计数值为16位,则要用两条输出指令,先写低字节,再写高字节。,1. 初始化的编程,在不需要门控信号GATE 触发的方式中,写入计数初值计数就开始了。 例如,对计数器0初始化,使其工作于方式1,按二进制计数,计数值为5080H。计数值低8位为80H,高8位为50H,假设端口地址为2A0H2A3H,则初始化程序为:,8253的控制字,8253控制字格式,8253端口选择表,1. 初始化的编程,MOV DX,2A3H ;控制端口地址为2A3HMOV AL,32H ;控制字为00110010B OUT DX,AL ;送控制字到控制字寄存器MOV DX,2A0H ;计数器0端口地址为2A0HMOV AL,80HOUT DX,AL ;先写低8位计数值到计数器0MOV AL,50HOUT DX,AL ;再写高8位计数值到计数器0,2. 读输出锁存器,CPU可用指令读取8253任通道的计数瞬间值。读之前需要锁存,锁存当前计数值有两种方法: (1)利用GATE信号使计数过程暂停。 (2)利用控制字将待读计数值锁存至锁存器。,2. 读输出锁存器,写控制字方法通过写入控制字=00,使其不受执行计数单元的变化而变化,保证CPU读出一个稳定的数值。读输出锁存器的值,也有读8位和读16位的问题,若是读16位的数据,分两次读出,先读低字节,再读高字节,即执行两次输入指令。CPU 读取此锁存值后,锁存器自动解除。,例:要读取上面例子中计数器0的16位计数值,采用锁存器锁存方式的程序为:,MOV AL,00H ;锁存计数通道0的控制字00H MOV DX,2A3H ;控制字送控制端口 OUT DX,AL MOV DX,2A0H IN AL,DX ;读取计数器0的低8位数据 XCHG AL,AH ;暂存AH IN AL,DX ;读取计数器0的高8位数据 XCHG AL,AH ;AX中为计数器0的16位计数,8.1.5 8253应用举例,1. 8253在PC机上的应用 IBM PCXT机使用一片Intel 8253,3条计数通道分别用于日时钟计时、DRAM刷新定时和扬声器发声。IBM PCAT使用与8253兼容的Intel 8254,在AT机的连接使用也与XT机一样。三条计数器通道的时钟输入CLK均连接到频率为1.193l8MHz的时钟信号,周期为0.838s。,(1)计数器0的应用 门控信号GATE0接+5V为常启状态。OUT0输出接8259A的IRQ0,用做XT的日时钟的中断请求信号。设定计数器0为方式3,计数值写入0,产生最大的计数初值为65536,因此输出信号频率为18.206Hz,即每秒产生182次中断请求,或者说每隔55ms申请一次日时钟中断。,(1)计数器0的应用,初始化程序如下:MOV AL, 36H ;设定计数器0为工作方式3, 采用二进制计数,以先低后 高字节顺序写人计数值OUT 43H, AL ;写入方式控制字MOV AL, 0 ;计数初值为0OUT 40H, AL ;写入低字节计数值OUT 40H, AL ;写入高字节计数值,(2)计数器1的应用 门控GATEl接+5V为常启状态。输出OUT1从低变高使触发器置1,Q端输出一高电平信号,作为内存刷新的请求信号,一次刷新结束,响应信号将触发器复位。 DRAM每个单元要求在2ms内必须刷新次。实际芯片每次刷新操作完成512个单元,所以经过128次刷新就能将全部芯片的64KB刷新一遍。由此可算出每隔2ms12815.6us进行次刷新操作。,(3)计数器2的应用 微机系统中,计数通道2的输出加到扬声器上并控制其发声,作为机器的报警或伴音信号。门控GATE2接并行口位,用它控制通道2的计数过程。在XT机中是并行接口电路8255的端口位,受IO端口地址61H的位控制。输出OUT2经过一个与门,这个与门受位控制。受IO端口地址61H的位控制,XT机中是8255的位。所以扬声器可由或分别控制发声。,8255A是Intel80x86系列微处理机的配套并行接口芯片,它可以为CPU与外设之间提供并行输入/输出的通道。8255A有三个8位的并行I/O口,可通过编程设置多种工作方式,通常不需要附加外部电路,在中小系统中有着广泛应用。具备较强的功能。,8.2 可编程并行I/O芯片8255A,8255A是一个有40条引脚的双列直插式芯片,主要有3个数据输入/输出端口,即A口、B口和C口,还包括A组控制器和B组控制器、数据缓冲器和读写控制逻辑。,8.2.1 8255A芯片的内部结构及其功能,8.2.1 8255A芯片的内部结构及其功能,8255引脚图,8255A是Intel80x86系列微处理机的配套并行接口芯片,它可以为CPU与外设之间提供并行输入/输出的通道。8255A有三个8位的并行I/O口,可通过编程设置多种工作方式,通常不需要附加外部电路,在中小系统中有着广泛应用。具备较强的功能。,8.2 可编程并行I/O芯片8255A,1. 输入/输出端口A、B、C 8255A内部包含3个8位的输入/输出端口,通过外部的24根引脚与外设交换数据,24根引脚分别是PA7PA0,PB7PB0和PC7PC0。端口C可分成两个4位端口,分别与端口A和端口B配合工作,通常是将端口A和端口B定义为输入输出的数据端口,而端口C可作为状态或控制信息的传送端口。,2. A组和B组控制器 端口A与端口C的高4位(PC7PC4)构成A组,由A组控制器实现控制功能,端口B与端口C的低4位(PC3PC0)构成B组,由B组控制器实现控制功能。它们各有一个控制单元,可接收来自读写控制部件的命令和CPU通道数据总线(D7D0)送来的控制字,并根据它们来定义各个端口的操作方式。,3.数据总线缓冲器 三态双向8位数据缓冲器,是8255A与系统总线的接口。它直接与CPU的数据总线相连,实现CPU与8255A接口之间的信息传递,与此关联的引脚是数据线D7D0。CPU执行输出指令时,可将控制字或数据通过数据总线缓冲器传送给8255A;CPU执行输入指令时,8255A可将状态信息或数据通过总线缓冲器传送给CPU。,读/写控制逻辑是8255A内部完成读/写控制功能的部件,它接收来自CPU的控制信号,并根据这些信号向片内各功能部件发出操作命令。,4.读写逻辑控制,4.读写逻辑控制,8255A的寻址和读写操作控制,8255A提供如下三种工作方式: 方式0:基本输人/输出方式。 方式1:选通输人/输出方式。 方式2:双向传送方式。 端口A可工作于上述三种工作方式,端口 B只可工作于两种方式(方式0和方式1),端口C只可工作于方式0。,8.2.2 8255A控制字及其工作方式,(1)工作方式控制字 方式控制字用来决定8255A的工作方式,控制字格式如图8-15所示。工作方式控制字可将三个端口分别定义为两组,即A口和C口的高4位为一组(A组),B口和C口的低4位为一组(B组)。当端口A工作于方式1、方式2或端口B工作于方式1时,会使用端口C的某些位作控制信号用,这时就需要使用一个专门的置位复位控制字来对控制端口C的各位分别进行置位和复位操作。,8255控制字格式,置位复位控制字可对端口C的任意一位进行置位或复位的操作复位操作。,(2)置位复位控制字,(1)工作方式0(基本输入/输出方式) 工作方式0只能完成简单的并行输入输出操作。A口、B 口、C 口均可工作在此方式下,其中端口C被分成两个4位端口,可分别被定义为输入或输出端口。CPU与三个端口之间交换数据可直接由CPU执行IN和OUT指令来完成,而不提供任何“握手”信息。,2. 8255A的工作方式,工作方式1是一种选通输入/输出方式,在这种工作方式下,A口和B 口数据输入/输出操作要利用C口所提供的选通信号和应答信号。,(2)工作方式1(选通输入/输出方式),方式1下,A、B口均为输入的信号定义,(2)工作方式1(选通输入/输出方式),如果将8255A中的端口A和端口B均定义为工作方式1完成输出操作功能,端口C的PC6、PC7和PC3PC0被用作控制信号,只有、两位可完成数据输入或输出操作。,(2)工作方式1(选通输入/输出方式),方式1下,A、B口均为输出的信号定义,(2)工作方式1(选通输入/输出方式),8255A只允许A口工作在方式2下,用来在两台处理机之间实现双向并行通信。端口A工作于方式2所需要的5个控制信号分别由端口C的PC7PC3来提供。 当端口A工作于方式2时,允许端口B工作于方式0或方式1完成输入输出功能。这时C口剩下的3位(PC2PC0)既可以作输入/输出线使用,也可以作B口方式1下的控制线。,(3)工作方式2(双向I/O方式),方式2下的信号定义,并行接口都有多种的用途,可以连接外部设备,进行数据传送;也可以与其他计算机连接,进行数据通信。 Intel 8255A作为通用的并行接口电路芯片,具有广泛的应用,可以应用于打印机接口电路,可以用来连接简易键盘,可以用于驱动LED数码管等等。,8.2.3 8255A的应用,编程设置8255A的A组、B组均工作于方式0,A口输出,B口输出,C口高4位输入,低4位输出。然后,读入开关S的状态,若S打开,则使发光二极管熄灭;若S闭合,则使发光二极管点亮。,例8-1 如图,设8255A端口地址为2F802F83H.,MOV AL,88H ;8255B口方式0输出, C口高位输入 MOV DX,2F83H ;控制字端口 OUT DX,AL MOV

温馨提示

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

评论

0/150

提交评论