8255A应用举例必看
- 格式:ppt
- 大小:771.00 KB
- 文档页数:17
8255可编程并⾏接⼝知识点总结可编程并⾏接⼝8255知识点总结8255A 是INTEL系列的并⾏接⼝芯⽚,由于它是⼀种可编程的外部接⼝部件,通常作为微机系统总线与外部设备的接⼝控制部件,可通过软件来设置芯⽚的⼯作⽅式,⽤8255A 连接外部设备时,通常不需要附加外部电路,给使⽤带来很⼤的⽅便。
1、内部结构2、引脚说明8255作为主机与外设的连接芯⽚,必须提供与主机相连的3个总线接⼝,即数据线、地址线、控制线接⼝。
同时必须具有与外设连接的接⼝A、B、C⼝。
由于8255可编程,所以必须具有逻辑控制部分,因⽽8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。
(1)与CPU连接部分根据定义,8255能并⾏传送8位数据,所以其数据线为8根D0~D7。
由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C⼝及控制寄存器,故地址线为两根A0、A1。
此外CPU要对8255进⾏读、写与⽚选操作,所以控制线为⽚选、复位、读、写信号。
各信号的引脚编号如下:总线分类:(2)与外设接⼝部分8255有3个通道A、B、C与外设连接,每个通道⼜有8根线与外设连接,所以8255可以⽤24根线与外设连接,若进⾏开关量控制,则8255可同时控制24路开关。
①数据端⼝A、B、C端⼝A(PA0-PA7):对应了1个8位的数据输⼊锁存器和1个数据输出锁存/缓冲器。
所以A 作为输⼊或输出时,数据均受到锁存。
端⼝B(PB0-PB7):对应了1个8位的数据输⼊缓冲器和1个数据输出锁存器/缓冲器。
所以B 输⼊锁存,输出不受到锁存。
端⼝C(PC0-PB7):对应1个8位数据缓冲器和1个数据输出锁存/缓冲器,所以C输⼊不锁村,输出锁存。
当8255⼯作于应答I/O⽅式时,C⼝⽤于应答信号的通信。
A、B组的逻辑控制功能A组:组成:端⼝A(PA0-PA7)和端⼝C的⾼4位(PC4-PC7)这⼏个端⼝由A组统⼀进⾏逻辑控制。
8031例、设单片机8031与微型打印机之间的数据传送采用查询方式。
要求将存放在8031单片机内RAM中以30H为首地址的64个连续单元中的内容打印输出,试编程。
解:因为PC0连接BUSY,所以,PC3 ~ PC0为输入又因PC7连接/DATA STROBE ,所以PC7 ~ PC4为输出,STROBE ——表示重复的意思。
/DATA STROBE ——数据选通信号。
作用是通知打印机,8255A要给它传数。
PA口输出,PB口未用。
故8255A的控制字可设为:1 0 0 0 0 0 0 1B = 81HPA口地址:7FFCHPB口地址:7FFDHPC口地址:7FFEH控制口:7FFFHORG 1000HPRINT:MOV DPTR,#7FFFH ;控制口地址MOV A,#81H ;控制字MOVX @DPTR,A ;写入控制字MOV R1,#30H ;数据指针MOV R2,#40H ;64个数NEXT:MOV DPTR,#7FFEH ;PC口地址MOV A,#80H ;使PC7为高电平MOVX @DPTR,A ;输出/DATA STR OBE为高电平使;无效,不准备送数WAIT:MOVX A,@DPTR ;查询打印机状态JB ACC.0, WAIT ;若PC0即BUSY = 1忙,则等待MOV DPTR , #7FFCH ;若BUSY = 0空闲,则指向PA口MOV A , @R1 ;输出数据MOVX @DPTR , AMOV DPTR , #7FFEH库;指向PC口MOV A , #00H ;8255A输出/DATA STR OBE信号;通知打印机,给它传数。
MOVX @DPTR , AACALL PDELAY ;调延时子程序,以形成一个宽度;定时值的负脉冲为INC R1DJNZ R2 , NEXT ;判断打印输出完成否?SJMP $···PDELAY:(延时程序略)END。
微机原理8255A模拟交通信号灯实验三 8255A模拟交通灯一、实验目的掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。
二、实验内容用8255做输出口,控制12个发光二极管亮灭,模拟交通灯管理三、实验要求1.通过8255A控制发光二极管,PB4-PB7对应黄灯,PC0-PC3对应红灯,PC4-PC7对应绿灯,模拟交通灯的管理。
2.交通灯的亮灭规律如下:设有一个十字路口,1、3为南北方向,2和4为东西方向。
初始状态为四个路口的红灯全亮,之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3方向通车。
延时一段时间后,1、3路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次后1、3路口红灯亮,同时2、4路口的绿灯亮,2、4路口方向通车,延时一段时间后,2、4路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,再切换到1、3路口方向,之后,重复上述过程。
3.程序中设定8255A的工作模式及三个端口均工作在方式0,并处于输出状态。
8255A端口地址为0FF28H-0FF2BH。
4.各发光二极管共阳极,使其点亮应使8255A相应端口输出为0。
四、实验步骤1.根据实验要求连接好实验线路2.编写实验程序,编写的程序如下:;CODE SEGMENTASSUME CS:CODESTART:MOV DX,0FF2BHMOV AL,80HOUT DX,ALMOV DX,0FF2AHMOV AL,11110000BOUT DX,AL %初始化,红灯全亮,绿灯全亮MOV DX,0FF29HMOV AL,0FFHOUT DX,AL %初始化,黄灯全不亮AGAIN: MOV DX,0FF2AHMOV AL,10100101BOUT DX,AL %1、3路口绿灯亮,2、4路口红灯亮CALL DELAYX1:MOV DX,0FF29HMOV AL,01010000BOUT DX,ALMOV DX,0FF29HMOV AL,11110000BMOV CX,0FFFFHDEC CXJNZ X1MOV DX,0FF2AHMOV AL,01011010BOUT DX,AL %1、3路口红灯亮,2、4路口绿灯亮CALL DELAYX2:MOV DX,0FF29HMOV AL,10100000BOUT DX,ALMOV DX,0FF29HMOV AL,11110000BOUT DX,ALMOV CX,0FFFFHDEC CXJNZ X2JMP AGAINDELAY PROCMOV BX,0FFFFHX4: MOV CX,OFFFFHX3:DEC CXJNZ X3DEC BXJNZ X4DELAY ENDPHLTCODE ENDSEND START3.编译装载后运行程序,观察结果五、实验总结1、学会延迟程序的调用方式以及书写方式。
实验六中涉及到8255A的应用,8255A是一种通用的并行输入/输出(I/O)接口芯片。
它可以与微处理器或控制器连接,用于实现与外部设备的数据交换和控制。
以下是8255A的一些常见应用:
并行数据传输:8255A可用作并行数据传输的接口,通过其端口将数据从微处理器发送到外部设备,或从外部设备接收数据并传输给微处理器。
数字输入/输出控制:8255A的I/O端口可用于控制和监控数字信号,例如控制LED显示、按键输入、开关控制等。
数据采集和控制:8255A的I/O端口可以连接传感器、执行器等外部设备,实现数据采集和控制操作。
例如,可以通过8255A读取温度传感器的数据或控制电机的转动。
并行通信接口:8255A可以用于并行通信接口,连接外部设备或其他系统,实现数据的快速传输和通信。
仪器设备控制:通过8255A的I/O端口,可以实现对仪器设备的控制和通信,如控制实验设备、仪器测量和数据采集等。
在实验中,通常会根据具体的实验目的和设计,使用8255A的不同功能和配置。
通过编程控制8255A的寄存器和端口,可以实现与外部设备的数据交互和控制操作。
请注意,实验中的具体应用和配置可能会因实验的目的、实验设备和使用的编程语言等而有所不同。
因此,建议您参考实验手册或教材中关于8255A的具体实验说明,以获取准确的应用细节和操作步骤。
4 8255A应用举例在很多应用系统中,用LED作状态指示器具有电路简单、功耗低、寿命长、响应速度快等特点。
LED显示器是由若干个发光二极管组成显示字段的显示器件,应用系统中通常使用7段LED显示器,如图8-15所示.b)c)a)共阴型b)共阳型c)管脚分布图8-15 七段数码管以共阳极为例,各LED公共阳极接电源,如果向控制端a,b,c, …,g,dp送入00000011信号,则该显示器显示“0”字型。
控制显示各数码加在数码管上的二进制数据称为段码,显示各数码共阴和共阳七段LED数码管所对应的段码见表8-3。
表8—3 七段LED数码管的段码下面用8255A 作为LED 数码管及4位开关与CPU 的接口,要求按照开关的二进制编码状态,显示相应的数码。
如图8-16所示。
图8-16 80x86CPU 通过8255A 同开关与7段LED 显示器的接口设当开关K3、K2、K1、K0未合上时,各开关控制的位线为高电平1;开关接通时,各开关控制的位线为低电平0。
各开关状态、数字及LED 段码的关系如表8-4所示。
表8—4 开关状态、数字及LED 段码的关系例如:当K2未合上,K3、K1、K0均合上接通时状态为0100,表示数字4,显示代码应为99H。
设8255A端口地址为0FFFAH、0FFFBH、0FFFCH、0FFFDH.源程序如下:DATA SEGMENTXSHDM DB 0C0H,0F9H,0A4H, 0B0H,99H, 92H, 82H, 0F8H, 80HDB 98H, 88H,83H, 0C6H,0A1H,86H, 8EHCNT DB 10 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE ,DS:DATASTART:MOV AX,DA TAMOV DS,AX;以上为源程序结构通用部分。
;下面为8255A初始化程序块MOV AL,82HMOV DX,0FFFDHOUT DX,ALLOP:MOV DL,0FBHIN AL,DX ;读B口AND AL,0FHMOV BX,OFFSET XSHDMXLATMOV DL,0FAHOUT DX,AL ;写入A口CALL DELAYJMP LOPMOV AH,4CHINT 21HDELAY PROCMOV DX,0500HLOP1:MOV CX,0FFHLOP2: NOPNOPLOOP LOP2DEC DXJNZ LOP1RETDELAY ENDPCODE ENDSEND START。