常用可编程接口芯片及其应用课件_第1页
常用可编程接口芯片及其应用课件_第2页
常用可编程接口芯片及其应用课件_第3页
常用可编程接口芯片及其应用课件_第4页
常用可编程接口芯片及其应用课件_第5页
已阅读5页,还剩57页未读, 继续免费阅读

下载本文档

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

文档简介

1、一、 并行通信与并行接口1、并行通信 将数据的各位同时在多根并行传输线上进行传输。 D0D1D2D3D4D5D6D7目的D0D1D2D3D4D5D6D7源01010110数据的各位同时由源到达目的地 快多根数据线 距离短、远程费用高并行通信适于短距离、高速通信2、并行接口概述 并行接口连接CPU与并行外设,实现 两者间的并行通信, 在信息传送过程中,起到输出锁存或输入缓冲的作用。 并行接口的典型硬件结构包括:1、一个或一个以上具有锁存或缓冲的数据端口2、与CPU进行数据交换所必须的控制和状态信号3、与外设进行数据交换所必须的控制和状态信号4、端口译码电路5、控制电路1、串行通信 将数据的各位按

2、时间顺序依次在一根传输线上传输。 数据的各位依次由源到达目的地 慢数据线少 远程, 费用低串行通信适于长距离、中低速通信 RD目的TD源二、 串行通信与串行接口2、串行接口能够完成串行通信任务的接口功能: 1、接受并行数据转换为一定格式的串行数据送出; 2、接收串行数据流,并将其转换为并行数据输入。 串行接口的典型硬件结构包括 除了包括并行接口芯片所具有端口及控制电路之外,还有串入并出、并入串出移位寄存器。 8.2 可编程并行通信接口芯片8255A一、8255A的编程结构及引脚功能二、CPU与8255A的接口三、8255A的初始化编程四、8255A三种工作方式及应用五、键盘和显示接口数据总线缓

3、冲器内部控制线内部数据线D0D7A组控制A组端口AA组端口C上部B组控制B组端口C下部B组端口B读写控制逻辑 PC0PC3 PB0PB7 PC4PC7 PA0PA7RDWRA0A1CSRESET一、 8255A的编程结构及引脚功能VccGND外部引线 D0-D7为双向数据信号线,用来传送数据和控制字。 为读信号线,与其他信号线一起实现对8255接口的读操作。 为写信号线,与其他信号一起实现对8255的写操作。 为片选信号线,当它为低电平(有效)时,才能选中该8255芯片,也才能对8255进行操作。RDWRCS A0 ,A1为口地址选择信号线。 RESET为复位输入信号。 PA0-PA7 为A口

4、的输入输出信号线。 PB0-PB7 为B口的输入输出信号线。 PC0-PC7 8条线根据其工作方式可作为数据的输入或输出线,也可以用作控制信号的输出或状态信号的输入线。CS、A1、A0、RD、WR逻辑关系表二、CPU与8255A的接口 D0D7 RD WR A2 A1 RESET A9 A8 A7 A6 A0 M/IO A5 A4 A3 D0D7RDWR PAA1 A0RESET PB PCCS GG2A Y6G2B C B A18086最小模式8255A A口 B口 C口 控制口端口地址:1110110000B、3B2H、3B4H、3B6H三、8255A初始化编程 8255A的控制字8255

5、A方式选择控制字方式选择控制字置位复位控制字(对C口任一位)置位复位控制字0 复位1 置位0D7D6D5D4D3D2D1D0设置内容特征位,D7=0表示是C口按位置位/复位控制字无意义选择设置位四、 8255A三种工作方式及应用8255A有三种工作方式,用户可以通过编程来设置。方式0简单输入/输出方式;A,B,C三个端口均可。方式1选通输入/输出方式;A ,B,两个端口均可。方式2双向输入/输出方式。只有A端口才有。工作方式的选择可通过向控制端口写入控制字来实现。1、方式0(基本输入/输出方式) 它适用于不需要应答信号的简单输入输出场合,若需要联络时,可自定义C口为联络信号。 构成3个8位端口

6、,或2个4位、2个8位端口,以适应不同应用场合。例1:设某8086系统中连接一片8255A,8255A的A口接拨码盘,B口接共阴数码管,设计程序段使数码管显示拨码盘的数字。控制字:10010000Bhgfedcba设端口地址为3B0H、3B2H、3B4H、3B6HDATA SEGMENT TAB1 DB 3FH,06H,5BH,4FH,66H,6DH 7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71HDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX XOR AX,AX

7、 MOV DX,3B6H MOV AL,90H OUT DX,ALADDR: MOV DX,3B0H IN AL,DX AND AL,0FH MOV BX,OFFSET TAB1ADD BX,AXMOV AL,BXMOV DX,3B2HOUT DX,ALJMP ADDRMOV AH,4CHINT 21HCODE ENDS END START8255与打印机的连接例2:用8255A作为CPU与打印机接口,8255A与打印机及CPU的连线如下图所示。试编写一程序,用查询方式将BLOCK中100个字节数据送打印机打印。假设控制口地址为030EH。BUSYSTB打印机的工作时序D0D7START: M

