您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 16-10下第6章8255
第6章常用接口芯片及应用主要内容简单接口三态门、D触发器(锁存器)定时器8253并行接口8255教学重点串行接口8250键盘接口可编程接口,重点:工作方式和编程本次课内容不可编程接口上次课回顾-----与前面所学知识的衔接上次课8253小结(见上次课)基本数据通信方式并行通信:数据各位同时传送并行数据传输方式,以计算机的字长,通常是8位、16位或32位为传输单位,一次传送一个字长的数据适合于外部设备与微机之间进行近距离、大量和快速的信息交换。例如:微机与并行接口打印机、磁盘驱动器微机系统中最基本的信息交换方法。例如:系统板上各部件之间,接口电路板上各部件之间串行通信:数据一位一位顺序传送6.2可编程并行接口8255具有多种功能的可编程并行接口电路芯片最基本的接口电路:三态缓冲器和锁存器与CPU间、与外设间的接口电路:状态寄存器和控制寄存器还有端口的译码和控制电路、中断控制电路共24个外设引脚,分3个端口、2组控制共三种输入输出工作方式1.8255A的引线及内部结构数据总线缓冲器内部控制线内部数据线D0~D7A组控制A组端口AA组端口C上半部B组控制B组端口BB组端口C下半部读写控制逻辑PC0~PC3PB0~PB7PC4~PC7PA0~PA7RDWRA0A1CSRESET外设数据端口与处理器口书257页①可编程接口学习要点(1)8255与处理器接口类似内存8253CS*A1A0读操作RD*写操作WR*口地址000(A口I/O地址)001(B口I/O地址)010(C口I/O地址)011(控制端口)读端口A读端口B读端口C非法写端口A写端口B写端口C写控制字380H381H382H383HD0~D7数据线A0~A1地址线CS*片选信号RD*读信号WR*写信号RESET复位信号8255寻址例298页图6.178255书257页④(2)外设数据端口端口A:PA0~PA7A组,支持工作方式0、1、2端口B:PB0~PB7B组,支持工作方式0、1端口C:PC0~PC7仅支持工作方式0A组控制高4位PC4~PC7B组控制低4位PC0~PC3端口A:PA0~PA7常作数据端口,功能最强大端口B:PB0~PB7常作数据端口端口C:PC0~PC7可作数据、状态和控制端口分两个4位,每位可独立操作控制最灵活,最难掌握2.8255的工作方式方式0:基本输入输出方式三个端口(端口A、B、C)皆作为输入或输出数据传送,各端口是输入还是输出,初始化编程设定。无联络信号线适用于无条件传送和查询方式的接口电路方式1:选通输入输出方式。A、B口用作数据传送,C口部分引脚作联络信号线适用于查询和中断方式的接口电路方式2:双向选通传送方式A口(方式2只用于A口)作双向输入/输出数据传送,C口作联络信号线。外设可通过端口A的8位数据线,向CPU发送收据,也可从CPU接收数据适用于与双向传送数据的外设适用于查询和中断方式的接口电路方式0输入时序datadata输入端口D0~D7RDCS,A1,A0请体会这里8255A的数据缓冲作用CPUPAPBPC方式0输出时序WRdatadata输出端口D0~D7CS,A1,A08255A对CPU通过它输出给外设的数据进行锁存返回方式1输入引脚:A端口PC4PC5PC3PA7~PA0INTEAIBFAINTRASTBA中断允许触发器方式1输入联络信号STB*——数据选通信号,表示外设已经准备好数据由外设提供的输入信号当其有效时,将输入设备送来的数据锁存至8255A的输入锁存器IBF——输入缓冲器满信号,8255A输出的联络信号。当其有效时,表示数据已锁存在输入锁存器INTR——中断请求信号8255A输出的信号,可用于向CPU提出中断请求,要求CPU读取外设数据方式1需借用端口C用做联络信号同时还具有中断请求和屏蔽功能8255A的中断由中断允许触发器INTE控制•置位允许中断,复位禁止中断•端口A的INTEA对应PC4方式1输入引脚:B端口PC2PC1PC0PB7~PB0INTEBIBFBINTRBSTBB中断允许触发器端口B的INTEB对应PC2方式1输出引脚:A端口PC6PC7PC3PA7~PA0INTEAOBFAINTRAACKA中断允许触发器方式1输出联络信号OBF*——输出缓冲器满信号8255A输出给外设的一个控制信号,当其有效时,表示CPU已把数据输出给指定的端口,外设可以取走ACK*——响应信号外设的响应信号,指示8255A的端口数据已由外设接受INTR——中断请求信号当输出设备已接受数据后,8255A输出此信号向CPU提出中断请求,要求CPU继续提供数据端口A的INTEA对应PC6端口B的INTEB对应PC2方式1输出引脚:B端口PC2PC1PC0PB7~PB0INTEBOBFBINTRBACKB中断允许触发器返回方式2双向引脚PC6PC7PC3PA7~PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2用PC6设置INTE1(输出)用PC4设置INTE2(输入)输入和输出中断通过或门输出INTRA信号输出输入方式2只用于A口,B口无方式2返回方式控制字端口C的位控制字状态字当8255的A口、B口工作在方式1或A口工作在方式2时,通过读C口的状态,可以检测A口和B口的状态。3.控制字及状态字方式控制字格式D7=1例:要求A端口:方式1输入B端口:方式0输出C端口上半部:输出,C口下半部:输入方式控制字10110001B或B1HC高4位端口C的位控制字格式D7=1位控制字写入控制端口使C端口的某个引脚输出1或0,或置位复位内部中断允许触发器INTE读写端口CC端口被分成两个4位端口,两个端口只能以方式0工作,可分别选择输入或输出在控制上,C端口上半部和A端口编为A组,C端口下半部和B端口编为B组当A和B端口工作在方式1或方式2时,C端口的部分或全部引脚将被征用,其余引脚仍可设定工作在方式0对端口C的数据输出有两种办法通过端口C的I/O地址(数据端口):向C端口直接写入字节数据。这一数据被写进C端口的输出锁存器,并从输出引脚输出,但对设置为输入的引脚无效通过控制端口:向C端口写入位控字,使C端口的某个引脚输出1或0,或置位复位内部的中断允许触发器CS*A1A0读操作RD*写操作WR*口地址000(A口I/O地址)001(B口I/O地址)010(C口I/O地址)011(控制端口)读端口A读端口B读端口C非法写端口A写端口B写端口C写控制字380H381H382H383H8255寻址例298页图6.174.8255的初始化编程初始化编程:一个方式控制字采用控制I/O地址(控制端口):A1A0=11工作过程中:通过数据端口对外设数据进行读写数据读写利用端口A、B和C的I/O地址(数据端口),A1A0依次等于00、01、10初始化编程后:当数据端口作为输入接口时,执行输入IN指令将从输入设备得到外设数据当数据端口作为输出接口时,执行输出OUT指令将把CPU的数据送给输出设备CS*A1A0读操作RD*写操作WR*口地址000(A口I/O地址)001(B口I/O地址)010(C口I/O地址)011(控制端口)读端口A读端口B读端口C非法写端口A写端口B写端口C写控制字380H381H382H383H8255寻址例298页图6.17写入方式控制字:示例设8255控制口地址为FFFEH,要求:A端口:方式1输入B端口:方式0输出C端口上半部:输出,C口下半部:输入请写出8255的初始化程序分析:方式控制字:0B1H初始化程序:movdx,0fffeh;假设控制端口为FFFEHmoval,0b1h;方式控制字outdx,al;送到控制端口5.8255的应用作为通用的并行接口电路芯片,8255A具有广泛的应用应用于打印机接口电路连接简易键盘驱动LED数码管8255A的键盘和扬声器控制示意8255APB1PB0驱动电路扬声器GATE2CLK2时钟信号与门8253的计数器2PA7~PA0PB7PB6键盘扫描码键盘控制信号应用例:书299页图6.18例:硬件连接图书299页图6.18,编程实现打印一行字符,要打印的字符在由DATAP开始的当前数据段中顺序排列,行结束字符0AH分析:外设(打印机)工作时序书246页图5.5(a)8255初始化要求:A口输出,PC0(属于C口下半部)输出;PC7(属于C口上半部)输入;A、B、C口皆方式0•方式控制字10001000B软件分析----应用要求微处理器利用查询方式输出数据。PA7~PA0PC0PC78255D0~D7STB*BUSY打印机A1A0口地址00011011端口A端口B端口C控制口8000H8002H8004H8006H书246页打印机接口例PC2连BUSY可否?输入状态就绪?数据交换YN书299页图6.18程序:MOVDX,8006H;控制口MOVAL,10001000B;方式控制字OUTDX,ALMOVAL,00000001B;断口C位控制字,PC0=1OUTDX,AL;打印机STB(PC0)=1MOVBX,OFFSETDATAP;字符存储起始地址GOON:MOVDX,8004H;C口打印机BUSY(PC7)WAIT:INAL,DXTESTAL,80HJNZWAIT;若打印机BUSY(PC7)=1,查询等待打印机不忙MOVDX,8000H;A口打印机DATA0~DATA7MOVAL,[BX]MOVAH,ALOUTDX,AL;送数据打印机DATA0~DATA7,打印一字符MOVDX,8004H;C口打印机STB(PC0)MOVAL,00HOUTDX,AL;打印机STB(PC0)=0CALLDELAY;调延时子程序MOVAL,01HOUTDX,AL;打印机STB(PC0)=1INCBX;置下一打印字符CMPAH,0AHJNZGOON;非行结束字符0AH,转GOONHLT查询BUSY等待打印机不忙8255初化编程送打印机STB脉冲01打印机初化化STB=1送一字符打印数据控制STBPC0状态BUSYPC7数据D7~0PA7~0打印机的工作时序端口A8000H端口B8002H端口C8004H控制口8006H查询方式书246页打印机接口例程序PRODAT:MOVAX,4000HMOVDS,AXMOVSI,0MOVCX,50MOVDX,02F9HMOVAL,01H;STB(D0)=1OUTDX,ALGOON:MOVDX,02FAH;DX指向状态端口WAIT:INAL,DX;读状态端口TESTAL,80H;查询BUSY(D7)状态JNZWAIT;未就绪,继续查询MOVDX,02F8H;就绪,DX指向数据端口MOVAL,[SI]OUTDX,AL;输出数据MOVDX,02F9HMOVAL,00H;D0=0OUTDX,AL;输出STB负脉冲CALLDELAY;调延时子程序MOVAL,01H;D0=1OUTDX,AL;STB=1INCSILOOPGOON查询BUSY等待打印机不忙送一字符打印数据D0-D7送打印机STB脉冲0到1打印机初化化STB=1打印机的工作时序查询方式控制STBD002F9H状态BUSYD702FAH数据D7~D002F8H输入状态就绪?数据交换YN返回8255例题--实验书120页实验三movdx,04a6h;控制寄存器地址moval,90h;设置为A口输入,B口输出outdx,alstart1:movdx,04a0h;A口地址inal,dx;输入movdx,04a2h;B口地址outdx,al;输出jmpstart18255A、B、C口和控制端口地址依次是04A0H、04A2H、04A4H、04A6H8255A的A口作为输入口,与逻辑电平开关相连。8255A的B口作为输出口,与发光二极管相连。即8255A的PA0~PA7接开关K1~K8;PB0~PB7接发光二极管L1~L8编写程序,使得逻辑电平开关的变化在发光二极管上显示出来软件分析外设(开关k、LED)为简单外设随时准备好,故可采用无条件传送方式PA0~PA7CS8255PB0
本文标题:16-10下第6章8255
链接地址:https://www.777doc.com/doc-3473870 .html