《微机原理与接口技术-唐彦》第七章常用数字接口电路pa_第1页
《微机原理与接口技术-唐彦》第七章常用数字接口电路pa_第2页
《微机原理与接口技术-唐彦》第七章常用数字接口电路pa_第3页
《微机原理与接口技术-唐彦》第七章常用数字接口电路pa_第4页
《微机原理与接口技术-唐彦》第七章常用数字接口电路pa_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1、,2. 内部结构和工作原理 1)计数器(0、1、2) 2)控制寄存器 3)数据总线缓冲器 4)读写控制逻辑,计数器工作方式一览表,8253必须先初始化才能正常工作,每个计数通道可分别初始化 CPU通过指令将控制字写入可编程定时器8253的控制寄存器,从而确定3个计数器分别工作于何种工作方式下。 8253的控制字具有固定的格式,7.2.3 8253的控制字,例如,已知某个8253的计数器0、1、2和控制端口依次为40H43H。要求设置其中的计数器0为方式0,采用二进制计数,先低字节后高字节写入计数值。初始化程序段如下: MOV AL, 30H OUT 43H, AL 计数器0写入计数初值1024

2、(=400H),初始化程序为: MOV AX, 1024 OUT 40H, AL MOV AL, AH OUT 40H, AL,1. 8253与系统的连接 8253共占用4个端口地址 信号CS、A0、A1与读信号/RD、写信号/WR配合,可以实现对8253的各种读写操作。,7.2.4 8253的应用,8253连接到系统总线的连接图:,2. 8253的编程 也称为对8253进行初始化。包括两个部分: 写各计数器的方式控制字 设置计数初值。 初始化的方法有两种: (1)以计数器为单位逐个进行初始化 (2)先写所有计数器的方式字,再装入各计数器的计数值,例7-1, 在IBM PC系统板上使用了一块8

3、253定时/计数器,其计数器0(CNT0)用于为系统的电子钟提供时间基准,它的输出端作为系统的中断源接到8259的IR0端;计数器1(CNT1)用于DRAM的定时刷新;计数器2(CNT2)主要用作机内扬声器的音频信号源,可输出不同视频的方波信号。图7-16是简化了的IBM PC内8253的连接图,其接口地址采用部分译码方式,占用的设备端口地址为40H5FH。以下编程中,使用了地址中的40H43H。,1. 定时中断 通过阅读系统ROM-BIOS的初始化编程,结合硬件连接图分析计数器0的作用。,MOV AL, 36H OUT 43H, AL MOV AL, 0 OUT 40H, AL OUT 40

4、H, AL,2. 定时刷新:,MOV AL, 54H OUT 43H, AL MOV AL, 18 OUT 41H, AL,3. 扬声器控制:,MOV AL, 0B6H OUT 43H, AL MOV AX, 1190 OUT 42H, AL MOV AL, AH OUT 42H, AL IN AL, 61H MOV AH, AL OR AL, 03 OUT 61H, AL MOV AL, AH OUT 61H, AL,例7-2,写出图7-13中8253的初始化程序,其中,3个CLK频率均为2MHZ,计数器0在定时100微秒后产生中断请求,计数器1用于产生周期为10微秒的对称方波;计数器2每1

5、毫秒产生1个负脉冲。,7.1 并行通信与串行通信,7.1.1 并行通信 特点 以计算机的字长,通常是8位、16位或32位为传输单位,一次传送一个字长的数据 适合于外部设备与微机之间进行近距离、大量和快速的信息交换 与实际传送位数无关 对传送的信息不要求固定格式 微机系统中最基本的信息交换方法 例如:系统板上各部件之间,接口电路板上各部件之间。,分类 输入和输出 单向和双向 数字和模拟 简单接口和可编程接口,具有多种功能的可编程并行接口电路芯片 最基本的接口电路:三态缓冲器和锁存器 与CPU间、与外设间的接口电路:状态寄存器和控制寄存器 还有端口的译码和控制电路、中断控制电路 共24个外设引脚,

6、分3个端口、2组控制; 共3种输入输出工作方式 方式0基本输入输出 方式1选通输入输出 方式2双向选通输入输出,7.3 可编程并行接口8255,7.3.1 8255的引线及结构 1. 外部引线及结构 引脚含义 D0D7:双向数据信号线 /RD:读信号线,低电平有效 /WR:写信号线:低电平有效 /CS:片选信号,低电平有效 A0、A1:输入寄存器选通信号 RESET:复位输入信号 PA0PA7:A口的8条输入/输出信号线 PB0PB7:B口的8条输入/输出信号线 PC0PC7:C口的8条输入/输出信号线,2内部结构 1)数据端口 2)A组和B组控制电路 3)读写控制逻辑 4)数据总线缓冲器,端