8、OV DX,030EH MOV AL,10000011B OUT DX,AL MOV AL,00001101B OUT DX,AL PRINT: MOV CX,100 MOV SI,OFFSET BLOCK GOON: MOV DX,030CHPWAIT: IN AL, DX AND AL,01H JNZ PWAIT;等待不忙 MOV AL,SI MOV DX,0308H OUT DX,AL ;送数据 MOV DX,030CH MOV AL,00H OUT DX,AL MOV AL,40H OUT DX,AL ;送 脉冲 INC SI DEC CX JNZ GOON STB2、方式1(选通输入

9、/输出方式)PA7PA0PC4PC5PC3INTEAPC4与门IBFASTBAINTRARDPB7PB0PC2PC1PC0INTEBPC2与门RDIBFBSTBBINTRB A口输入 B口输入对方式1输入的端口,C口提供与外部联络的信号有: STB 选通信号(低电平有效)由外设发出,送给8255A,作用是将外设送来的数据锁存到8255A的输入端口。 IBF 输入缓冲器满信号(高电平有效) 8255A 发出,表示外设送来的数据已进入输入端口。 当外设送来的数据送入输入端口后,8255A自动发出。 INTR 中断申请信号(高电平或上升沿有效)8255A 发出,用来向CPU发出中断申请。STB、IB

10、F、INTE均为时,8255A自动发出INTR。注意:INTE无引出端,设计规定由软件对PC4或对PC2置1触发中断允许触发器。方式1输入信号时序图PA7PA0PC6PC7PC3INTEAPC6与门OBFAACKAINTRAWRPB7PB0PC2PC1PC0INTEBPC2与门WROBFBACKBINTRB A口输出 B口输出对方式1输出的端口,C口提供与外部联络的信号有: OBF 输出缓冲器满信号(低电平有效)当数据送至8255A输出缓冲器后,8255A自动发出。 表示CPU送来的数据已进入8255A输出端口,可用来通知外设把数据取走。 ACK 外设响应信号(低电平有效) 由外设发出,送给8

11、255A。作用是通知 8255A输出端口的数据已被外设取走,可以传送下一个数据。 INTR 中断申请信号(高电平或上升沿有效) 8255A 发出, 用来向CPU发出中断申请。当OBF 、ACK、INTE均为时,8255A自动发出INTR。方式1输出时信号时序图例3:利用8255A方式1驱动打印机,把缓冲区BUFF中的400H个字节的ASC码送打印机打印。设端口地址分别为60H、62H、64H、66H。 PA PC7 PC6 PC4D0D7STBACKBUSY控制字:10101000B MOV CX,400H MOV AL,0A8H OUT 66H , AL MOV DI ,OFFSET BUF

12、FROT1:MOV AL,DI OUT 60H,ALROT2:IN AL,64H TEST AL,10H JNZ ROT2 INC DI LOOP ROT1 3、方式2 (双向传送方式)PA7PA0PC6PC7ACKAOBFARDWRPC4PC5STBAIBFAINTEA1PC4INTEA2PC6与门PC3INTRA或门与门工作在方式2时,C口有5根引脚作为A口的联络信号,是方式1下A口输入、输出联络信号的组合。(选学内容)五、键盘和显示接口1、LED数码显示接口 (8段)LED数码管分共阴LED和共阳LED,发光时通过的平均电流为10mA 20mA、电压为1.5V,实际使用时要加驱动及限流。

13、显示方式静态显示 各数码管能稳定地同时显示各自字符。动态显示 各数码管轮流地一遍一遍显示各自字 符,人们因视觉器官惰性而看到的是 各数码管似乎在同时显示不同字型。D0D1D2D3D4D5D6D7位0a b c d e f g h位1位2同相驱动器 PB2 PB1 PB0 8255A PA共阴动态显示接口静态显示接口3#MC14495a h2#MC14495a h1#MC14495a h 8255APA0 PA1 PA2PA3PB0PB1PB2 MC14495具有译码(BCD显示码)、锁存、驱动、限流作用。2、键盘及其接口键盘 键盘是一组开关的集合,是微型计算机不可缺少的输入设备,人们通过它往计

14、算机传递信息。一般性问题 检测是否有键按下; 若有键按下,判定是哪一个键; 确定被按键的读数; 去抖动; 不管一次按键持续的时间有多长,仅采用一个数据; 处理同时按键。键盘工作原理键盘可以分为独立连接式和矩阵式+5V+5V+5V 独立连接式也称为线性结构键盘,是最简单的键盘。每一个引脚连接一个键输入0/1反映健是否高低+5V+5V控制线检测线常用的矩阵结构键盘每行连接一个引脚每列连接一个引脚利用控制线为低、读取检测线来识别闭合键键盘接口及键的识别 为了识别键盘上的闭合键,通常采用两种方法,一种为行扫描法,另一种称为行反转法。行扫描法PA0PA1PA2PA3PB0PB1PB2PB310k45V原

