[信息与通信]可编程接口芯片.ppt
《[信息与通信]可编程接口芯片.ppt》由会员分享,可在线阅读,更多相关《[信息与通信]可编程接口芯片.ppt(89页珍藏版)》请在三一办公上搜索。
1、微型计算机原理与应用,第7章 可编程接口芯片,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 2,【知识点】,可编程接口概述可编程并行接口芯片8255A可编程定时/计数器8253,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 3,概述,可编程芯片:用户通过程序改变其功能的电路芯片芯片初始化(芯片编程):程序改变芯片工作方式的过程目前常用的可编程芯片:8255A并行I/O接口8253计数/定时器8251串行I/O接口8259中断控制器,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 4,简单可编程电路方案,当寄存器FF为1时,多路转换开关接位置1,I/O线接三态门
2、,这个电路作为输出接口当寄存器FF为0时,多路转换开关接位置0,I/O线接锁存器,这个电路作为输出接口,三态门,锁存器,用户对寄存器FF写入的内容称为命令字或方式控制字,寄存器FF称为命令寄存器,相应的端口称为命令端口或控制端口,初始化的过程实际上是对芯片的控制端口写入各种命令字的操作,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 5,按功能可把8255A分为三个逻辑电路部分,即:口电路、数据总线缓冲器和读/写控制电路。(1)口电路 8255A共有三个8位口,其中A口和B口是单纯的数据口,供数据I/O使用。而C口则既可以作数据口,又可以作控制口使用,用于实现A口和B口的控制功能。数
3、据传送中A口所需的控制信号由C口高位部分(PC7PC4)提供,因此把A口和C口高位部分(PC7PC4)合在一起称之为A组;同样理由把B口和C口低位部分(PC3PC0)合在一起称之为B组。,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 6,(2)数据总线缓冲器数据总线缓冲器为8位双向三态缓冲器,可直接和CPU的数据线相连,与I/O操作有关的数据、控制字和状态信息都是通过该缓冲器进行传送。(3)读/写控制电路 与读写有关的控制信号有:CS片选信号(由CPU地址线通过译码产生)RD读信号WR写信号,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 7,A1、A0 端口选择控制信号
4、,提供四个端口地址(A、B、C三个端口地址及一个控制端口地址),RESET复位信号(高电平有效)。复位之后,控制寄存器清除,各端口被置为输入方式。,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 8,A组控制,B组控制,端口C上半部,端口C下半部,端口B,O,O,O,数据总线缓冲器,读/写控制逻辑,端口A,数据总线,RDWRA0A1,RESET,CS,PA0 PA7,PC4 PC7,PC0 PC3,PB0 PB7,CPU接口,外设接口,内部逻辑,8255A内部结构,内部数据总线,D0 D7,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 9,标准40管脚双列直插式芯片1、与
5、外设连接的管脚 我们已经知道8255A有三个数据端口,每个端口是8位的,由此可推算与外设相连接的管脚共有24位。其中A口有PA7PA0八个I/O引脚,B口有PB7PB0八个I/O引脚,C口有PC7PC0八个I/O引脚。特别地对于PC7PC0,其中可有若干根复用线可用于“联络”信号或状态信号,其具体定义与端口的工作方式有关。,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 10,2、与CPU连接的管脚 包括数据线D7D0,读写控制线和复位线,以及和CPU地址线相连接的片选信号、端口地址控制线A0和A1。3、电源线和地线 8255A的电源引脚为VCC和GND。VCC为电源线,一般取5V。
6、GND为电源地线。,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 11,1、8255A的工作方式 8255A共有三种工作方式,即方式0、方式1、方式2。(a)方式0:基本输入/输出方式 方式0下,可供使用的是两个8位口(A口和B口)及两个4位口(C口高4位部分和低4位部分)。四个口可以是输入和输出的任何组合。方式0适用于无条件数据传送,也可以把C口的某一位作为状态位,实现查询方式的数据传送。,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 12,(b)方式1:选通输入/输出方式 A口和B口分别用于数据的输入/输出。而C口则作为数据传送的联络信号。因为A口和B口的联络信号都
7、是三个,如果A或B只有一个口按方式1使用,则剩下的另外13位口线仍然可按方式0使用。如果两个口都按方式1使用,则还剩下2位口线,这2位口线仍然可以进行位状态的输入输出。方式1适用于异步查询方式的数据输入/输出。(c)方式2:双向数据传送方式 只有A口才能选择这种工作方式,这时A口既能输入数据又能输出数据。在这种方式下需使用C口的5位线作控制线,方式2适用于查询或中断方式的双向数据传送。如果把A口置于方式2下,B口工作于方式1时,C口8根线将全部作为联络信号使用。,7.1.3 8255A的工作方式及编程,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 13,(1)8255的方式控制字,
8、D0,D1,D2,D3,D4,D5,D6,D7,PC3 PC01:输入0:输出,B口 1:输入 0:输出,B口工作方式 0:方式0 1:方式1,PC7 PC4 1:输入 0:输出,A口 1:输入 0:输出,A口工作方式00:方式001:方式11:方式2,D7=1特征位,B组,A组,2、8255A 编程,方式控制字未规定C口的工作方式,只规定了C口数据的传输方向,这就表明C口要么作为联络线用,要么就只工作在方式0,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 14,例1:对8255A各口作如下设置:A口方式0,B口方式0,从A口输入,从B口、C口输出。(8255A的C口地址为62H)
9、工作方式控制字10010000,即90H。初始化程序段为:MOV AL,90HOUT63H,AL;控制口输出控制字INAL,60H;从A口输入 OUT61H,AL;从B口输出 OUT 62H,AL;从C口输出,2、8255A 编程,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 15,(2)C口的置位/复位控制字,D0,D1,D2,D3,D4,D5,D6,D7,1:置位0:复位,C口选择,000:PC0001:PC1010:PC2011:PC3100:PC4101:PC5110:PC6111:PC7,任选(可1可0),D7=0(特征位),方式0:基本 I/O 方式(查询时,任选C口做
10、连络信号)方式1:选通I/O 方式(可查询或中断,固定C口做连络信号)方式2:双向I/O方式(只用于A口,PC3 PC7做连络信号),2、8255A 编程,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 16,例2:把C口的第六位PC5置为1。MOV AL,00001011;PC5置位OUT 63H,AL,IN AL,63HOR AL,00100000B(清零时用AND)OUT 63H,AL,2、8255A 编程,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 17,(3)读入状态字,方式0:基本 I/O 方式(查询时,任选C口做连络信号)方式1:选通I/O 方式(可查询或
11、中断,固定C口做连络信号)方式2:双向I/O方式(只用于A口,PC3 PC7做连络信号),2、8255A 编程,当8255A由程序设定在方式1或方式2工作时,C口就根据不同的情况,产生或接收“联络”信号。如果这时我们对C口进行读操作,则读出的内容就包含两部分内容,一部分是那些作为I/O线上的内容,另一部分是与“联络”状态有关的内容。通过读取C口的内容,程序员可以测试或检查外部设备的状态,相应的改变 程序流程。,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 18,例1:8255A的A口和B口工作在方式0,A口为输入端口,接有四个开关。B口为输出端,接有一个七段发光二极管,连接电路如图
12、所示。试编一程序要求七段发光二班管显示开关所拨通的数字。,1、8255A工作 在方式0,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 19,A口地址:,A0=0,偶地址8位的8255A与16位的CPU可以通过数据总线D7D0传送8位信息,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 20,段码表,LED数码管,由图可知,七段发光二极管为共阳极LED器件。要让a段点亮,要求从PB0输出高电平;要让b段熄灭,要求从PB1输出低电平。8255A的A口接有开关,4位开关的组合可为0FH。为此,可将在LED上显示0FH各字符的段码列表。,微型计算机原理与应用第7章 输入输出方法及
13、常用的接口电路 21,tab1 db 3fh,06h,5bh,4fh,31h mov al,90h;设置方式字,A输入,BC输出mov dx,8026h;控制口out dx,aladd1:mov dx,8020h;A口in al,dx;取开关信息and al,0fh;屏蔽高4位mov bx,offset tab1;取段码表首地址xlat;查表得段码mov dx,8022h;输出显示,B口out dx,almov cx,0600hadd2:loop add2;循环延时显示jmp add1,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 22,A口方式 1,输入,INTEA,PA0 PA
14、7,PC4,PC5,PC3,STBA,IBFA,INTRA,I/O,PC6 PC7,O,RD,2、8255A工作在方式1输入,A口的选通信号,当其有效时,外设把数据打入A口的输入缓冲器,A口的输入缓冲器“满”信号,当其有效时表示A口的输入缓冲器已暂存一个有效数据。,A口的中断请求信号。当其有效时,8255A的A口向CPU申请中断,要求CPU从A口取数,内部中断允许,设置PC4=1 可使INTEA=1,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 23,2、8255A工作在方式1输入,1)外设把数据送到A口的数据线PA0PA7,选通信号STBA有效,数据进入A口的输入缓冲器2)A口的
15、IBFA有效,通知外设或CPU,表示A口接收了一个有效数据3)A口的INTRA有效,以中断方式通知CPU取走A口中的数据4)CPU读A口,数据进入CPU5)IBFA及INTRA转为无效,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 24,当A口已接受外设数据后,有两种方式通知CPU取数:其一用条件查询方式,通过查询缓冲器是否“满”,即IBFA是否为高电平来取数。其二用中断方式。在条件传送中,一般要有所谓的“握手”信号来协调数据的传送。“握手”信号至少要有两位信号线,其中一位是由接口电路发给外设,功能是向外设提供接口电路的信息。另一位是由外设发给接口,功能是向接口提供外设的信息。显然
16、在8255A的选通输入方式中STBA和IBFA是一对“握手”信号。,外设所发,通知A口外设给它一个数据,8255A发出的,告诉外设A口已经接收这个数据,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 25,例2:8255A的A口和B口分别工作在方式1和方式0,A口为输入端口,接有8个开关。B口为输出端,接有8个发光二极管,连接电路如图所示。现要求用方式1把改变后的键信息输入到CPU并通过B口显示。,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 26,本例要求把改变后的开关值通过B口的发光二极管显示出来。这和上面的例题不同,无条件传输方式CPU每次 从A口输入的信息不一定是
17、开关改变后的值。本例成功传输数据依赖于2个条件:1)CPU知道用户何时把数据送入8255A的A口2)用户知道CPU何时把数据取走,这个系统的工作过程如下:1、用户通过改变K0K7,产生新的键信息;2、按下开关K,产生选通信号,数据进入A口的缓冲器,此步骤实际上告诉CPU,8255的A口来了一个新数据;3、IBFA有效使LED点亮。这里含有两个信息,一个是8255A通知CPU其A口来了一个新数据,另一个是告诉用户CPU尚未取走这个这个数据,用户不得再送其他数据;4、CPU取走这个数据,LED熄灭;5、转步骤1。,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 27,设8255的I/O地
18、址分布为88H8EH,相应的程序段如下:mov al,10111001b;设置A口为方式1的输入;B口为方式0输出,C口输入out 8eh,al;控制口loop1:in al,8ch;取C口的状态线test al,00100000b;测试IBFA信息jz loop1;等待用户设定新的键值mov cx,0ffffh;延时,LED灯亮(步骤3)loop2:loop loop2in al,88h;A口取数。LED灯灭(步骤4)out 8ah,al;更新B口的显示jmp loop1;重复,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 28,INTEA,PA0 PA7,PC6,PC7,PC3
19、,PC4 PC5,ACKA,OBFA,INTRA,I/O,O,WR,外设回答信号。由外设发出。当其有效时,表示外设已接收数据。,A口的输出缓冲器“满”信号,当其有效时表示A口的输出缓冲器已暂存一个有效数据。,A口的中断请求信号。当其有效时,8255A的A口向CPU申请中断,要求CPU送数给A口,中断允许信号,设置PC6=1,可使INTEA=1,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 29,3、8255A工作在方式1输出,1)CPU执行OUT指令,把数据写入A口的输出缓冲器2)当有效数据进入A口的数据线PA0PA7时,OBFA有效,通知外设CPU已把一个有效数据输出给A口,外设
20、可从A口取数据了3)外设取走数据时,发ACKA信号给8255A,告诉A 口外设正在取数据4)A口OBFA无效,表示A口数据已被外设取走5)INTRA有效,以中断方式通知CPU再输出数据给A口,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 30,当A口已接受外设数据后,有两种方式通知CPU取数:其一用条件查询方式,通过查询缓冲器是否“满”,即IBFA是否为高电平来取数。其二用中断方式。在这种方式下,OBFA和ACKA是一对“握手”信号。OBFA是8255A产生,当其有效时,告诉外设A口已有一个新数据。ACKA是外设产生,当其有效时,通知A口外设已把数据取走。,3、8255A工作在方式
21、1输出,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 31,例3:8255A的A口工作在方式1的输出,接有8个发光二极管,现要求把内存中的10个数,通过A口发送给发光二极管以二进制的形式供用户抄录。,3、8255A工作在方式1输出,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 32,这个系统的工作过程如下:1、CPU把内存中的一个数据写入A口;2、LED灯亮,告诉用户LED显示的是新数据;3、用户抄录数据;4、用户按下开关K,发ACK信号,告诉CPU数据已取走;转第一步。,此系统要成功传输数据有2个必备条件:1)用户知道LED显示的数据是否是新数据2)CPU知道用户是否
22、已把数据抄录,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 33,mov cx,10;送10个数mov bx,offset xx;数组指针送bxmov al,10101001;设置A口为方式1的输出out 8eh,al;控制字loop1:mov al,bx;取数out 88h,al;送数到A口loop2:in al,8ch;取C口状态线and al,80h;测试OBFAjnz loop2;用户尚未抄录数据,检测;等待,此时LED灯亮(对应步骤2)call delay;用户已抄录数据,LED灯灭(对应步 骤4)inc bx;准备送下一个数 loop loop1;循环10次,微型计算机
23、原理与应用第7章 输入输出方法及常用的接口电路 34,当A口工作于方式2时,C口的“联络”线既要提供A口的输入“联络”线STBA和IBFA,又要提供A口的输出“联络”线ACKA和OBFA,同时还要有一个处理A口中断的中断申请线INTRA,因此占用了C口的5根线。如果设定某个8255A的A口和B口分别工作在方式2和方式1下,则这个8255A的C口的I/O功能将不再存在。当然如果B口是工作在方式0下,则C口还有3根线可作I/O线用。,4、8255A工作在方式2A口双向,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 35,4、8255A工作在方式2A口双向,外设回答信号。由外设发出。当其
24、有效时,表示外设已接收数据。,A口的输出缓冲器“满”信号,当其有效时表示A口的输出缓冲器已暂存一个有效数据。,A口的中断请求信号。当其有效时,8255A的A口向CPU申请中断,要求CPU访问A口,中断允许信号。,中断允许信号。,A口的输入缓冲器“满”信号,当其有效时表示A口的输入缓冲器已暂存一个有效数据,A口的选通信号,当其有效时,外设把数据打入A口的输入缓冲器,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 36,例4:在某一8086系统中接有一个打印机,8255A作为输出接口。工作在方式0,试编一程序将缓冲区BUFF内的400H个字节的ASCII码送打印机打印.打印机并行接口中,
25、最常用的接口信号线有10根,8位的数据线D7D0,选通信号线STB打印机“忙”线BUSY,1、与打印机接口,微型计算机原理与应用第7章 输入输出方法及常用的接口电路 37,打印机具体工作过程如下:1、数据线D7D0出现有效数据;2、STB有效,通知打印机,接口给打印机一个数据,数据从数据线进入打印机;3、BUSY有效,告诉接口,打印机正在打印数据。打印完毕,BUSY变为无效,表示打印结束。4、转步骤1,A口接数据线,输出,输出,输入,(1)首先检测BUSY是否有效,是则循环检测;否则执行(2)(2)CPU写有效数据到A口,发STB信号,把A口数据输出给打印机,方式0,条件传输,微型计算机原理与
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息与通信 信息 通信 可编程 接口 芯片
链接地址:https://www.31ppt.com/p-5615054.html