版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,主讲教师:范新民,第六章:可编程并行接口芯片和串行接口芯片,2,主要内容:,3,6.1 并行接口与串行接口,并行接口: 是指数据的各位同时进行传送,其特点是传输速度快,但当传输距离较远、位数又多时,导致了通信线路复杂且成本提高。,串行接口: 是指一条信息的各位数据被逐位按顺序传送的通讯方式。其特点是数据按位传送,最少只需一根传输线即可完成,成本低但传送速度慢。,可编程并行接口芯片和串行接口芯片,4,串口与并口: 并口由于8位通道之间的互相干扰。传输时速度就受到了限制。而且当传输出错时,要同时重新传8个位的数据。串口没有干扰,传输出错后重发一位就可以了。所以串口速度非常快。,并行接口与串行接
2、口,5,一、可编程接口芯片的功能和电路组成 多数I/O接口具有如下功能及其电路单元: 输入/输出数据锁存器和缓冲器,用以解决CPU与外设之间速度不匹配的矛盾,以及起隔离和缓冲的作用; 控制命令和状态寄存器,以存放CPU对外设的控制命令,以及外设的状态信息;,6.1.1 可编程接口芯片概述,地址译码器,用来选择接口电路中的不同端口; 读写控制逻辑 中断控制逻辑,并行接口与串行接口,6,二、可编程接口芯片的几个概念 片选的概念 必须要有一个地址信号选中接口芯片后,才能使该接口芯片进入电路工作状态,实现数据的输入/输出。 选通端CE(Chip Enable),又称片选端CS (Chip Select
3、)。 CE端是控制接口芯片进入电路工作状态的引脚端。,可编程接口芯片概述,7,读/写概念: 当地址信号稳定,读信号和访问I/O口控制信号有效时,片选信号稳定,CPU数据线和输入口接通,进行读操作。 当地址信号稳定,CPU输出数据,写信号和访问I/O口控制信号有效时,片选信号稳定,数据写入I/O口。,可编程接口芯片概述,8,可编程接口的概念 接口芯片大部分是多通道、多功能的。 多通道是指一个接口芯片一面与CPU连接,另一面可接几个外设; 多功能是指一个接口芯片能实现多种接口功能,实现不同的电路工作状态。接口芯片功能可由程序改变。,可编程接口芯片概述,9,“联络”的概念 接口芯片常常需要和外设间有
4、一定的“联络”信号,以保证信息的正常传送。 通常采用两个“联络”(Handhake)信号: (选通信号,strobe)和RDY(就绪信号,Ready)。,可编程接口芯片概述,10,8255A的结构和引脚功能 8255A的工作方式 8255A的初始化 8255A的应用举例 16位系统中的并行接口,6.2 可编程并行接口芯片8255A,11,6.2.1 8255A的结构和引脚功能,1、8255A的内部结构,12,(1) 数据端口 端口A:PA0PA7,数据输出锁存器/缓存器和输入锁存器, 可用于数据双向传输。 端口B:PB0PB7,数据输出锁存器/缓存器和输入缓存器, B口作为输出口时数据可得到锁
5、存,做输入口时, 外设输入的数据必须维持到有效读取为止。 端口C:PC0PC7,结构同B口,可作为两个4位端口使用, 可配合A口或B口在数据传输时做控制、状态和中断 请求信号使用。,8255A的内部结构,13,(2)A组控制和B组控制 A口和高4位PC4PC7构成A组,B口和低4位PC0PC3构成B组。一组有一个控制寄存器接收CPU控制字,确定8255工作方式。 (3)数据总线缓冲器 八位三态双向缓冲器,用于8255与CPU数据总线的接口。 (4)读/写控制逻辑 把接受来自CPU的地址和控制信号发送给两个控制组。根据不同的信息进行不同的传送。,8255A的内部结构,14,2、8255A的引脚及
6、其功能 (1)端口引脚 PA0PA7:端口A数据线,双向,三态。 PB0PB7:端口B数据线,双向,三态。 PC0PC7:端口C数据线,双向,三态。,(2)和CPU连接的引脚 D7D0:数据线,与系统总线连接。 RD:读信号,输入,低电平有效,从8255A读取数据 WR:写信号,输入,低电平有效,把数据写入8255,8255A的引脚,15,CS:片选信号,输入,低电平有效,决定芯片地址。 RESET:复位信号,输入。将所有内部寄存器的内容清零, 3个数据端口设为输入工作方式。 A0,A1:端口选择信号,8255占四个端口地址:,根据RD、WR、CS、A0、A1的不同组合决定8255A的不同端口
7、的操作,8255A的引脚,16,6.2.2 8255A的工作方式,1、方式0基本输入输出,CPU可以采用无条件读写方式与8255A交换数据。 若把C口的两个部分用作控制和状态口,与外设的控制和状态端相连,CPU也可通过对C口的读写,实现A口与B口的查询方式工作。 输出的数据被锁存, 输入的数据不锁存,端口A、B和C都可工作于输入或输出。三个端口无必然联系,各端口输入输出组合共有16种,可适用于多种用途。,17,2、方式1选通输入输出(应答式输入输出) 端口A和B输入/输出数据时,必须利用端口C提供联络信号(选通、应答信号)。 一般情况下,用中断传送数据方式(也可用查询方式)。 这时: 通道A:
8、8位数据端口(A口),3位控制位(C口)。 通道B:8位数据端口(B口),3位控制位(C口) 。 这种配合固定,不可以用程序修改。,8255A的工作方式,18,特点: 端口A、B既可做输入又可做输出。 端口C引脚分别作为控制、状态和中断申请信号等。 若只有一个端口工作在方式1,则余下13位可工作在方式0。 若两个端口都工作在方式1,则余下2位可由程序指定为输入或输出。,端口A、B工作于方式1的输入或输出时,端口C联络信号的引脚和意义都不同。,8255A的工作方式,19,(1)方式1的输入传送,A、B两个口都设为方式1输入方式,8255A的工作方式,20,INTR:中断请求信号,输出,高电平有效
9、,可向CPU申请中断。,STB:输入选通信号,输入,低电平有效,表示外设输入的数据送至8255A的输入锁存器中。,IBF:输入缓冲区满,输出,高电平有效。通知外设输入缓冲区满,不要送新数据,由CPU读取数据时(RD的上升沿)清除,表明输入缓冲器可以接受新数据。,INTE:中断允许,INTEA是C口输出锁存器的PC4,INTEB是C口输出锁存器的PC2,由它们分别控制A口和B口的中断申请。 (可由C口置 /复位控制字将INTE置1 或复位为0),8255A的工作方式,21,方式1的输入时序: 从工作在方式1下的输入端口输入数据时,有关信号的变化关系。,8255A的工作方式,22, 当外设数据准备
10、好,将数据送至端口线PA7PA0或PB7PB0 外设发出选通信号STB: 将数据锁存在输入端口内。 使IBF变高,表示输入端口满,可用于阻止外设输入新数据。 如果INTE=1, STB的上升沿使INTR变高,发出中断请求。 中断处理程序中CPU 读取数据,发出RD信号: (1) RD 的下降沿清除INTR (2) RD 的上升沿清除IBF (3) 端口内的数据进入CPU,以中断方式输入数据:,8255A的工作方式,23, 当外设数据准备好,将数据送至端口线PA7PA0或PB7PB0 外设发出选通信号STB: 将数据锁存在输入端口内。 使IBF变高,表示输入端口满,可用于阻止外设输入新数据。 在
11、主程序中CPU查询IBF,若其为高电平,读取数据,发出RD 信号: RD 的上升沿清除IBF 端口内的数据进入CPU,以查询方式输入数据:,8255A的工作方式,24,查询方法从8255的A口向CPU输入数据: 程序如下: INPUT:INAL,PortC;读方式1状态信号 TESTAL,20H ;查A口的IBF JZINPUT ;IBF=0,数据未准备好 INAL,PortA ;IBF0,CPU读入数据,方式1输入时共用到C口6个引脚,剩余2个引脚PC6、PC7可做I/O位,或由C口置 /复位控制字决定其输出。,8255A的工作方式,25,(2)方式1的输出传送,A口方式1输出时相应的联络信
12、号,B口方式1输出时相应的联络信号,8255A的工作方式,26,INTE:中断允许,INTEA、INTEB分别控制A口和B口的中断申请。(INTEA由PC6、INTEB由PC2控制),OBF:输出缓冲器满,输出,表示CPU已将数据输出到指定端口,通知外设可以将数据取走。,ACK:响应信号,输入。外设通知8255已取走数据,并清除OBF,置INTR为“1”。,INTR:中断请求信号,输出。向CPU申请中断,请求CPU输出后续数据。(条件:OBFACKINTE=1),控制信号:,8255A的工作方式,27,方式1的输出时序:,以中 断方 式输 出数 据:, CPU输出数据 CPU发出WR: 数据写
13、到 8255A的端口 使OBF有效,表示输出端口满, 清除中断请求信号INTR 外设接受到数据后,发出ACK信号: (1) ACK的下降沿使OBF变高, (2) 当INTE=1, ACK的上升沿使INTR变高,请求CPU输出新的数据,8255A的工作方式,28, CPU输出数据 CPU发出WR: ()数据写到 8255A的端口 () 使OBF有效,表示输出端口满,通知外设取数据。 外设接受到数据后,发出ACK信号: () ACK的下降沿使OBF变高, () 在主程序中CPU查询OBF,若其为高电平,数据已 取走,端口可接受新的数据。,以查询方式输出数据:,8255A的工作方式,29,注意: 方
14、式1输出时共用到C口6个引脚,剩余2个引脚PC4、PC5可做I/O位,或由C口置 /复位控制字决定其输出。,查询方法向8255的A口输出数据: 程序如下: OUTPUT:IN AL,PortC;读方式1状态信号 TEST AL,80H ;查A口的OBF,设备空闲? JZ OUTPUT ;OBF=0,不空,等待。 MOV AL,DATAS OUT PortA,AL ;OBF=1,CPU输出数据。,8255A的工作方式,30,3、方式2双向选通输入输出,方式2只限于A组使用。 与方式0、方式1的单向传送不同,工作在方式2下的端口A,具有双向传送功能。 端口工作在方式2时,C口的5根引脚作为端口的联
15、络信号;是方式1下A口输入、输出联络信号的组合。 C口未做联络信号的3条引脚,可作为B口在方式1下的联络线,也可和B口一样工作在方式0。由方式控制字决定其输入/输出。,8255A的工作方式,31,方式2下的时序为方式1输入/输出两者的组合。,8255A的工作方式,32,6.2.3 8255A的控制字及初始化 使用8255A,首先要由CPU对8255A写入控制命令字。 有2种控制命令字: 方式选择控制字; C口按位置位/复位控制字; 1、方式选择控制字 (D7=1) 控制字可以使8255A的三个数据端口工作在不同的工作方式,将三个端口分为两组来设定。,8255A的工作方式,33,8255A方式选
16、择控制字,8255A的控制字,34,2、端口C按位置/复位控制字(D7=0) 可使8255作为位控接口,实现对外设的按位控制。,8255A的控制字,35,例:利用位复位和置位可使端口C PC5位产生方波。,程序如下: MOVCX,10 LOP:MOVAL,0AH OUTPOR-CL,AL ;置0 CALLDELAY MOVAL,0BH OUTPORT-CL,AL ;置1 CALLDELAY LOOP LOP,8255A的控制字,36,6.2.4 8255A的应用实例 1、初始化设置 例:一8088系统的8255A工作于方式0,端口A为输入,端口B为输出,若系统中8255A的口地址为80H-83
17、H。,方式控制字:,1001X00X,初始化程序:,MOVAL,90H OUT83H,AL,37,例6-2:开关接口 (8255端口地址:60H63H),实现如下功能:每隔5分钟从PA口读入8个开关的状态存入2000H:3000H开始的数据区,工作10小时结束。,8255A的应用实例,38,MOV AX,2000H MOV DS,AX MOV BX,3000H MOV CX,120 MOV AL,10010000B(90H) OUT 63H,AL LOP:IN AL,60H MOV BX,AL INC BX CALL DELAY 5M LOOP LOP HLT,程序设计:,8255A的应用实例
18、,39,例6-3 LED接口,PA口做输出数据口,采用方式0工作方式,无条件传送。设8255A的端口地址为60H63H。要求每隔5分秒,发光灯向上移一个。,8255A的应用实例,40,MOV AL,10000000B(80H) OUT 63H,AL MOV CX,7200 MOV AL,7FH LOP:OUT 60H,AL ROR AL,01H CALL DELAY5S LOOP LOP MOV AH,4CH INT 21H,8255A的应用实例,41,例6-4打印机接口 (1) 并行接口标准(Centronice) 该标准规定了一个36芯的连接口。 STB:数据选通接口; DATA:数据信号
19、; ACK:响应信号; BUSY:忙信号。,8255A的应用实例,42,采用查询控制方式(方式0)的接口 PA口作为向打印机输出的数据口,PC0产生控制信号STB,PC7读取外设状态BUSY,端口地址为90H93H。从内存2000H:3000H开始取出100个数据送打印机打印的控制程序为:,8255A的应用实例,43,MOV AX,2000H MOV DS,AX MOV BX,3000H MOV CX,100 MOV AL,10001000B OUT 93H,AL LOP:INAL,92H TESTAL,80H JNZLOP,8255A的应用实例,44,MOVAL,BX OUT90H,AL M
20、OVAL,01H OUT92H,AL MOVAL,00H OUT92H,AL MOVAL,01H OUT92H,AL INCBX LOOPLOP MOVAH,4CH INT21H,8255A的应用实例,45,例6-5 键盘接口 两类键盘:简单键盘和矩阵结构键盘。 矩阵结构键盘又有编码键盘和非编码键盘。 编码键盘能自动提供对应于被按键的编码信息,如ASCII码,并能同时产生一个选通脉冲通知微处理器。 非编码键盘由一组开关组成,提供行和列的键盘矩阵。其全部工作,包括按键的识别、按键代码的产生、防止串键和消去抖动等问题,都靠程序来实现。,8255A的应用实例,46,最简单的线性结构键盘 每一个引脚连
21、接一个键 输入0/1反映健是否高低, 简易键盘的工作原理,8255A的应用实例,47,常用的矩阵结构键盘 每行连接一个引脚 每列连接一个引脚, 常用的矩阵结构键盘,8255A的应用实例,48,(1) 键盘输入信息的过程: 检测是否有键按下; 查出按下的是哪一个键; 将该键所代表的信息翻译成计算机能识别的内部代码,设有mn个键: m行由输出口控制 n列由输入口读入,当某行输出为低电平时: 有键按下某列输入低电平 无键按下某列输入高电平,8255A的应用实例,49,(2)非编码键盘的键码识别方法 为了识别键盘上的闭合键,常用的键码识别方法有行扫描法。,8255A的应用实例,50,(3)8255A作
22、矩阵结构键盘接口的实例,8255A的应用实例,51,使用行扫描方式寻找按下键的编号(键号)的程序如下: PORTA EQU 0FFF8H PORTB EQU 0FFFAH PORTC EQU 0FFFCH PORTCN EQU 0FFFEH MOV DX,PORTCN MOV AL,10000010B OUT DX,AL WAITK: MOV DX,PORTA MOV AL,0 OUT DX,AL,8255A的应用实例,52,MOV DX,PORTB IN AL,DX CMPAL,0FFH JZ WAITK MOV BL,0 ;置键号初值 MOV BH,11111110B ;置行扫描初值 MOV CX,8 ;置扫描计数器初值 FNDRO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 供电所主任述职报告
- 2024建设工程合同管理试卷
- 2024新版电视栏目合作合同
- 2024至2030年中国高压钠灯电子触发器数据监测研究报告
- 2024至2030年中国边纱钳支架数据监测研究报告
- 2024年电梯、自动扶梯及升降机项目评价分析报告
- 2024年电工机械专用设备项目评估分析报告
- 2024至2030年中国盐渍荞头数据监测研究报告
- 2024至2030年中国浓缩油污处理剂数据监测研究报告
- 2024至2030年中国桥式影椅行业投资前景及策略咨询研究报告
- 项目经理竞聘简约PPT(中建)
- 少儿绘画之《跳跃的海豚》
- 高三班主任管理经验交流课件
- 洗涤剂技术要求
- 临床研究证据的分类和分级-PPT课件
- 哈工程核反应堆的核物理第9章核反应堆动力学
- 甘肃教育出版社《四年级信息技术上册》教案新部编本完整通过版
- 工会换届选举选票及报告单样式
- 钻头切削参数表
- 年产吨方便面工厂设计说明书
- 仁爱英语 九年级上册Unit 4 Topic 2 课文翻译
评论
0/150
提交评论