您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 第7章常用接口芯片及应用
第7章常用接口芯片及应用7.1可编程并行输入/输出接口芯片8255A主要内容1、8255的内部结构2、8255的外部引脚3、8255的编程4、8255与CPU的连接重点:8255与CPU的连接与编程可编程并行接口8255功能:将8255作为CPU与外设之间的输入或输出接口。一、8255的结构与引脚数据总线缓冲器读/写控制逻辑A组控制B组控制A组端口A(8)A组端口C上半部B组端口C下半部B组端口B(8)D7~D0RDWRA0A1RESETCSPA7~PA0PC7~PC4PC3~PC0PB7~PB0内部数据总线1、端口A、端口B和端口C口A、口B都为8位的数据口,口C一般作为控制口,用来传送状态和控制信号。2、A组和B组控制电路根据CPU的方式命令字控制8255的A、B和C口的工作方式。A组控制口A和口C的上半部(PC7~PC4)。B组控制B口和C口的下半部(PC3~PC0)。3、数据总线缓冲器是一三态双向8位总线缓冲器,是CPU与8255的总线接口。4、读写控制逻辑在CPU控制和地址信号的作用下完成对8255各部分的控制。(1)A1A0---端口选择信号,:用来选择A、B、C和控制口。(2)CS----片选,低有效:选取中8255。(3)RD---读,低有效:读8255各寄存器的内容。(4)WR---写,低有效:将信息写入8255各寄存器。(5)RESET---复位信号,高有效,作用是清除控制寄存器并使A、B、C三个口为输入方式。8255的内部操作与选择表CSRDWRA1A0操作01000写端口A01001写端口B01010写端口C01011写控制字寄存器00100读端口A00101读端口B00110读端口C00111无操作二、8255的工作方式与控制字(1)方式0——基本输入输出。(2)方式1——选通输入输出。(3)方式2——双向方式。1、方式选择控制字8255的工作方式的选择,CPU通过输出方式选择控制字来选择8255的工作方式。三个口的工作方式为:端口A:可工作于方式0、1和2。端口B:可工作于方式0和1。端口C:只能工作于方式0。•8255的工作方式选择控制字D7D6D5D4D3D2D1D0B组端口C(下半部),D0=1为输入D0=0为输出端口B:D1=1为输入D1=0为输出方式选择:D2=0为方式0D2=1为方式1A组端口C(上半部),D3=1为输入D3=0为输出端口A:D4=1为输入D4=0为输出方式选择:D6D5=00为方式0D6D5=01为方式1D6D5=1X为方式2D7=1为方式字的标志位2、按位置位复位控制字只能用于端口C,用于将端口C的某位置1或清0。各位定义如下:D7D6D5D4D3D2D1D0D7=0为端口C置位复位标志位D3D2D1位选择000PC0001PC1010PC2011PC3100PC4101PC5110PC6111PC7D0=1;将选定位置1,D0=0;清0三、三种工作方式的功能1、方式0基本输入输出方式,三个接口都可由程序指定为输入或输出。输入锁存,输出不锁存。适用范围:(1)无条件传送,A、B、C可以独立工作。(2)查询式传送,A、B作为数据口,C口作为状态口。方式0应用举例:例:将8255的C口接8个发光二极管,(8个负极均接地),使这8个发光二极管依次亮、灭的程序。电路原理图:8255PC7RDPC6WRPC5PC4A1PC3A0PC2PC1CSPC0D7~D0IORIOWA1A0CS程序清单:MOVDX,383H;383H为控制字寄存器的端口地址MOVAL,80H;80H为方式选择控制字OUTDX,AL;输出方式选择字,使端口C为位控。MOVAL,1AGAIN:OUTDX,AL;输出端口C,使某灯亮LOOP$;循环延时PUSHAXMOVAH,0BH;检查键盘有无键入INT21H;无键按下则0送AL,有键按下,则-1送ALINCALPOPAXJNZCONT;无键按下时,转CONTRET;当有键按下时结束程序CONT:ROLAL,1;AL循环左移一位JMPAGAIN[例7.1]设计一个8255A接口电路,使控制端口的地址为263H,设定端口A为8只开关输入,端口B为8只发光二极管输出,且将端口A输入的状态由端口B显示出来。设计端口地址译码电路并编写程序。1、设计接口电路如图7.2接口电路原理图8255APB0..PB7CSPA0..PA7A1A0RDWRD7~D0┊GG2AG2BY0CBAA1A0IORIOWDB&≥1A15A14A13A12A11A10A8A7A9A6A5A4A3A2+5V.CODEA-8255PROCBEGIN:MOVDX,263H;指向控制端口MOVAL,10011001B;设置端口A与C输入,B输出OUTDX,AL;写入控制字LOOPNEXT:MOVDX,260H;指向端口AINAL,DX;输入开关状态INCDX;指向端口BOUTDX,AL;输出显示开关状态MOVCX,0FFFH;赋延时时间初值CONTU:LOOPCONTU;延时MOVAH,0BH;检测键盘状态INT21HCMPAL,00HJELOOPNEXT;AL=00,无键按下,继续.NEXT;有键按下返回DOSA-8255ENDPENDBEGIN2、方式1选通I/O口,分成两组:A组:由端口A和端口C的PC3、PC4、PC5和PC6、PC7组成。B组:由端口B和端口C的PC2、PC1、PC0组成。(1)方式1输入端口A方式1输入的状态信号及其时序关系:PA7~PA0RDPC6~PC7INTEAPC4PC5&PC3与外设的8位数据线相连STBA外设来的选通信号IBFA输入端口满信号INTRA端口A中断请求信号I/O可用于位控输入或输出82IFBSTBINTRRD时序波形D7~D0D7D6D5D4D3D2D1D010111×××A组方式控制字•例:用选通输入方式从A端口输入100个8位二进制数。•硬件电路原理图:RDWRPA7~PA0CSA1A0IBFA(PC5)D7~D0STBA(PC4)INTRA(PC3)IORIOWPS3A1A0DB7~0IRQ9&&+5V+5V8工作过程:1、将PA7~PA0输入的开关状态设定好。2、将置数开关向下拨动一下,在STBA端产生一负脉冲,将数输入A口,在IBFA端输出为高,发光二极管亮。3、在INTRA端产生一中断请求。4、CPU进入中断程序,将数取走,IBFA端变低,发光二极管灭。•程序清单:MOVDX,38FH;口地址送DXMOVAL,0B0H;端口A的控制字OUTDX,ALMOVAL,9;将端口C的PC4置1,允许中断。OUTDX,ALMOVAX,SEGIS8255;中断程序的段地址装入向量表MOVES:01C6H,AXMOVAX,OFFSETIS8255;中断程序的偏移地址装入向量表MOVES:01C4H,AXMOVCX,100;数据个数100送计数器MOVBX,0MOVDX,38CHINAL,0A1H;输入中断屏蔽寄存内容ANDAL,0FDH;开放IRQ9OUT0A1H,AL;输出中断屏蔽字ROTT:JMP$;循环等待中断的产生LOOPROTT;数据个数减1,不等于0返回等待。INAL,0A1H;100个数输入结束,输入中断屏蔽寄存器ORAL,0A2H;关闭IRQ9OUT0A1,AL;输出中断屏蔽字RET中断处理程序:IS8255:INAL,DX;输入A口内容MOVBUF[BX],AL;存入指定缓存区INCBX;数据区地址加1MOVAL,61H;从片中断结束字送ALOUT0A0H,AL;输出中断结束字IRQ9结束MOVAL,62H;主片中断结束字送ALOUT20H,AL;结束主片的IRQ2POPAX;弹出主片的返回地址INCAX;修改中断返回地址INCAXPUSHAX;中断返回地址压入堆栈IRET;中断返回•方式1输出(状态信号及其时序关系)PA7~PA0WRPC6~PC7INTEPC4PC5&PC3与外设的8位数据线相连ACKA外设来的取数控制信号OBFA输出端口满信号INTRA端口A中断请求信号I/O可用于位控输入或输出82OFBACKINTR时序波形写入后写入后DBIOW工作过程:1、CPU写入A口数据。2、OBF端口变低,表示端口满。3、外设发来取数信号ACK,将数从PA7~PA0取走。4、使INTR变高,产生中断请求。7.2键盘与显示接口设计7.2.1矩阵键盘设计PC7PC6PC5PC4PB0PB1PB2PB3+5VCPUI/O端口4×10kΩ操作步骤•初检0→PB3~PB0,输入PC7~PC4,判是否全“1”,若全“1”则无键按下,否则有键按下。•逐行扫描0111→PB0~PB3,输入PC4~PC7,判是否全“1”,若不全为“1”,则本行有键按下,将行码与列码组合成这个键的代码,若全为“1”,则本行无键按下,对下一行进行判断,1011→PB0~PB3,输入PC4~PC7,判是否全“1”,若不全为“1”,则本行有键按下,将行码与列码组合成这个键的代码,若全为“1”,则本行无键按下,对下一行进行判断。1101→PB0~PB3,输入PC4~PC7,判是否全“1”,若不全为“1”,则本行有键按下,将行码与列码组合成这个键的代码,若全为“1”,则本行无键按下,对下一行进行判断。1110→PB0~PB3,输入PC4~PC7,判是否全“1”,若不全为“1”,则本行有键按下,将行码与列码组合成这个键的代码,若全为“1”,则本行无键按下,对下一行进行判断。有线呼叫器键盘设计汉字速录键盘设计7.2.2七段数码显示器设计数码管显示器用于数字化电子设备的显示器。其特点是:显示亮度高,字型清晰。但功耗较大。abcdefgdp数码显示接口电路PB7PB6PB5PB4PB3PB2PB1PB0PA0PA1PA2PA3驱动器驱动器AbcdefgdpcomAbcdefgdpcom﹍CPU总线显示原理:如显示12。1、先将“1”的七段码从表中查出。2、将此七段码送B口。3、将位选码1110送A口(共阴结构)。4、延时20MS。5、将“2”的七段码从表中查出。6、将此七段码送B口。7、将位选码1101送A口。8、延时20MS。7.3可编程定时计数器8254/82537.3.18254/8253概述功能:1、定时2、计数计数器对电脉冲计数对零件产品计数统计车辆流量等测量转速定时的本质-计数:对时间基准的计数。任何一个周期运动的周期皆可作为时间标准。将若干小片时间累积起来,就获得一定时间。以秒为单位计时,即60秒就是1分钟,计满60分钟就是1小时。•微机定时的方法•软件定时:CPU执行指令,预先知道所编程执行指令的周期,循环执行指令以延时。•硬件定时:单稳电路,可编程通用定时器/计时器。•例intel8253•3个独立16位计数通道•每个通道可任选6种工作方式之一种•24脚双列直插芯片8253的框图与引脚1、框图(1)、.数据总线缓冲器8位,三态,双向缓冲器,是CPU和8253交换数据的唯一通道。(2)、读写控制逻辑高电平时禁止三态和读写逻辑控制数据的传送方向。A0A1不同组合决定CPU访问的芯片内部不同端口。CS=0A0A1不同组合决定CPU读写不同端口各引脚的组合功能见P-176表7.6所示。CSRDWRWRRD3、控制字寄存器A0A1=11时访问控制字寄存器,控制字D6D7决定写入那个通道寄存器,各个通道的控制寄存器的控制字,决定各通道工作方式等内容。4、通道0,1,2计数器三个通道计数器相同–16位通道寄存器CR:接受初始计数值,开始计数之前,由CPU用输出指令预置入CR中。–16位计数单元CE:对CLK的输入脉冲信号,从预置的初始值减1计数,当初始值减为0时,由OUT输出电平或脉冲,GATE引脚可控制输入脉冲是否能输入。–输出锁存器OL,锁存CE的内容,CPU可随时读取OL中CE的当前值,不影响计数器脉冲输入和计数器的继续计数。定时计数单元2、8253的引脚(1).与CPU的连接线•D0-D7双向三态接至数据总线。•A1,A0:地址线,片内寻址•片选8253。•
本文标题:第7章常用接口芯片及应用
链接地址:https://www.777doc.com/doc-3257223 .html