7、口A:PA0PA7 A组,支持工作方式0、方式1、方式2 常作数据端口,功能最强大 端口B:PB0PB7 B组,支持工作方式0、方式1 常作数据端口 端口C:PC0PC7 仅支持工作方式0 A组控制PC4PC7,B组控制PC0PC3 分成两个4位端口 可作数据、状态和控制端口 控制最灵活,最难掌握,3种基本工作方式:方式0、方式1、方式2 方式0:基本输入输出方式 适用于无条件传送和查询方式的接口电路 方式1:选通输入输出方式 适用于查询和中断方式的接口电路 方式2:双向选通传送方式 适用于双向传送数据的外设 适用于查询和中断方式的接口电路,7.3.2 8255的工作方式,1. 方式0基本输入

8、输出方式 24条I/O线全部由用户分配功能 端口信号线之间无固定的时序关系 输出锁存,输入只有缓冲能力而无锁存能力 单向I/O,一次初始化只能指定某一端口作输入或作输出,不能使该端口同时既作输入又作输出。 分成彼此独立的两个8位和两个4位并行口 只能把C口的高4位为一组或低4位为一组同时输入或输出。 C口有按位进行置位和复位的能力,方式0输入时序,方式0输出时序,2. 方式1选通输入输出 A口、B口可以工作在方式1,C口不行 PA和PB为数据口,而PC口的大部分引脚分配做联络信号用,用户对这些引脚不能再指定其他用途 设置专用的中断请求和联络信号线。 数据的输入输出都有锁存能力 各联络信号线之间

9、有固定的时序关系,传送数据时要严格按照时序进行。 输入/输出操作产生确定的状态字,这些状态信息可作为查询或中断请求用。,2. 方式1 选通输入/输出方式。A口和B口仍作为数据的输出口或输入口,但数据的输入/输出要在选通信号控制下来完成。这些选通信号利用C口的某些位来提供。 1)A口、B口均为输出: 利用C口的6条线作为选通控制信号线。A口使用PC3、PC6和PC7,而B口使用PC0、PC1和PC2。,/OBF输出缓冲器满信号,低电平有效 8255A输出给外设的控制信号 当其有效时,表示CPU已把数据输出给指定的端口,外设可以取走 /ACK响应信号,低电平有效 外设的响应信号,指示8255A的端

10、口数据已由外设接收 INTR中断请求信号,高电平有效 当输出设备已接收数据后,8255A输出此信号向CPU提出中断请求,要求CPU继续提供数据。,A口B口均为输出时的输出过程 系统在/IOW信号有效期间将数据输入到A端口或B端口 接口输出缓冲器满信号/OBF通知外设,在规定的端口上已有一个有效数据,外设可以从该端口读走数据。 外设在该端口读走数据后,发出响应信号/ACK,同时使/OBF=1 外设取走一个数据后,其/ACK信号的上升沿产生有效的INTR信号,该信号用于通知CPU可以再输入下一个数据。INTR的有效条件为/OBF=1,/ACK=1,INTE=1 8255内部有一个中断触发器,当中断

11、允许状态INTE为高电平,且/OBF也变高时,产生有效的INTR信号。INTE由PC6或PC2的置位/复位控制,2)A口、B口均为输入: 利用C口的6条线作为选通控制信号线。A口使用PC3、PC4和PC5,而B口依然使用PC0、PC1和PC2。,/STB选通信号,低电平有效 由外设提供的输入信号 当其有效时,将输入设备送来的数据保存至8255A的输入缓冲器 IBF输入缓冲器满信号,高电平有效 8255A输出的联络信号 有效时,表示数据已保存在输入缓冲器。 INTR中断请求信号,高电平有效 8255A输出的信号,可用于向CPU提供中断请求,要求CPU读取外设数据,A口B口均为输入时的输出过程 外

