您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 第八章 常用可编程接口芯片及其应用
第八章常用可编程接口芯片及其应用8.1概述通信:计算机与外设之间或计算机与计算机之间的信息交换或数据传输。通信的两种基本方式并行通信串行通信一、并行通信与并行接口1、并行通信将数据的各位同时在多根并行传输线上进行传输。D0D1D2D3D4D5D6D7目的D0D1D2D3D4D5D6D7源01010110数据的各位同时由源到达目的地→快多根数据线→距离短、远程费用高并行通信适于短距离、高速通信2、并行接口概述并行接口连接CPU与并行外设,实现两者间的并行通信,在信息传送过程中,起到输出锁存或输入缓冲的作用。并行接口的典型硬件结构包括:1、一个或一个以上具有锁存或缓冲的数据端口2、与CPU进行数据交换所必须的控制和状态信号3、与外设进行数据交换所必须的控制和状态信号4、端口译码电路5、控制电路1、串行通信将数据的各位按时间顺序依次在一根传输线上传输。数据的各位依次由源到达目的地→慢数据线少→远程,费用低串行通信适于长距离、中低速通信RD目的TD源二、串行通信与串行接口2、串行接口•能够完成串行通信任务的接口•功能:1、接受并行数据转换为一定格式的串行数据送出;2、接收串行数据流,并将其转换为并行数据输入。•串行接口的典型硬件结构包括除了包括并行接口芯片所具有端口及控制电路之外,还有串入并出、并入串出移位寄存器。8.2可编程并行通信接口芯片8255A一、8255A的编程结构及引脚功能二、CPU与8255A的接口三、8255A的初始化编程四、8255A三种工作方式及应用五、键盘和显示接口数据总线缓冲器内部控制线内部数据线D0~D7A组控制A组端口AA组端口C上部B组控制B组端口C下部B组端口B读写控制逻辑PC0~PC3PB0~PB7PC4~PC7PA0~PA7RDWRA0A1CSRESET一、8255A的编程结构及引脚功能VccGND外部引线D0-D7为双向数据信号线,用来传送数据和控制字。为读信号线,与其他信号线一起实现对8255接口的读操作。为写信号线,与其他信号一起实现对8255的写操作。为片选信号线,当它为低电平(有效)时,才能选中该8255芯片,也才能对8255进行操作。RDWRCSA0,A1为口地址选择信号线。RESET为复位输入信号。PA0-PA7为A口的输入输出信号线。PB0-PB7为B口的输入输出信号线。PC0-PC78条线根据其工作方式可作为数据的输入或输出线,也可以用作控制信号的输出或状态信号的输入线。CS、A1、A0、RD、WR逻辑关系表CSA1A0RDWR功能00001对端口A读00101对端口B读01001对端口C读01101非法,不能对控制口读输入00010对端口A写00110对端口B写01010对端口C写01110对控制口写输出1×××××××11数据缓冲器为三态断开二、CPU与8255A的接口D0~D7RDWRA2A1RESETA9A8A7A6A0M/IOA5A4A3D0~D7RDWRPAA1A0RESETPBPCCSGG2AY6G2BCBA≥18086最小模式8255A&A口B口C口控制口端口地址:1110110000B、3B2H、3B4H、3B6H三、8255A初始化编程8255A的控制字8255A方式选择控制字方式选择控制字置位复位控制字(对C口任一位)D7D6D5D4D3D2D1D0PC3~PC01:输入0:输出00:方式001:方式11x:方式2A端口1:输入0:输出PC7~PC41:输入0:输出B组方式0:方式01:方式1B端口1:输入0:输出B组控制A组控制方式选择控制字识别位,为1选中置位复位控制字0复位1置位0D7D6D5D4D3D2D1D0设置内容特征位,D7=0表示是C口按位置位/复位控制字无意义选择设置位D3D2D1设置位000PC0001PC1010PC2011PC3100PC4101PC5110PC6111PC7四、8255A三种工作方式及应用8255A有三种工作方式,用户可以通过编程来设置。方式0――简单输入/输出方式;A,B,C三个端口均可。方式1――选通输入/输出方式;A,B,两个端口均可。方式2――双向输入/输出方式。只有A端口才有。工作方式的选择可通过向控制端口写入控制字来实现。1、方式0(基本输入/输出方式)它适用于不需要应答信号的简单输入输出场合,若需要联络时,可自定义C口为联络信号。构成3个8位端口,或2个4位、2个8位端口,以适应不同应用场合。例1:设某8086系统中连接一片8255A,8255A的A口接拨码盘,B口接共阴数码管,设计程序段使数码管显示拨码盘的数字。控制字:10010000Bhgfedcba8255APA0PA1PA2PA3PB0PB1PB2PB3PB4PB5PB6PB7驱动电路abcdefgh+5V8255APA0PA1PA2PA3PB0PB1PB2PB3PB4PB5PB6PB7驱动电路abcdefgh+5V设端口地址为3B0H、3B2H、3B4H、3B6HDATASEGMENTTAB1DB3FH,06H,5BH,4FH,66H,6DH7DH,07HDB7FH,6FH,77H,7CH,39H,5EH,79H,71HDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXXORAX,AXMOVDX,3B6HMOVAL,90HOUTDX,ALADDR:MOVDX,3B0HINAL,DXANDAL,0FHMOVBX,OFFSETTAB1ADDBX,AXMOVAL,[BX]MOVDX,3B2HOUTDX,ALJMPADDRMOVAH,4CHINT21HCODEENDSENDSTART8255与打印机的连接例2:用8255A作为CPU与打印机接口,8255A与打印机及CPU的连线如下图所示。试编写一程序,用查询方式将BLOCK中100个字节数据送打印机打印。假设控制口地址为030EH。BUSYSTB打印机的工作时序D0~D7START:……MOVDX,030EHMOVAL,10000011BOUTDX,ALMOVAL,00001101BOUTDX,ALPRINT:MOVCX,100MOVSI,OFFSETBLOCKGOON:MOVDX,030CHPWAIT:INAL,DXANDAL,01HJNZPWAIT;等待不忙MOVAL,[SI]MOVDX,0308HOUTDX,AL;送数据MOVDX,030CHMOVAL,00HOUTDX,ALMOVAL,40HOUTDX,AL;送脉冲INCSIDECCXJNZGOONSTB2、方式1(选通输入/输出方式)PA7~PA0PC4PC5PC3INTEAPC4与门IBFASTBAINTRARDPB7~PB0PC2PC1PC0INTEBPC2与门RDIBFBSTBBINTRBA口输入B口输入对方式1输入的端口,C口提供与外部联络的信号有:①STB选通信号(低电平有效)由外设发出,送给8255A,作用是将外设送来的数据锁存到8255A的输入端口。②IBF输入缓冲器满信号(高电平有效)8255A发出,表示外设送来的数据已进入输入端口。当外设送来的数据送入输入端口后,8255A自动发出。③INTR中断申请信号(高电平或上升沿有效)8255A发出,用来向CPU发出中断申请。STB、IBF、INTE均为1时,8255A自动发出INTR。注意:INTE无引出端,设计规定由软件对PC4或对PC2置1触发中断允许触发器。方式1输入信号时序图从外设来的数据INTRSTBRD3421IBFPA7~PA0PC6PC7PC3INTEAPC6与门OBFAACKAINTRAWRPB7~PB0PC2PC1PC0INTEBPC2与门WROBFBACKBINTRBA口输出B口输出对方式1输出的端口,C口提供与外部联络的信号有:①OBF输出缓冲器满信号(低电平有效)当数据送至8255A输出缓冲器后,8255A自动发出。表示CPU送来的数据已进入8255A输出端口,可用来通知外设把数据取走。②ACK外设响应信号(低电平有效)由外设发出,送给8255A。作用是通知8255A输出端口的数据已被外设取走,可以传送下一个数据。③INTR中断申请信号(高电平或上升沿有效)8255A发出,用来向CPU发出中断申请。当OBF、ACK、INTE均为1时,8255A自动发出INTR。方式1输出时信号时序图INTR送外设的数据数据有效WROBFACK1234例3:利用8255A方式1驱动打印机,把缓冲区BUFF中的400H个字节的ASCⅡ码送打印机打印。设端口地址分别为60H、62H、64H、66H。PAPC7PC6PC4D0~D7STBACKBUSY控制字:10101000BMOVCX,400HMOVAL,0A8HOUT66H,ALMOVDI,OFFSETBUFFROT1:MOVAL,[DI]OUT60H,ALROT2:INAL,64HTESTAL,10HJNZROT2INCDILOOPROT13、方式2(双向传送方式)PA7~PA0PC6PC7ACKAOBFARDWRPC4PC5STBAIBFAINTEA1PC4INTEA2PC6与门PC3INTRA或门与门工作在方式2时,C口有5根引脚作为A口的联络信号,是方式1下A口输入、输出联络信号的组合。(选学内容)五、键盘和显示接口1、LED数码显示接口(8段)LED数码管分共阴LED和共阳LED,发光时通过的平均电流为10mA~20mA、电压为1.5V,实际使用时要加驱动及限流。显示方式静态显示各数码管能稳定地同时显示各自字符。动态显示各数码管轮流地一遍一遍显示各自字符,人们因视觉器官惰性而看到的是各数码管似乎在同时显示不同字型。D0D1D2D3D4D5D6D7位0abcdefgh位1位2……同相驱动器PB2PB1PB08255APA共阴动态显示接口静态显示接口3#MC14495ah2#MC14495ah1#MC14495ah8255APA0PA1PA2PA3PB0PB1PB2MC14495具有译码(BCD—显示码)、锁存、驱动、限流作用。2、键盘及其接口键盘键盘是一组开关的集合,是微型计算机不可缺少的输入设备,人们通过它往计算机传递信息。一般性问题检测是否有键按下;若有键按下,判定是哪一个键;确定被按键的读数;去抖动;不管一次按键持续的时间有多长,仅采用一个数据;处理同时按键。键盘工作原理键盘可以分为独立连接式和矩阵式+5V+5V+5V独立连接式也称为线性结构键盘,是最简单的键盘。每一个引脚连接一个键输入0/1反映健是否高低+5V+5V控制线检测线常用的矩阵结构键盘每行连接一个引脚每列连接一个引脚利用控制线为低、读取检测线来识别闭合键键盘接口及键的识别为了识别键盘上的闭合键,通常采用两种方法,一种为行扫描法,另一种称为行反转法。行扫描法PA0PA1PA2PA3PB0PB1PB2PB310kΩ×45V原理:CPU每次使并行输出端口的某位为零,而其它位为1,然后CPU只要读取输入端口中的数据,就可判别。012C行反转法5VPA0PA1PA2PA3PB0PB1PB2PB310kΩ×8原理:第一步设A口输出B口输入A口输出全0值,然后从B口读入;第二步设A口输入B口输出将B口刚读入的值输出,再从A口读入90前沿抖动后沿抖动键稳定键按下抖动和重健问题机械按键的抖动现象抖动的持续时间随操作员而异,通常总是不大于10ms,用软件方法可以很容易地解决抖动问题,这就是通过延迟来等待抖动消失,这之后再读入键码。另外还可使用硬件消抖电路。+5V3.6K+5V3.6K输出信号+5V输出信号双稳态电路斯密特电路硬件消抖电路重键问题重键指两个或多个键同时闭合出现重键时,读取的键值必然出现有一个以上的0,是否给予识别和识别哪一个键简单情况:不予识别,认为是错误的按键通常情况:只承认先识别出来的键连锁法:直到所有键都释放后,读入下一个键巡回法:等被
本文标题:第八章 常用可编程接口芯片及其应用
链接地址:https://www.777doc.com/doc-3353200 .html