15、理:CPU每次使并行输出端口的某位为零,而其它位为1,然后CPU只要读取输入端口中的数据,就可判别。0 1 2C行反转法5VPA0PA1PA2PA3PB0PB1PB2PB310k8原理:第一步设A口输出B口输入A口输出全0值,然后从B口读入;第二步设A口输入B口输出将B口刚读入的值输出,再从A口读入90前沿抖动后沿抖动键稳定键按下抖动和重健问题机械按键的抖动现象 抖动的持续时间随操作员而异,通常总是不大于10ms,用软件方法可以很容易地解决抖动问题,这就是通过延迟来等待抖动消失,这之后再读入键码。另外还可使用硬件消抖电路。+5V3.6K+5V3.6K输出信号+5V输出信号双稳态电路斯密特电路硬

16、件消抖电路重键问题重键指两个或多个键同时闭合出现重键时,读取的键值必然出现有一个以上的0,是否给予识别和识别哪一个键 简单情况:不予识别,认为是错误的按键 通常情况:只承认先识别出来的键连锁法:直到所有键都释放后,读入下一个键巡回法:等被识别的键释放以后,就可以对其他闭合键作识别,而不必等待全部键释放 正常的组合键:都识别出来定时功能的实现方法软件定时(延时)利用微处理器执行一个延时程序段实现硬件定时采用分频器、单稳电路或简易定时电路控制定时时间可编程硬件定时软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路8.3 8253可编程定时器/计数器一、8253的结构及引脚功能3个独立的1

17、6位计数器通道每个计数器有6种工作方式按二进制或十进制(BCD码)计数可用于准确计数或精确定时1、内部结构D7D0计数器0控制字寄存器计数器1计数器2内部数据总线数据总线缓冲器读写控制逻辑RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2VccGND计数器CLK时钟输入信号在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1GATE门控输入信号控制计数器工作,可分成电平控制和上升沿控制两种类型OUT计数器输出信号当一次计数过程结束(计数值减为0),OUT引脚上将产生一个输出信号 定时时间=时钟周期计数初值读/写逻辑D0 D7数据

18、线A0 A1地址线RD读信号WR写信号CS片选信号CS A1 A0读操作RD写操作WR0 0 00 0 10 1 00 1 1读计数器0读计数器1读计数器2无操作写计数器0写计数器1写计数器2写控制字 D0D7 RD WR A2 A1 A7 A6 A0 M/IO A5 A4 A3 D0D7RD CLK0WR GATE0A1 OUT0A0CSGG2AG2B Y3 C B A18086最小模式82532、8253引脚及与CPU的连接 计0 计1 计2 控制口端口地址:10011000B、9AH、9CH、9EH二、 8253的工作方式两个周期时钟周期 输入时钟CLK的周期输出周期 输出端OUT的输出

19、波形的周期主要区别启动计数方式(硬件、软件)计数结束信号GATE的作用*方式0 计数结束中断GATEOUTCLK 031244方式0WR特征高电平触发初始低电平减到“0”时OUT由低变高方式1 单稳负脉冲信号发生器GATEOUTCLK 031244方式1WR特征上升沿触发初始高电平开始计数OUT由高变低,到0输出变低*方式2 速率信号发生器(分频器)03124GATEOUTCLK 4方式2031240312403124WR特征高电平和上升沿触发初始高电平减到“1”时OUT由高变低,减到“0”时重新计数*方式3 方波发生器03124GATEOUTCLK 4方式3031240312403124WR

20、特征高电平和上升沿触发初始高电平计数完成一半时OUT由高变低,减到0重新计数方式4 软件触发选通信号GATEOUTCLK031244方式42233310WR特征高电平触发初始高电平计数到“0” OUT由高变低,维持一个CLK周期方式5 硬件触发选通信号GATEOUTCLK031244方式522333110WR特征上升沿触发初始高电平计数到“0” OUT由高变低,维持一个CLK周期需要注意:处理器写入8253的计数初值只是写入了预置寄存器,之后到来的第一个CLK输入脉冲(需先由低变高,再由高变低)才将预置寄存器的初值送到减1计数器。从第二个CLK信号的下降沿,计数器才真正开始减1计数。三、 82

21、53的编程方法1、控制字 SC1 SC0 RL1 RL0 M2 M1 M0 BCD00 计001 计110 计211 无操作00 锁存01 读/写低8位读/写高8位11 读/写先低后高0 0 0 方式00 0 1 方式11 0 方式21 1 方式31 0 0 方式41 0 1 方式50 二进制计数1 十进制计数2、初始化编程步骤:写入控制字 可使计数通道复位写入计数初值 选择二进制时计数值范围:0000HFFFFH0000H是最大值,代表65536 选择十进制时(BCD码)计数值范围:000099990000是最大值,代表100003、读取8253计数值对8位数据线,读取16位计数值需分两次读取方法 1.直接读取 2.锁存读取 计数在不断进行,应该将当前计数值先行锁存,然后读取:写控制字:给8253写入锁存命令从计数器I/O地址读出:读取锁存的计数值四、 8253应用例1:某8086系统中,有一片8253芯片,利用

温馨提示

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

评论

0/150

提交评论