12、部设备发出/STB信号,并在/STB信号有效期间将数据锁存于输入数据缓冲器中 接口输入缓冲器满信号IBF,它作为/STB的应答信号,表示8255的缓冲器中有一个数据尚未被CPU读走。 当/STB=1时会使内部中断触发器INTE和IBF均为高电平,产生有效的INTR信号,向CPU发出中断请求 INTR信号可用于通过8259向CPU发出中断请求,要求CPU从8255的端口上读取数据。CPU响应中断并读取数据后使/IBF和INTR变为无效。,3. 方式2 方式2将方式1的选通输入输出功能组合成一个双向数据端口,使外设能利用8位数据线与CPU进行双向通信 只有A口可以工作在这种方式下。需要利用端口C的

13、5根信号线来提供双向传输所需的控制信号,其作用与方式1相同。 时序关系基本上是方式1下输入和输出两种操作的组合。 A口工作于方式2下时的各信号定义如图,1. 控制字 包括用于设定3个端口工作方式的方式控制字。,7.3.3 8255的控制字及状态字,2. 状态字 反映了C端口各位当前的状态。,8255A的编程 初始化编程:设置工作方式,方式控制字 采用控制I/O地址:A1A0=11 工作过程中:读写数据端口 数据读写利用端口A、B和C的I/O地址,A1A0依次为00、01、10 IBM PC/XT机上,端口A、B、C和控制端口的I/O地址为60H、61H、62H和63H。,例如,要把A端口指定为

14、方式1输入,C端口上半部分指定为输出,B端口指定为方式0输出,C端口下半部分指定为输入。 方式控制字:10110001B或B1H 初始化的程序段 MOV DX, 63H; 假设控制端口的地址为63H MOV AL, 0B1H; OUT DX, AL,初始化编程后: 当数据端口作为输入接口时,执行输入IN指令得到外设数据 当数据端口作为输出接口时,执行输出OUT指令将数据送给输出设备 8255A具有锁存输出的能力 对输出方式的端口同样可以输入; 但不是读取外设数据,而是读取上次CPU给外设的数据 例如:要求对输出端口B的PB7位置位,假设端口B的地址为301H. MOV DX, 301H IN

15、AL, DX; 读出B端口原输出内容 OR AL, 80H; 使PB7=1 OUT DX, AL; 输出新的内容,读写端口C: C端口被分成两个4位端口 这两个端口只能以方式0工作,可分别选择输入或输出 C端口高4位和A端口编为A组 C端口低4位和B端口编为B组 当A和B端口工作在方式1或方式2时,C端口的部分或全部引脚将被征用 未被征用的引脚仍可设定工作在方式0,对C端口的数据输出有两种方法: 通过端口C的I/O地址 向C端口直接写入字节数据 数据被写进C端口的输出锁存器,并从输出引脚输出,但对设置为输入的引脚无效 通过控制端口 向C端口写入按位置位/复位控制字,使C端口的某个引脚输出1或0

16、 例如,要把PC2引脚置高,则编程 MOV DX, 303H; 设控制寄存器端口地址为303H MOV AL, 00000101B OUT DX, AL,读取C端口的数据有两种情况: 未被A和B端口征用的引脚 将从定义为输入的端口读到引脚输入信息 将从定义为输出的端口读到输出锁存器中的信息 被A和B端口征用的引脚 将读到反应8255A状态的状态字 例如,在方式1输入下,若允许PA口输入中断请求,则必须设置INTE=1,即置PC4=1 MOV DX, 303H; 设控制寄存器端口地址为303H MOV AL, 00001001B; PC4=1,允许中断请求 OUT DX, AL,作为通用的并行接

17、口电路芯片,825A具有广泛的应用 应用在IBM PC/XT微机上 应用于打印机接口电路 连接简易键盘 驱动LED数码管 ,7.3.4 8255的应用,1. 8255与系统的连接 8255内部包括A、B、C共3个端口和一个控制寄存器,共占4个外设地址。 对8255内部的每一个端口都可以分别进行读写操作。,2. 软件设计 对于8255克编程接口,软件设计包括初始化程序设计和实现数据传输的控制程序设计两部分。 3. 应用实例,8255A在IBM PC/XT上的应用 端口A为方式0输入,用来读取键盘扫描码 端口B工作于方式0输出,例如控制扬声器等 端口C为方式0输入,读取系统状态和配置,例7-3用8255A方式0与打印机接口 选用A口作为数据输出,向打印机输出数据; 利用C口的PC6输出/STORE锁存信号,PC1作为BUSY信号的输入,INIT:

温馨提示

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

评论

0/150

提交评论