收藏 分销(赏)

第七章可编程外围接口芯片A及其应用优秀文档.ppt

上传人:二*** 文档编号:12611753 上传时间:2025-11-10 格式:PPT 页数:62 大小:3.78MB 下载积分:5 金币
下载 相关 举报
第七章可编程外围接口芯片A及其应用优秀文档.ppt_第1页
第1页 / 共62页
本文档共62页,全文阅读请下载到手机保存,查看更方便
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,1,第七章,第七章 可编程外围接口芯片8255A及其应用,7.1 8255A的工作原理,一、8255A的结构和功能,二、8255A的控制字及初始化编程,三、8255A工作方式和C口状态字,7.2 8255A的应用举例,教材第九章内容,2,第七章,7.1 8255A的工作原理,8255A,是一种通用的可编程,并行,I/O,接口芯片,,一般不需附加外部逻辑电路就可直接为,CPU,与外设之间提供数据通道;通过对它进行编程,可为,CPU,与外设之间的通信提供,无条件,、,有条件,和,中断方式,的接口电路,因此应用较广泛。,8255A综述,3,第七章,1,、外形,40,引脚的芯片;,双列直插式封装;,一、8255A的结构和功能,8255A,的引脚图,4,第七章,管脚小结:,(,1,)与外设连接的管脚,8255A,有三个数据端口,每个端口是,8,位的,由此,与外设相连接的管脚共有,24,位。,A,口有八个,I/O,引脚,PA,7,-PA,0,B,口有八个,I/O,引脚,PB,7,-PB,0,C,口有八个,I/O,引脚,PC,7,-PC,0,5,第七章,(2)与,CPU,连接的管脚,数据线,D,7,-D,0,;,读写控制线,RD#,、,WR#,;,片选信号,CS#,;,端口地址控制线,A,0,和,A,1,;,复位线,RESET,。,(3)电源线和地线,电源线,V,CC,,一般取,5V,;,电源地线,GND,。,6,第七章,2,、内部结构,数据端口,A,、,B,、,C,(其中,C,口被分成,C,口上半部分和,C,口下半部分两个部分),A,组和,B,组控制逻辑;,数据总线缓冲器;,读,/,写控制逻辑。,7,第七章,8,第七章,8255A与系统的连接示意图,1 8255A的工作原理,;C口位控方式输出,有效时将8位并行数据送到打印机的输入缓冲器中。,控制端口D(A组和B组控制电路):,S1:IN AL,PORTA ;从8255 A口输入数据,这些信号有打印机输出的状态信息,也有计算机发出的信息。,这种方式的共阴极或共阳极点连在一起,接地,这种方式数码管的数据端与一个I/O口并连,而每个数码管的控制端(公共端)分别与另一个I/O口的某一位相连,可通过程序控制,使得在某一时间段内只让某个数码管显示,下一时间段内让另一个数码管显示,这样让4个数码管轮流显示,只要轮流的速度快,人眼不会感到闪烁,好像在同时显示。,两个选通的8位数据端口,可输入或输出;,1、方式 0(称为基本输入/输出工作方式),这里,8255的端口地址为:60H、62H、64H、66H,数码管采用共阴极接法。,3、方式 2(称为双向总线方式),如:在主机和软盘驱动器交换数据时,CALL DELAY ;,OUT PORTB,AL ;送至8255B口,(2)读A口数据(8位),分成低4位和高4位,然,9,第七章,3,、各部分功能简介,数据端口,A,、,B,、,C,:可用来和外设传送信息;每个端口,8,位,通过编程设定其为输入口或输出口;,8255数据端口功能表,工作方式,A口,B口,C口,0,1,2,基本输入输出,输出锁存,输入三态,应答式输入输出输入输出均锁存,应答双向输入输出输入输出均锁存,基本输入输出,输出锁存,输入三态,基本输入输出,输出锁存,输入三态,应答式输入输出输入输出均锁存,作为A口、B口的控制位及状态位,作为A口、B口的控制位及状态位,10,第七章,控制端口,D(A,组和,B,组控制电路,),:,8,位端口,无对外引脚;接收,CPU,送的控制字,决,定,A,组和,B,组的工作方式,或对,C,口的每位执行置位,/,复位等操作。,数据总线缓冲器,(D0-D7),:,由,1,个,8,位双向三态缓冲器构成;,8255A,内各端口通过数据缓冲器与系统总线相连。,11,第七章,地址译码与读写控制逻辑,根据系统送来的地址信号和控制信号,对数据信息、控,制信息和状态信息的传送进行管理。,CS#,:,片选信号,低有效,有效时允许,8255A,与,CPU,交换信息,RD#,:,读信号,低有效,有效时允许,CPU,从,8255A,端口中读数,据,/,状态。,WR#,:,写信号,低有效,有效时允许,CPU,将控制字,/,数据写入,8255A,。,RESET,:,复位信号,高有效。复位后,控制寄存器内容被清,零。,A,口、,B,口和,C,口被置成输入方式。,A1,、,A0,:,端口的选择信号。,00,端口,A,01,端口,B,10,端口,C,11,端口,D(,控制口,),12,第七章,8255A的基本操作,13,第七章,8255A,的,初始化编程,,通过输出指令让,CPU,对,8255A,控制字寄存器写数据,来设置,8255A,的初始状态,8255A,有两类控制字,1,、方式选择控制字:,选择各端口的工作方式及操作类型(输入,输出),2,、置位复位控制字:,对,C,端口的任一位进行置位或复位操作,二、8255A的控制字及初始化编程,14,第七章,1、方式选择控制字,15,第七章,通过对,8255A,的控制口写入置位,/,复位控制字,可使端口,C,的任意一个引脚的输出单独置,1,或清,0,。,2、置位复位控制字,16,第七章,例1,:设8255A的各端口地址为90H,93H,若要求各端,口的工作状态如下:应怎样对8255A进行初始化编程?,A口:方式0输出;B口:方式0输入;,上C口:方式0输入;下C口:方式0输出;,分析,:控制口地址:,93H,工作方式控制字为:,1000 1010B,即,8AH,初始化程序片断:,MOV AL,8AH,OUT 93H,AL,17,第七章,例2:,设一片8255A的口地址为60H,63H,要求从PC5,的引脚输出一个正脉冲。,分析,:先将PC5清零,再将其置1,最后再清零,8255,PC,5,MOVAL,0000,101,0,B,OUT 63H,AL,MOVAL,0000,101,1,B,OUT 63H,AL,MOVAL,0000,101,0,B,OUT 63H,AL,18,第七章,思考:,例2中若要求输出方波信号,则程序片段为:,AGAIN:,MOV AL,00001011B,OUT 63H,AL,CALL DELAY ;,调用延时子程序,MOV AL,00001010B,OUT 63H,AL,CALL DELAY ;,调用延时子程序,JMP AGAIN,19,第七章,8255A,有,3,种工作方式:,方式,0,:基本的输入输出方式,方式,1,:选通输入输出方式,方式,2,:双向总线,I/O,方式,各端口的工作方式,是通过编程向控制口写入方式选择控制字设置的。,A,口可工作在方式,0,、方式,1,、方式,2,下;,B,口:方式,0,和方式,1,;,C,口:方式,0,或作为,A,口、,B,口的状态或控制信号。,三、8255A工作方式和C口状态字,20,第七章,1、方式 0,(称为基本输入/输出工作方式),适用场合:不需要用应答信号的,无条件,数据传送。,如:读一组开关状态,控制一组指示灯,方式,0,的基本功能:,具有两个,8,位口(,A,口和,B,口),两个,4,位口(上口,C,和,下,C,口),任意端口都可作为输入或输出,但不能同时实现输入,及输出,设置为,输出,口时有,锁存,能力,设置为,输入,口时,无锁存,能力。,方式0举例,21,第七章,2、方式 1,(称为选通输入输出工作方式),适用场合:查询方式或中断方式的数据传送。,如:与打印机的接口,方式,1,的主要功能:,两个,选通,的,8,位数据端口,可输入或输出,;,每个端口有三条控制线(,C,口提供,固定指定的,不能用程序改变),若只有一个口工作在方式,1,,余下的,13,位可工作在方,式,0,;,方式,1,的两个,8,位数据口的,输入、输出数据都能锁存,。,22,第七章,(1)选通输入方式,A口、B口都工作在选通输入方式,其端口控制字、状态、联络信号如下图所示。,选通输入/输出方式可以分为3种情况,PA,7,PA,0,IBF,A,RD,STB,A,D0,D1,D2,D3,D4,D5,D6,D7,1/0,1,1,0,1,控制字,INTR,A,I/O,INTE,A,PC,4,PC,5,PC,3,PC,6,7,PC,6,7,1=,输入,0=,输出,方式,1 A,口,中断允许信号,选通信号,缓冲器满信号,中断请求信号,标志位,A,口方式,1,A,口输入,23,第七章,PB,7,PB,0,IBF,B,RD,STB,B,D0,D1,D2,D3,D4,D5,D6,D7,1,1,1,控制字,INTR,B,INTE,B,PC,2,PC,1,PC,0,方式,1 B,口,中断允许信号,选通信号,缓冲器满信号,中断请求信号,B,口方式,1,B,口输入,【注意】,由于INTE A、INTE B无外部引出脚,因此当PC,4,或PC,2,脚上出现,高电平或低电平信号时,不会改变中断允许触发器的状态。,24,第七章,25,第七章,(2)选通输出方式,A口、B口都工作在选通输出方式,其端口控制字、状态、联络信号如下图所示。,选通输入/输出方式可以分为3种情况,D0,D1,D2,D3,D4,D5,D6,D7,1/0,0,1,0,1,控制字,PC,5,4,1=,输入,0=,输出,PA,7,PA,0,WR,INTR,A,I/O,INTE,A,PC,7,PC,6,PC,3,PC,4,5,方式,1 A,口,OBF,A,ACK,A,输出缓冲器满,外设回答信号,26,第七章,D0,D1,D2,D3,D4,D5,D6,D7,0,1,1,控制字,PB,7,PB,0,WR,INTR,B,INTE,B,PC,1,PC,2,PC,0,方式,1 B,口,OBF,B,ACK,B,(2)选通输出方式(续),27,第七章,28,第七章,(3)选通输入/输出方式,8255A工作于方式1时,允许对A口和B口分别定义,一个端口作输入,另一个端口作输出。,选通输入/输出方式可以分为3种情况,D0,D1,D2,D3,D4,D5,D6,D7,0,1,1/0,1,1,0,1,控制字,PC,6,7,1=,输入,0=,输出,PA,7,PA,0,WR,INTR,A,I/O,PC,4,PC,5,PC,6,7,OBF,B,ACK,B,RD,PC,3,STB,A,IBF,A,PB,7,PB,0,PC,1,PC,2,PC,0,INTR,B,29,第七章,(3)选通输入/输出方式(续),D0,D1,D2,D3,D4,D5,D6,D7,1,1,1/0,0,1,0,1,控制字,PC,5,4,1=,输入,0=,输出,PA,7,PA,0,RD,INTR,A,I/O,PC,7,PC,6,PC,4,5,STB,B,ACK,A,WR,PC,3,OBF,A,IBF,B,PB,7,PB,0,PC,2,PC,1,PC,0,INTR,B,30,第七章,3、方式 2,(称为双向总线方式),适用场合:查询方式或中断方式的数据传送。,如:在主机和软盘驱动器交换数据时,方式,2,的主要功能:,只有,A,口,可以工作于这种方式。,在这种方式下,,CPU,与外设交换数据时,可在单一的,8,位端口数据线,PA7,PA0,上进行,既可以通过,A,口把数据传送到外设,又可以从,A,口接收从外设送过来的数据,而且,输入和输出数据均能锁存,。,输入和输出过程,不能同时,进行。,31,第七章,注意:,输入输出共用一个INTR,有效时,CPU需通过查询C口状态:,PC,7,()和,PC,5,()判断是输入还是输出引起的中断。,B,组方式,:1=,方式,1,0=,方式,0,D0,D1,D2,D3,D4,D5,D6,D7,控制字,1,1,1/0,1/0,1/0,B,口,:1=,输入,0=,输出,PC,20,:1=,输入,0=,输出,IBF,A,I/O,OBF,A,ACK,A,PA,7,PA,0,WR,INTE,1,PC,20,RD,PC,3,PC,7,PC,6,PC,4,PC,5,INTE,2,STB,A,INTR,A,32,第七章,4、C口状态字,当,8255A,工作于方式,0,时,,C,口各位作输入输出用。,当,8255A,工作于方式,1,和方式,2,时,,C,口产生或接收与外设间的联络信号。,读取,C,口的内容可使编程人员测试或检查外设的状态,用输入指令对,C,口进行读操作就可读取,C,口的状态,即:,IN AL,PC,口,33,第七章,C,口的状态字有以下几种格式:,(,1,)方式,1,状态字,输入,状态字:,输出,状态字:,34,第七章,(,2,)方式,2,状态字,35,第七章,例1:,在某一系统中,有8个开关K7,K0,要求每隔1S检测,它们的通断状态,并随时在发光二极管LED7,LED0上显,示出来。,要求:,开关断开,相应的LED点亮;开关合上,LED熄灭,硬件电路设计图,7.2 8255A的应用举例,36,第七章,分析:,确定各端口地址,A,口,:F0H B,口,:F2H C,口,:F4H,控制口,:F6H,控制字:,A,口工作于方式,0,输入,,B,口为方式,0,输出,,C,口未用,控制字中与,C,口对应的位可以被置为,0,,写入控制端口,F6H,的控制字为:,10010000B,要求功能的实现:,从,A,口读入的数据直接输出至,B,口即可满足要求,37,第七章,参考程序片断:,MOV AL,10010000B,;,控制字,OUT 0F6H,AL,;,写入控制字,INAL,0F0H,;,从,A,口读入开关状态,OUT,0F2H,AL,;B口控制LED,指示开关状态,思考,:,若地址大于,FFH,,则程序应该怎么改?,若要,“,开关断开,相应的,LED,熄灭,”,,程序怎么改?,38,第七章,【注意】,(1)CPU与8255A之间数据传输以,BYTE,为单位;,(2)8255A的方式0使用步骤:,确定地址;,写控制字(初始化);,输入输出操作,39,第七章,1、七段LED的工作原理和接口电路,dp,g,f,e,d,c,b,a,a,b,c,d,e,f,g,DP,DP,g,f,e,d,c,b,a,阴极,数字,【,5,】,0,1,1,0,1,1,0,1,例2:数码管与8255A接口举例,40,第七章,十六进制数字,七段显示码,十六进制数字,七段显示码,0,3FH,8,7FH,1,06H,9,6FH,2,5BH,A,77H,3,4FH,b,7CH,4,66H,C,39H,十六制数共阴极的七段显示码表,5,6DH,d,5EH,6,7DH,E,79H,7,07H,F,71H,41,第七章,(1)静态显示方式,I/O(1)I/O(2)I/O(3)I/O(4),2、数码管的显示方式,42,第七章,这种方式的共阴极或共阳极点连在一起,接地,或接,+5V,,每一个数码管与一个并行口相连。所以,在同一时间内,每个数码管可以显示不同的内容。,但每个数码管都需要一个,8,位的,I/O,口,占用,I/O,太,多,成本高。,43,第七章,(2)动态显示方式,44,第七章,这种方式数码管的数据端与一个,I/O,口并连,而每个数码管的控制端(公共端)分别与另一个,I/O,口的某一位相连,可通过程序控制,使得在某一时间段内,只让某个数码管显示,,下一时间段内让另一个数码管显示,这样让,4,个数码管轮流显示,只要轮流的速度快,人眼不会感到闪烁,好像在同时显示。,45,第七章,设计一接口电路,要求从,8255A,的,A,口输入由,8,个开关组成的数据信息,用,2,位,16,进制数表示,并通过,B,口输出至数码管显示。,要求编写完整的源程序实现数据的输入和输出显示。这里,,8255,的端口地址为:,60H,、,62H,、,64H,、,66H,,数码管采用共阴极接法。,3、接口电路设计,46,第七章,A2,A1,47,第七章,编程思路:,(,1,)建立一个,0F,的数码显示表;,(,2,)读,A,口数据(,8,位),分成低,4,位和高,4,位,然,后分别到表中查找出对应的数码,通过,B,口送出;,(,3,)由于,2,个数码管数据端连接的都是,B,口,所以,当想让低位数码管亮时,必须先让高位数码管灭;,同样,当想让高位数码管亮时,必须先让低位数码,管灭。,4、程序设计,48,第七章,DATA SEGMENT,TAB,DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H,PORTA,EQU 60H,PORTB,EQU 62H,PORTC,EQU 64H,CWR,EQU 66H,FSZ,EQU 90H ;8255A为方式0,A口输入,B口输出,参考程序,49,第七章,;C口位控方式输出,PC7L,EQU 0000 1110 B ;PC7 输出低电平,PC7H,EQU 0000 1111 B ;PC7 输出高电平,PC6L,EQU 0000 1100 B ;PC6 输出低电平,PC6H,EQU 0000 1101 B ;PC6 输出高电平,DATA ENDS,CODE SEGMENT,ASSUME DS,:,DATA,,,CS,:,CODE,参考程序,OUT PORTB,AL ;送至8255 B口,通过对它进行编程,可为CPU与外设之间的通信提供无条件、有条件和中断方式的接口电路,因此应用较广泛。,适用场合:查询方式或中断方式的数据传送。,Pstrings DB This is a sample of printer,当想让低位数码管亮时,必须先让高位数码管灭;,每个端口8位,通过编程设定其为输入口或输出口;,当8255A工作于方式0时,C口各位作输入输出用。,1、方式选择控制字,8255数据端口功能表,端口地址控制线A0和A1;,(2)8255A的方式0使用步骤:,PC7H EQU 0000 1111 B ;,MOV AL,PC6H,2 8255A的应用举例,控制端口D(A组和B组控制电路):,DATA SEGMENT,二、8255A的控制字及初始化编程,50,第七章,START:,MOV AX,DATA,MOV DS,AX,MOV AL,FSZ ;设8255的工作方式,OUT CWR,AL,MOV BX,,OFFSET,TAB;设段选码表首地址,S1:IN AL,PORTA ;从8255 A口输入数据,MOV CL,AL ;暂存数据,AND AL,0FH ;取数据的低4位,XLAT ;查表,得段选码,MOV AH,AL ;暂存低位显示,MOV AL,PC6H,OUT CWR,AL,;灭高位数码管,参考程序,51,第七章,MOV AL,AH,OUT PORTB,AL ;送至8255 B口,MOV AL,PC7L,OUT CWR,AL,;点亮低位数码管,MOV AL,CL,AND AL,0F0H ;取数据高4位,MOV CL,4,SHR AL,CL ;高4位移至低4位,XLAT ;查表得高位数的段选码,MOV AH,AL ;暂存数据,MOV AL,PC7H,OUT CWR,AL,;灭低位数码管,参考程序,52,第七章,MOV AL,AH,OUT PORTB,AL ;,送至8255B口,MOV AL,PC6L,OUT CWR,AL,;,点亮高位数码管,JMP S1 ;,继续扫描,MOV AH,4CH,INT 21H,CODE ENDS,END START,参考程序,53,第七章,设计CPU(8086)与打印机的接口电路。,要求:,使用,8255A,作为接口芯片,并用,A,口作为输出口,这里,,8255A,的基地址为:,340H,。,编写完整的源程序,实现将内存某一段单元中的内容送到打印机进行打印。,例,3,:打印机与,8255,接口举例,54,第七章,(1)打印机接口信号,并行,打印机接口中除8位数据线外,还应有选通、忙碌、应答、出错、缺纸等信号。这些信号有打印机输出的状态信息,也有计算机发出的信息。,常用的有:,DATA1,DATA8:,8位并行数据,输入。,STROB#:,选通信号,低有效,输入;有效时将8位并行数据送到打印机的输入缓冲器中。,8255A工作于方式1时,允许对A口和B口分别定义,一个端口作输入,另一个端口作输出。,LP2:IN AL,DX ;读C口状态,下列情况BUSY为高:,例3:打印机与8255接口举例,START:MOV AX,DATA,A口:方式0输出;,并行打印机接口中除8位数据线外,还应有选通、忙碌、应答、出错、缺纸等信号。,PORTB EQU 342H,数据输入期间 打印机操作期间,MOV AH,4CH,WR#:写信号,低有效,有效时允许CPU将控制字/数据写入8255A。,作为A口、B口的控制位及状态位,CWR EQU 66H,55,第七章,ACK#:,应答信号,低有效,输出。有效时,表示数据已被接受,打印机准备接受下一个数据。,BUSY:,忙信号,高有效,输出。有效时表示打印机不能接受数据,下列情况BUSY为高:,数据输入期间 打印机操作期间,脱机状态 打印机出错状态,56,第七章,(,2,),8255,与打印机的连接电路,57,第七章,DATA SEGMENT,PORTA,EQU 340H,PORTB,EQU 342H,PORTC,EQU 344H,CWR,EQU 346H,Pstrings,DB This is a sample of printer,DB interface using 8255A;要打印的字符串,COUNT,EQU$-Pstrings,DATA ENDS,(3)参考程序,58,第七章,CODE SEGMENT,ASSUME CS:CODE,DS:DATA,START:,MOV AX,DATA,MOV DS,AX,MOV AL,0A8H,;,8255 A口方式1输出,C口上半部输入,MOV DX,CWR,OUT DX,AL,MOV CX,COUNT ;打印字符的个数,MOV BX,,OFFSET,Pstrings,59,第七章,LP1:,MOV DX,PORTC,LP2:,IN AL,DX ;读C口状态,AND AL,00010000B ;屏蔽无关位,JNZ LP2,;BUSY=1,等待,直到不忙,MOV AL,BX,MOV DX,PORTA,OUT DX,AL ;送一个字符到8255A口,INC BX ;准备输出下一个字符,LOOP LP1,MOV AH,4CH,INT 21H,CODE ENDS,END START,60,第七章,小结,主要内容:,8255A,的结构及其功能,8255A,的控制字及其工作方式,8255A,的简单应用(方式,0,、方式,1,),重点难点,8255A,的控制字,8255A,的简单应用(方式,0,、方式,1,),61,第七章,9,、(采用软件定时,不用,8253,),10,课后练习,作,业,教材,P355,1,8,62,第七章,用户对寄存器FF写入的内容称为,命令字,或,方式控制字,,而寄存器FF称为命令寄存器,相应的端口称为,命令端口,或,控制端口,,对芯片的控制端口写入各种命令字的操作过程即为对可编程芯片的,初始化编程,。,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 初中其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服