您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > 第9章 可编程接口芯片及其与CPU的接口-西北工业大学微机原理PPT
第九章可编程接口芯片及其与CPU的接口第九章可编程接口芯片及其与CPU的接口9.1可编程并行输入/输出接口芯片8255A9.2可编程计数器/定时器82549.3可编程串行输入/输出接口芯片8251A第九章可编程接口芯片及其与CPU的接口9.1可编程并行输入/输出接口芯片8255A9.1.18255A的内部结构第九章可编程接口芯片及其与CPU的接口9.1.28255A的引脚分配一、与外设联系的引脚A口有PA0~PA78个引脚,同样B口和C口均有PB0~PB7,PC0~PC78个引脚。二、与CPU联系的引脚数据和命令通道线D0~D7,读/写控制引脚RD、WR、CS、A0,A1,RESET。三、端口地址控制引脚CSA1A0端口000A口地址001B口地址010C口地址011控制端口地址第九章可编程接口芯片及其与CPU的接口9.1.38255A的工作方式及编程一、8255A的工作方式1、方式0(基本输入/输出方式)2、方式1(选通输入/输出方式)3、方式2(双向传送方式)各端口可工作的方式:A口:方式0、方式1、方式2B口:方式0、方式1C口:方式0第九章可编程接口芯片及其与CPU的接口二、8255A的控制字1、方式控制字D7D6D5D4D3D2D1D0B组C口低半字节:1-输入,0-输出B口:1-输入,0-输出方式选择:0-方式0,1-方式1A组C口高半字节:1-输入,0-输出A口:1-输入,0-输出方式选择:方式控制字标志:1-有效00-方式001-方式11X-方式2第九章可编程接口芯片及其与CPU的接口2、C口置“1”/清“0”控制字D7D6D5D4D3D2D1D0位控:1-置1,0-清0状态选中位000001010011100101110111PC0PC1PC2PC3PC4PC5PC6PC7位控字标志:0-有效无效第九章可编程接口芯片及其与CPU的接口9.1.48255A各工作方式的功能及应用一、8255A工作在方式0特点:8255A工作在方式0时,各个端口(包括2个8位端口A、B及2个4位端口C)的输入、输出可以有16种不同的组合。在这种方式下,任一个端口都由CPU用简单的输入/输出指令进行读/写。不用提供“联络”信号,适用于各种同步传送情况。另外,方式0也可用于程序查询方式来进行数据传送。此时,通常以A口和B口作为数据口,而用C口的某些位作为输入输出“联络”信号。注意,输入“联络”信号和输出“联络”信号不在同一4位C口中。第九章可编程接口芯片及其与CPU的接口方式0应用举例1(同步情况):例18255A的A口和B口工作在方式0,A口为输入端口,接有4个开关;B口为输出端口,接有1个7段发光二极管,其硬件连接电路如图所示。试编一程序要求7段发光二极管显示开关所拨通的数字。第九章可编程接口芯片及其与CPU的接口分析:1、端口地址A口:8020HC口:8024HB口:8022H控制口:8026H2、字符代码对照表显示字符7段代码显示字符7段代码03FH87FH106H96FH25BHA77H34FHb7CH466Hc39H56DHd5EH67DHE79H707HF31H第九章可编程接口芯片及其与CPU的接口程序:APORTEQU8020HBPORTEQU8022HCONTREQU8026HDATASEGMENTTAB1DB3FH,06H,5BH,4FH,……DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,90H;定义8255A工作方式MOVDX,CONTROUTDX,AL第九章可编程接口芯片及其与CPU的接口ADDR1:MOVDX,APORT;取开关值INAL,DXANDAL,0FH;屏蔽高4位MOVBX,OFFSETTAB1;取代码表首址XLAT;找到字符代码MOVDX,BPORT;输出显示OUTDX,ALMOVCX,0400H;显示延时ADDR2:DECCXJNZADDR2JMPADDR1MOVAH,4CHINT21HCODEENDSENDSTART第九章可编程接口芯片及其与CPU的接口方式0应用举例2(异步查询情况):例2如图所示,假设8255A端口A,B,C及控制口的地址分别为80H,81H,82H和83H;打印机的选通信号为STB,读入机的驱动信号为DRV,编写接口程序。第九章可编程接口芯片及其与CPU的接口程序片段:MOVAL,83H;8255A初始化OUT83H,AL;读入机驱动程序MOVAL,09HOUT83H,AL;启动读入机PRT:INAL,82HTESTAL,01HJZPRT;未准备好,循环INAL,81H;准备好,读入数据MOVBL,ALMOVAL,08HOUT83H,AL;断开读入机第九章可编程接口芯片及其与CPU的接口;打印机驱动程序PST:INAL,82HTESTAL,04HJNZPSTMOVAL,BL;若打印数据在BL中OUT80H,ALMOVAL,0DHOUT83H,AL;选通打印机DECALOUT83H,AL;断开打印机第九章可编程接口芯片及其与CPU的接口方式0应用举例3(异步查询情况):例3利用8255A实现打印机接口,打印BL中的数据。打印机工作时序如左图所示。数据接口将数据传送到打印机的数据端口,利用一个负脉冲STROBE打入锁存。这时打印机可发回答信号ACK,然后由打印机处理。同时打印机送出高电平信号BUSY,表示打印机忙于打印。一旦BUSY变为低电平,表示打印结束,即可接收下一数据。请利用8255A工作方式0实现上述打印控制。硬件连接如右图.第九章可编程接口芯片及其与CPU的接口根据连线分析得知4个端口地址依次为:80H,84H,88H,8CH程序如下:MOVAL,10000001BOUT8CH,AL;8255A初始化WAIT:INAL,88H;读BUSYTESTAL,01HJNZWAIT;BUSY=1等待MOVAL,BLOUT80H,AL;数据输出MOVAL,00001110BOUT8CH,AL;PC7置低电平MOVAL,00001111BOUT8CH,AL;PC7恢复高电平第九章可编程接口芯片及其与CPU的接口二、8255A工作在方式1特点:8255A工作在方式1时,数据输入/输出操作要在选通信号控制下完成。A口和B口可作为输入或输出口,而C口的某些位作为“联络”信息。和方式0相比,最重要的差别在于C口的这些位与联络信号有着固定的一一对应关系。A口的联络信息由C口的PC3~PC7提供,B口的联络信息由C口的PC0~PC2提供。另外,8255A在方式1下具有中断能力,可以发出中断请求信号,为CPU工作在中断方式提供了条件。由于输入接口和输出接口所需的选通控制不同,下面分别予以介绍。第九章可编程接口芯片及其与CPU的接口1、选通输入方式(1)选通输入方式C口“联络”信号定义图第九章可编程接口芯片及其与CPU的接口(2)方式1输入时“联络”信号时序图第九章可编程接口芯片及其与CPU的接口第九章可编程接口芯片及其与CPU的接口第九章可编程接口芯片及其与CPU的接口2、选通输出方式(1)选通输出方式C口“联络”信号定义图第九章可编程接口芯片及其与CPU的接口(2)方式1输出时“联络”信号时序图第九章可编程接口芯片及其与CPU的接口第九章可编程接口芯片及其与CPU的接口第九章可编程接口芯片及其与CPU的接口方式1应用举例1(异步查询情况):例1在某一系统中接有一个μ80微型打印机,8255A作为输出接口,工作在选通方式,试编一程序将缓冲区BUFF内的400H个字节的ASCII码送打印机打印,其接口硬件电路如图所示。第九章可编程接口芯片及其与CPU的接口8255A作为打印机接口电路源程序如下:APORTEQU0FFF8HCPORTEQU0FFFCHCONTREQU0FFFEHDATASEGMENTBUFFDB400HDUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVCX,400H;字节长度MOVAL,0A8H;8255A控制字MOVDX,CONTROUTDX,AL第九章可编程接口芯片及其与CPU的接口MOVDI,OFFSETBUFFABC1:MOVAL,[DI];ASCII码输出MOVDX,APORTOUTDX,ALMOVDX,CPORTABC2:INAL,DX;查OBFA信号ANDAL,80H;OBFA变高了吗?JZABC2;否;再查ABC3:INAL,DX;查BUSY信号ANDAL,10H;BUSY变低吗?JNZABC3;否,再查INCDI;是,传送下一个数LOOPABC1MOVAH,4CH;返回操作系统INT21HCODEENDSENDSTART第九章可编程接口芯片及其与CPU的接口方式1应用举例2(中断情况):例2利用8255工作方式1实现打印控制。8255A工作在方式1时,PC7作为OBFA输出端,PC6作为ACKA输入端,PC3作为INTRA输出端,其硬件连接如图所示。设中断类型码为0BH,中断服务程序首地址为PRINTER。第九章可编程接口芯片及其与CPU的接口程序片段设计如下:MOVAL,10100000BOUT8CH,AL;初始化MOVAL,00001101BOUT8CH,AL;INTEA置1MOVAH,25H;设置DOS调用功能号MOVAL,0BH;设置类型码LEADX,PRINTER;设置中断服务程序偏移地址MOVBX,SEGPRINTER;设置中断服务程序段地址MOVDS,BXINT21H;DOS功能调用,设置中断向量STI;开中断……PRINTERPROCFAR;中断服务程序MOVAL,BLOUT80H,AL;输出打印IRETPRINTERENDP第九章可编程接口芯片及其与CPU的接口三、8255A工作在方式2特点:8255A只有A口可工作在方式2,此时B口可工作在方式0或者方式1。8255A工作在方式2,CPU通过它与外设交换数据可采用无条件传送方式,查询传送方式或中断传送方式。A口设置为方式2,也就是说从A口既可以输入数据,也可以输出数据,但某时某刻只能是输入或输出。实际上是A口方式1输入和输出的组合形式。第九章可编程接口芯片及其与CPU的接口方式2下C口“联络”信号定义图第九章可编程接口芯片及其与CPU的接口第九章可编程接口芯片及其与CPU的接口第九章可编程接口芯片及其与CPU的接口9.2可编程计数器/定时器82549.2.18254的内部结构及功能一、内部结构及引脚第九章可编程接口芯片及其与CPU的接口端口地址分配:CSA1A0端口地址0000#计数器地址0011#计数器地址0102#计数器地址011控制字寄存器地址计数器的内部结构二、功能计数器方式定时器方式第九章可编程接口芯片及其与CPU的接口9.2.28254的编程设置控制字(写入控制寄存器地址)初始化赋计数初值(写入相应计数器地址)包括读计数器内容(从相应计数器地址读出)第九章可编程接口芯片及其与CPU的接口一、控制字格式第九章可编程接口芯片及其与CPU的接口二、对计数器赋计数初值控制字写完后,接着赋计数初值。计数初值写入计数器的格式必须按照控制字的RW1、RW0的读写指示来写。另外,当D0=0时,即选择二进制计数,计数初值可在0~FFFFH之间选择。当D0=1时,即选择BCD码计数,计数初值可在0~9999之间选择。若想扩大计数范围,可以将两个或三个计数器级连使用。即将一计数器的OUT信号与另一计数器的CLK信号相连接。三、读计数器的内容8254的读操作只能读计数器的值,而不能读控制字。若读16位计数值,则对该计数器读两次,先读低8位,再读高8位。如果在计数过程中读计数器内容,则需发锁存命令。计数器的锁存命令是用一个字节的最高两位D7,D6指定要锁存的计数器;D5,D4必须为00作为锁存命令的标志。而低4位可为全0。它是控制字的一种特殊形式,所以要把此锁存命令写到控制字寄存器中去。可见,3个计数器
本文标题:第9章 可编程接口芯片及其与CPU的接口-西北工业大学微机原理PPT
链接地址:https://www.777doc.com/doc-3401557 .html