




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第10章 可编程外围接口芯片8255A及其应用,10.1 概述 10.2 8255A的工作原理 10.3 8255A的应用举例,并行接口 并行通信: 各位数据都是并行传输的,它以字节(或字)为单位与I/O设备或被控对象进行数据交换。 并行通信由并行接口来完成,并行接口是连接CPU与并行外设的通道。 特点: 传输速度快;硬件开销大;只适合近距离传输。一个并行接口中包括状态信息、控制信息和数据信息。,10.1 概述10.1.1 并行通信,状态信息 表示外设当前所处的工作状态。 例如:准备好信号表示输入设备已经准备好信息; 忙信号(BUSY)表示输出设备正在输出信息,等于指示CPU要处于等待状态。
2、控制信息 控制信息是由CPU发出的,用于控制外设接口的工作方式以及外设的启动和停机信息等。,数据信息 CPU与并行外设数据交换的内容。 状态信息、控制信息和数据信息,通常都是通过数据总线传送,这些信息在外设接口中分别存取在不同的端口中。 对于一个外设接口,常常需要几个端口才能满足和协调外部设备的工作与要求,图10.1是一个典型的并行接口与CPU、外设的连接图。,图10.1 并行接口与CPU、外设的连接,控制寄存器,状态寄存器,输入缓冲寄存器,输出缓冲寄存器,CPU,总线系统,输,入,设,备,输,出,设,备,数据总线,输出数据准备好,输入数据准备好,中断请求,地 址,译码器,复位,地址总线,AE
3、N,CS,A,0,A,1,IOR,IOW,输入数据,输入数据准备好,输入应答,输出数据,输出数据准备好,输出应答,2. 并行接口的组成 状态寄存器 状态寄存器用来存放外设的信息,CPU通过访问这个寄存器来了解某个外设的状态。 控制寄存器 并行接口中有一个控制寄存器,CPU对外设的操作命令都寄存在控制寄存器中。 数据缓冲寄存器 在并行接口中还设置了输入缓冲寄存器和输出缓冲寄存器,缓冲器是用来暂存数据,可以保证输入,输出数据的可靠性。因为外设与CPU交换数据,CPU的速度远远高于外设的速度。,3. 数据输入过程 数据输入过程,指的是外设向CPU输入数据。 4. 数据输出过程 数据输出过程,指的是C
4、PU向外设输出数据。,串行通信: 所谓串行通信是通过一位一位地进行数据传输来实现通信。 特点: 具有传输线少,成本低等优点,适合远距离传送;缺点是速度慢。若并行传送n位数据需时间T,则串行传送的时间最少为nT。 在实际传输中,是通过一对导线传送信息。在传输中每一位数据都占据一个固定的时间长度。 1. 串行接口的组成 串行接口是通过系统总线和CPU相连,串行接口部件的典型结构如图10.2所示。主要由控制寄存器、状态寄存器、数据输入寄存器和数据输出寄存器4部分组成。,10.1.2 串行通信,图10.2 串行接口与CPU、外设的连接,控制寄存器 控制寄存器用来保存决定接口工作方式的控制信息。 状态寄
5、存器 状态寄存器中的每一个状态位都可以用来标识传输过程中某一种错误或当前传输状态。 数据寄存器 数据输入寄存器:串行数据一位一位地从传输线进入,经过串入并出(串行输入并行输出)电路的转换,当接收完一个字符之后,数据就从移位寄存器传送到数据输入寄存器,等待CPU读取。,数据输出寄存器:CPU输出一个数据时,先送到数据输出缓冲寄存器,然后传到移位寄存器,经过并入串出(并行输入串行输出)电路的转换一位一位地通过输出传输线送到对方。,并行接口电路,在早期的微机中与串行口、软盘接口、硬盘接口等都放在一块多功能接口卡上,插在微机的扩展槽上使用。现在这部分电路已在微机的主板上由与CPU配套的北桥芯片组来实现
6、其功能。 在电路设计时采用专用的接口芯片,可编程的接口芯片8255A是完成并行通信的集成电路芯片。,10.2 8255A的工作原理,8255内部结构和引脚图 (a) 8255A内部结构;(b) 8255A外引脚图,可编程并行接口芯片应具有的功能:,(1) 具有两个以上的输入/输出数据端口(锁存/缓冲); (2) 每个数据端口有与CPU用应答方式交换信息所必须的控制和状态信息;也有与外设交换信息所必须的控制和状态信息; (3) 通常每个数据端口还具有能用中断方式与CPU交换信息所必须的电路; (4) 具有进行片选和读写控制的电路; (5) 可编程(由程序来选择数据端口,数据传送方向,交换信息的方
7、式等)。,一、8255A的结构和功能,端口A和端口B可用作8位 数据I/O口,端口C既可作为8位I/O口,又可作为两个4位I/O口,还常用来配合A口和B口工作,作为控制信号输出、或作为状态信号输入。,(二) 控制逻辑,这是两组根据CPU的编程命令控制8255A工作的电路,控制寄存器用来接收CPU送来的命令字,以决定A组、B组的工作方式,或对C口的每一个位执行位操作。,(五) 端口寻址,(六) 方式选择,方式0:基本输入输出,方式1:选通输入输出,方式2:双向传送,二、8255A的控制字,1、方式选择控制字,8255A有3种基本的工作方式,在对8255A进行初始化编程时,应向控制寄存器写入方式选
8、择控制字,以规定各端口的工作方式。,方式选择控制字格式,例:在一个8086/8088系统中,有一片8255芯片,其各个端口的地址分别为0F8H0FBH,现要求各个端口的工作方式为: 端口A 方式0 输入 端口B 方式1 输出 端口C(上半部) PC7 PC4 输出 端口C(下半部) Bit3 输入 要求:进行初始化编程,分析:根据8255工作模式可确定方式控制字,95H,初始化编程:,MOV AL,95H OUT 0FBH,AL,C口按位置位/复位控制字格式,例:要使端口C的bit3置位的控制字为:00000111B; MOV AL,00000111B OUT 0FBH,AL 而使端口C的bi
9、t3复位的控制字为:00000110B ; MOV AL,00000110B OUT 0FBH,AL,三、8255A的工作方式,1、方式 0基本输入输出方式,适用于不需要应答信号的简单I/O场合。,A口和B口可作为8位端口,C口的高4位和低4位可作为两个4位的端口,且每个端口均可作为输入口或输出口用。,数据输出有锁存,输入无锁存。,方式0的输入时序,方式0的输出时序,方式0一般用于无条件传送的场合,不需要应答式联络信号,外设总是处于准备好的状态。 也可以用作查询式传送,查询式传送时,需要有应答信号。可以将A端口、B端口作为数据口使用。C端口则可用来输出一些控制信息,或输入外设的状态。利用C端口
10、配合A端口和B端口完成查询式的I/O操作。,当A端口和B端口以方式1进行输入输出时,必须利用C端口提供的固定的选通和应答信号,该方式也称选通输入/输出方式。 方式1的基本定义是: 分成A组和B组,每组包含一个8位的数据端口和1个4位的控制/数据端口。 可作输入,也可作输出,且输入和输出都可以被锁存。,2. 方式1-选通输入/输出方式,规定:PC3PC5分配给A端口作联络线, PC0PC2分配给B端口作联络线, C端口剩下的2位PC7、PC6可作为简单的输入/输出线使用。,1) 选通的输入方式,方式1选通输入下对应的控制信号图 (a) 对A端口;(b) 对B端口,8255A方式l输入时序图,选通
11、输入方式的工作过程: 当外设数据已送到8255A某个端口的数据线上时,就发出选通输入信号STB,将数据通过A端口或B端口锁存到8255A的数据输入寄存器。STB信号变低将使输入缓冲器满信号IBF变高,如图10.13中表示的箭头。输入缓冲器满意味着将阻止外设输入新的数据。,8255A方式1输入时序参数说明表,选通的输入方式CPU如何读取数据? 1、采用查询式输入,CPU先查询IBF是否为高? 若IBF为高,8255A的输入缓冲器就为满,则CPU可从8255A读入数据。 2、采用中断方式传送数据,先用C端口置1/置0的控制字使相应的端口允许中断,也就是要使PC4或PC2置1。,这种方式的工作过程与
12、选通输入的情况相类似。对应的C端口也是固定分配。 规定:PC3、PC6、PC7分配给A端口; PC2、PC1、PC0分配给B端口, 剩下的2位PC4、PC5可作为简单的输入/输出线使用。 当控制字的D3位为“1”时,PC4、PC5作输入;当控制字的D3位为“0”时,PC4、PC5作输出。,2) 选通的输出方式,方式l输出时C端口对A、B端口的控制图 (a) 对A端口;(b) 对B端口,8255A方式1输出时序图,8255A方式1输出时序参数说明表,双向方式8255A可以向外设发送数据,同时CPU通过这8位数据线又接收外设的数据。传输过程由C端口对A端口进行控制,所以称为带选通的双向传输方式。
13、方式2的基本定义: 只能适用于A端口,一个8位的双向端口(A端口)和1个5位的控制端口(C端口)。 A端口的输入和输出都可以被锁存。在这种方式下,C端口中高5位PC7PC3作为控制信号和状态信息使用,剩下的3位PC2PC0可作为简单的输入/输出线使用。,3. 方式2-带选通的双向传输方式,方式2时C端口对A端口的控制信号图,INTR:中断请求信号,高电平有效。对应PC3,不论A端口工作在输入方式还是工作在输出方式,当一个操作完成,并且要进入下一个操作时,8255A都要向CPU发出中断请求信号。 INTEl:输出中断允许信号。为“1”时,允许向CPU发出由A端口输出数据的中断请求信号。反之,即使
14、输出缓冲器空,也不允许8255A向CPU发中断请求信号。INTEl信号的置1或置0,是用软件使C端口的PC6置1或置0来实现的。 INTE2:输入中断允许信号。为“1”时,允许A端口的输入处于中断允许状态,反之,不允许中断。INTE2信号的置1或置0,同样是用软件通过C端口的PC4置1或置0来实现。 * 方式2的工作时序基本相当于方式1的选通输入时序和选通输出的时序的组合。,图10.17 8255A方式2时序,表10-6 8255A方式2时序的参数说明,方式0:基本输入输出方式 适用于无条件传送和查询方式的接口电路,A、B、C三个端口均可 。 方式1:选通输入输出方式 适用于查询和中断方式的接
15、口电路,A 、B两个端口均可。 方式2:双向选通传送方式 适用于双向传送数据的外设,只有A端口才有。 适用于查询和中断方式的接口电路 初始化编程后: 当数据端口作为输入接口时,执行输入IN指令将从输入设备得到外设数据 当数据端口作为输出接口时,执行输出OUT指令将把CPU的数据送给输出设备,8255A有三种工作方式,用户可以通过编程来设置,总结:,各工作方式的C口情况,4. C口状态字,8255A工作在方式0时,C口各位作输入输出用。当工作在方式1和方式2时,C口产生与外设的联络信号。此时。读入C口各位的内容可检查或测试外设的状态。C口的状态字如下:,(1)方式1,(2)方式2,10.3 82
16、55A的应用举例,8255A先要初始化,写入控制字,指定它的工作方式,然后才能进行数据的传输。 对8255A的编程涉及到两个内容: 写控制字设置工作方式等信息, 使C口的指定位置位/复位的功能。 注:均写入控制端口,8255A作为开关K0K3及七段LED显示器接口。要求开关设置的二进制信息,由PC0PC3输入,经程序转换为对应的七段LED显示器的字形代码后,由PA口输出显示。,一、基本输入输出应用举例,各端口地址为:E8HEEH,8255A各端口地址确定:,8255A方式选择控制字:,LED显示器的字形代码表存放在TABLE单元开始的内存中. 数据段中定义:,TABLE DB 0C0H, 0F
17、9H, 0A4H, 0B0H, 99H, 92H, 82H, 0F8H DB 80H, 98H, 88H, 83H, 0C6H, 0A1H, 86H, 8EH,81H,代码段实现操作的具体程序如下:,MOV DX, 0E8H;指向端口A OUT DX, AL;输出字形码显示 HLT,MOV DX,0EEH ;设置8255A工作方式 MOV AL,81H OUT DX,AL,MOV DX,0ECH ;指向端口C,读开关状态 IN AL,DX AND AL,0FH,LEA BX,TABLE ;显示代码表首地址送BX XLAT ;查表,取出相应的字形码送AL,二、七段LED显示器接口电路,1、软件译
18、码法,PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7,8 2 5 5,DB7-DB0,方案1 共阳极LED显示器与同相驱动器接口,同 相 驱 动 器,+5V,PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7,8 2 5 5,DB7-DB0,方案2 共阴极LED显示器与反相驱动器接口,反 相 驱 动 器,D7 D6 D5 D4 D3 D2 D1 D0 dp g f e d c b a,0(C0H) 1 1 0 0 0 0 0 0,9(90H) 1 0 0 1 0 0 0 0,1(F9H) 1 1 1 1 1 0 0 1,2(A4H) 1 0 1 0 0 1 0 0,
19、3(B0H) 1 0 1 1 0 0 0 0,4(99H) 1 0 0 1 1 0 0 1,5(92H) 1 0 0 1 0 0 1 0,6(82H) 1 0 0 0 0 0 1 0,7(F8H) 1 1 1 1 1 0 0 0,8(80H) 1 0 0 0 0 0 0 0,(低电平输出点亮),D7 D6 D5 D4 D3 D2 D1 D0 dp g f e d c b a,0(3FH) 0 0 1 1 1 1 1 1,9(6FH) 0 1 1 0 1 1 1 1,1(05H) 0 0 0 0 0 1 1 0,2(5BH) 0 1 0 1 1 0 1 1,3(4FH) 0 1 0 0 1 1
20、1 1,4(66H) 0 1 1 0 0 1 1 0,5(6DH) 0 1 1 0 1 1 0 1,6(7DH) 0 1 1 1 1 1 0 1,7(07H) 0 0 0 0 0 1 1 1,8(7FH) 0 1 1 1 1 1 1 1,(高电平输出点亮),2、利用专用芯片驱动LED显示器,利用接口芯片7447驱动LED显示器 7447为BCD(09)七段译码器,(1)与单个LED的连接,R=(51.5 0.2)V/ 20mA=168 取限流电阻R=150 ,BCD输入,PA0PA1PA2PA3 PA4 PA5PA6 PA7,DB0DB7,DB0DB7,(2)7447BCD七段译码器与多个LE
21、D的连接,5V,静态显示器的设计,(器件多时,增加成本,加大功耗),动态显示器的设计,+5V,显示控制程序,LEA SI,BUFF MOV CX,07H MOV DL,0FEH,MOV AL,SI,OUT POTB,AL MOV AL,DL OUT POTA,AL,INC SI ROL DL,小系统常用显示接口电路,LEA SI,BUFF MOV CL,40H MOV BX,LED-ADD,DISI:MOV AL,SI XLAT,MOV DX, POTB OUT DX,AL MOV AL,CL MOV DX, POTA OUT DX,AL,INC SI SHR CL,JNZ DISI,显示控制
22、程序,键盘是最常用的一种输入设备。有两种类型: 编码键盘和非编码键盘。,编码键盘能自动提供对应于被按键的编码,如ASCII码,并能同时产生一个脉冲通知CPU。编码键盘还具有处理抖动和多键串键的保护电路。这种键盘的优点是使用方便,但需要较多的硬件,价格昂贵。,非编码键盘有一组开关组成,提供行和列的键盘矩阵,其工作过程:按键的识别;按键代码的产生;防止串键和消除抖动等均由程序来实现。故这种键盘的优点是所需要的硬件较少,价格便宜,宜用微机化仪表的面板的键盘。,三、键盘接口,按键特性,硬件去抖动和软件去抖动,软件方法: (用于键较多的场合。) 检测有键闭合,延时10ms20ms左右,再检测,仍保持闭合
23、,则确认为有键按下。,硬件方法:利用RS触发器,用于键较少的场合。,键盘结构:独立式按键 、矩阵式键盘,工作原理,键盘扫描过程:,(1)检测键盘上所有的键是否都松开,反复检测直至全松开。,(2)检测键盘上是否有键按下,反复检测直至有键按下。,(3)若有键按下,则消除键抖动后(硬件消抖动电路,软件延时消抖动下),再确认该键是否按下。,(4)对按下的键进行编码,即将该键所在的行号和列号转换成16进制代码。,(6)根据代码转相应功能子程序。,注:若在按键时,多个键盘同时按下,可取最后松开的按键作为本次按下的键。,(5)检测该键是否松开,反复检测直至松开。,初始化: PORT-A EQU 0FF9H
24、;8255A口地址 PORT-B EQU 0FFBH ;8255B口地址 PORT-CTL EQU 0FF9H ;8255控制口地址 TABLE DB 77H, 7BH, 7DH,7EH DB 0B7H, 0BBH, 0BDH,0BEH DB 0D7H, 0DBH, 0DDH,0DEH DB 0E7H, 0EBH, 0EDH,0EEH,;程序开始略 8255初始化:方式0,A口输出,B口、C口输入 MOV DX, PORT-CTL ;DX指向控制口 MOV AL, 10001011B ;控制字 OUT DX, AL ;写入控制字,MOV DX, PORT-A ;DX指向A口 MOV AL, 0
25、0H OUT DX, AL,WO: MOV DX, PORT-B ;DX指向B口 IN AL, DX ;输入B口 AND AL,OFH CMP AL,OFH ;各键均未按下 JNE WO ;否,继续等,WR: IN AL, DX ;输入B口 AND AL,OFH CMP AL,OFH ;是否有键按下 JE WR ;否,等待,MOV CX, 16EAH DELAY: LOOP DELAY,WR: IN AL, DX ;输入B口 AND AL,OFH CMP AL,OFH ;是否有键按下 JE WR ;否,等待,MOV AL,0FEH ;置行扫描初值 MOV CL,AL ;暂存于C N-R: MO
26、V DX,PORT-A OUT DX, AL ;输出行扫描值 MOV DX, PORT-B ;DX指向B口 IN AL, DX ;输入B口 AND AL, OFH CMP AL, OFH ;有键按下 JNE ENCODE ;是,转编码 ROL CL, 01 ;否,修改扫描初值 MOV AL, CL JMP N-R ;扫描下一行,ENCODE: MOV BX,000FH ;置键代码初值 IN AL,DX ;读入行列号 NEXT-T: CMP AL, TABLEBX ;与表中行列号相等吗 JE DONE ;相等转DONE DEC BX ;不相等,修改位置 JNS NEXT-T ;未查完,继续 MOV AH, 01 ;查完,未查到,置出错标志 JMP EXIT ;退出 DONE: MOV AL, BL ;键代码送AL MOV AH, 00 ; 键有效标志00AL EXIT: RET,打印机接口信号,四、并行打印机接口,打印机接口信号,工作时序: 1、CPU先查Busy,不忙(=0),送数。 2、送数到数据线DATA0上,此时数并未进入打印机。 3、再送STROBE(脉宽0.5us),数据送入打印机内部缓冲器。 4、打印机收到数据后,忙(=1)去处理数据。 5、然后打印机送ACK给主机,准备接收下一个数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 城市道路改造工程合同书
- 原料供应合同
- 连锁餐厅与旅行社定点合作合同
- 水产养殖基地租赁合同范本
- 粘土盒美术课件
- 植物考试模拟题与参考答案
- 租赁车位合同简易版
- 工商局标准股份转让合同范本
- 职业生涯教育
- 跨国电子商务交易合作框架协议
- 《保护地球爱护家园》课件
- 雾化吸入疗法合理用药专家共识(2024版)解读
- 2024年度产学研合作与科研奖励协议3篇
- 电力工程线路交叉跨越施工主要工序及特殊工序施工方法
- 【MOOC】软件度量及应用-中南大学 中国大学慕课MOOC答案
- 24秋国家开放大学《儿童发展问题的咨询与辅导》周测验参考答案
- 2025届江苏省苏州市重点中学高三第二次模拟考试英语试卷含解析
- JJF(京) 124-2024 智能电表电动自行车充电辨识模组校准规范
- DB65-T 4783-2024 冰川资源遥感调查技术规范
- 护士中级职称竞聘述职课件
- 2024年江苏省徐州市中考一模物理试题(含答案)
评论
0/150
提交评论