8255A应用举例
- 格式:ppt
- 大小:682.00 KB
- 文档页数:17
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:DA TASTART: 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。