第9章8255接口

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

黄玉清制作第9章可编程并行接口8255A9.1可编程并行接口8255A9.28255A的控制字9.3方式0-基本的输入/输出方式9.4方式1—选通的输入输出方式9.5方式2—双向传输方式本章小结本章习题黄玉清制作2006.129.1可编程并行接口8255A8255A是INTER系列的并行接口芯片。它是可编程的,可以通过软件来设置芯片的工作方式。一、8255A的内部结构1.8位数据端口A、B、C每个端口:输入带缓冲寄存器,输出带锁存寄存器。2.A组控制和B组控制3.读/写控制逻辑电路4.数据总线缓冲器9.1:8255A的内部结构黄玉清制作2006.129.1:8255A的内部结构数据总线片选信号读写控制地址总线8位端口A8位端口B8位端口C图10-18255A的内部结构黄玉清制作2006.125.读写控制信号RESET:复位信号,低电平有效。D7~D0:和数据线相连。CS:芯片选择信号,低电平有效。RD:芯片读出信号,低电平有效。WR:芯片写入信号,低电平有效。A1、A0:端口选择信号。A1、A0=00,选中端口A;A1、A0=01,选中端口B;A1、A0=10,选中端口C;A1、A0=11,选中控制端口;9.1:读写控制信号黄玉清制作2006.129.1:8255引脚二、8255的引脚8位端口A8位端口B8位端口C图10-28255的引脚图数据总线读写控制黄玉清制作2006.12提问1:并行接口芯片8255与CPU接口有哪些信号线,每个信号的用途是什么?8255占用几个端口地址?各个端口分别对应什么?端口C可以分为两组吗?9.1:提问黄玉清制作2006.129.28255A的控制字控制字:分为两类端口的方式选择控制字,可使8255A的3个数据端口工作在不同的方式。C端口按位置1/0控制字,它可使C端口中的任何一位进行置位或复位。8255A的3种基本工作方式:方式0:基本的输入/输出方式方式1:选通的输入/输出方式方式2:双向的传输方式9.2:控制字黄玉清制作2006.121.方式控制字1D6D5D4D3D2D1D0方式选择标志A组方式:00:方式001:方式110:方式2端口A:1:输入0:输出PC7~PC4:1:输入0:输出B组方式0:方式01:方式1端口B:1:输入0:输出PC3~PC0:1:输入0:输出9.2:方式控制字黄玉清制作2006.12例9-1:设A端口工作方式0,输出,B端口工作于方式0,输入。方式选择控制字:10001/0011/0=82H方式选择A口方式0A口输出C口高位不用B口方式0B口输入C口低位不用9.2:方式控制字例题黄玉清制作2006.12注意:端口A可以工作在方式0、方式1或方式2;端口B只能工作在方式0或方式1;端口C则常常配合端口A和端口B工作。归为同一组的两个端口可以分别工作在输入方式和输出方式,不要求同为输入方式或同为输出方式,而具体工作在那个端口,由方式控制字来决定。9.2:方式控制字注意事项黄玉清制作2006.122.端口C置1/0控制字0D7D6D5D4D3D2D1D0端口C置1/0控制字标志1=置10=置0000PC0001PC1010PC2011PC3100PC4101PC5110PC6111PC7图5、端口C置1/0控制字9.2:端口C置1/0控制字黄玉清制作2006.12注意:C端口置1/0控制字尽管是对端口C进行操作,但此控制字必须写入控制口,而不是写入C端口。C端口置1/0控制字的D0决定了是置1操作还是置0操作。置1/0控制字的D3、D2、D1位决定了对C端口的那一位进行操作。9.2:端口C置1/0控制字注意黄玉清制作2006.12例9-2:设8255A的控制口地址为0223H,要对端口C的PC7置1,则控制字00001111B=0FH,要对端口C的PC3置0,控制字为00000110B=06H。下面的程序可以实现上述要求:PORT_CDW223H……MOVDX,PORT_C;控制口地址送DXMOVAL,0FH;对PC7置1的控制字OUTDX,AL;对PC7置1操作MOVAL,06H;对PC3置0的控制字OUTDX,AL;对PC3进行置0的操作9.2:端口C置1/0控制字例题黄玉清制作2006.12提问2:8255A的方式选择控制字和置1/置0控制字都是写入控制端口的,那么,它们是由什么来区分的?9.2:控制字提问黄玉清制作2006.129.38255A的工作方式08255A的3种基本工作方式:方式0:基本的输入/输出方式方式1:选通的输入/输出方式方式2:双向的传输方式9.3:工作方式黄玉清制作2006.12一、方式0--基本输入输出方式功能①任何一个端口可以作为输入口,也可以作为输出口。②各个端口输入或输出,可以有16种不同的组合,所以可以适用于多种使用场合。方式0使用场合两种:一种是同步传送,另一种是查询式传送。9.3:工作方式0功能黄玉清制作2006.12二、方式0的输入时序9.3:工作方式0时序图10-3方式0的输入时序黄玉清制作2006.12PA0PA1PA28255AA0A1PB0CS+5V200+5V2K译码器D7~D0地址线8088CPUA0A1【例9-3】用8255A控制三个发光二极管依秩序循环显示。假设开关闭合时,点亮发光二极管,开关断开时息灭二极管。9.3:工作方式0例题图10-6黄玉清制作2006.12用8255A控制三个发光二极管显示。8255A的端口地址为:A端口:340HB端口:341HC端口:342H控制口:343H试编写8255初始化程序段和控制三个发光二极管显示程序段。9.3:工作方式0例题黄玉清制作2006.121、程序框图:9.3:工作方式0例题黄玉清制作2006.122、软件设计1)设A口为输出口,方式0。B口输入,方式0,则方式选择控制字为82H。2)A口输出代码:11111110,1号发光二极管亮11111101,2号发光二极管亮11111011,3号发光二极管亮3)软件延时9.3:工作方式0例题黄玉清制作2006.12参考程序:DATASEGMENTCOTREQU343H;8255A控制口地址PORT_AEQU340H;8255A的A口地址PORT_BEQU341HDATAENDPCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVDX,COTRMOVAL,82H;方式0OUTDX,AL;A口为输出,B口为输入WAITFOR:MOVDX,PORT_B;B口开关扫描循环INAL,DXANDAL,00000001B;查询连接在PB0的开关S状态JZCLOSE;开关S闭合,LED1~3依次发光9.3:工作方式0例题黄玉清制作2006.12CALLDARK;开关S断开则LED1~3熄灭JMPWAITFORCLOSE:CALLFLASHJMPWAITFORFLASHPROCMOVDX,PORT_AMOVAL,11111110B;PA0输出低电平,LED1发光OUTDX,ALCALLDELAYMOVAL,11111101B;PA1输出低电平,LED2发光OUTDX,ALCALLDELAYMOVAL,11111011B;PA2输出低电平,LED3发光OUTDX,ALCALLDELAYRETFLASHENDP黄玉清制作2006.12DARKPROCMOVDX,PORT_AMOVAL,11111111B;PA口输出高电平,发光二极管熄灭OUTDX,ALRETDARKENDPDELAYPROC;软件时延……RETDELAYENDPCODEENDSENDMAIN9.3:工作方式0例题黄玉清制作2006.12提问3:8255的方式0一般使用在什么场合?是基本输入输出,查询方式、包括无条件传送在方式0时,如要使用应答信号进行联络,应该怎么办?任意指定C口中的某根线完成联络。9.3:工作方式0提问黄玉清制作2006.122.打印机接口Centronics打印机,是8位并行接口工业标准,打印机主要信号:DATA:8位数据信号选通信号,接收8位并行数据忙信号,有效表示打印机正在处理数据,信号无效时打印机才可以接收数据。响应信号,有效表示数据已经处理完成。黄玉清制作2006.12打印机时序P228DATASTBBUSYACK黄玉清制作2006.12【例9-4】8255A作为连接打印的查询式接口,工作于方式0,如图10-7所示。(1)编写程序,完成8255初始化;(2)将缓冲区BUF开始的10个字符送打印机打印。设8255A的端口地址为:A端口:00D0HC端口:00D2HB端口:00D1H控制口:00D3H工作过程:当主机要往打印机输出字符时,先查询打印机忙信号,如果打印机正在处理一个字符或在打印一行字符,则忙信号为1,否则为0。PC2作为打印机忙信号,PC6作为数据选通信号,将数据线上的数据装入打印机缓冲器。9.3:工作方式0例题-打印机黄玉清制作2006.12打印机驱动流程图:开始8255A初始化BUSY=0?送数送STB内存+1字节-1送完?结束9.3:工作方式0例题-打印机图10-7黄玉清制作2006.12CONTR-WEQU223HPORT-AEQU220HPORT-CEQU222HBUFDB‘BCDEFGHIJK’……PP:MOVAL,10000001B;8255工作方式字MOVDX,CONTR-WOUTDX,AL;A口方式0,输出,;PC4~7输出,PC0~3输入MOVAL,00001101B;PC6置1,禁止STBOUTD3H,ALMOVSI,OFFSETBUF;打印字符内存地址MOVCX,10;打印字符个数MOVDX,PORT-CLPST:INAL,DX;读C口ANDAL,00000100B;查PC2=0?JNZLPST;忙,等待;不忙,送数9.3:工作方式0例题-打印机黄玉清制作2006.12MOVAL,[SI];从内存取数MOVDX,PORT-AOUTDX,AL;送数到A口MOVAL,00001100B;PC6置0(使STB为低)MOVDX,CONTR-WOUTDX,AL;AL00001100BNOPNOP;延时INCAL;AL00001101BOUTDX,AL;PC6置1(再使STB为高)INCSI;内存地址+1DECCX;字符数-1JNZLPSTHLT9.3:工作方式0例题-打印机STB黄玉清制作2006.129.4方式1—选通的输入输出方式数据输入输出要在选通信号控制下工作.端口A和端口B可以分别作为两个数据口工作于方式1端口A和端口B任何一个端口可以为输入口或输出口。9.4:工作方式1黄玉清制作2006.121)方式1输入:A口控制信号的定义:方式1输入,C端口提供联络信号:10111/0D7D6D5D4D3D2D1D0PC6.PC71=输入0=输出A口方式1输入9.4:工作方式1IBFASTBAINTRASTBBIBFBINTRBPC7PC6PC5PC4PC3PC2PC1PC0黄玉清制作2006.1210111/0D7D6D5D4D3D2D1D0方式1PC4.PC51=输入0=输出端口A输入111D7D6D5D4D3D2D1D0端口B输入方式1RDPA7~PA0INTEAPC4PC5PC3PC6.PC7IOINTRAIBFASTBARDINTEBPC2PC1PC0PB7~PB0STBBIBFBINTRB9.4:方式1输入有关信号的规定A组方式1B组方式1黄玉清制作2006.12选通信号输入端,低电平有效输入缓冲区满信号,它是8255送往CPU的中断请求信号,高电平有效。中断允许信号,INTE由PC4置“1”,INTR有效A口方式1输入有关信号的规定RDPA7~PA0INTEAPC4PC5PC3PC6.PC7IOINTRAIBFASTBA数据输入口9.4:方式1A口输入有关信号的规定黄玉清制作2006.129.4:方式1输入时序图10-9黄玉清制作2006.12方式1输出,C端口提供联络信号:OBFAACKAINTRAACKBOBFBINTRBPC7PC6P

1 / 65
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功