其他分享
首页 > 其他分享> > 8255芯片实现7段LED显示器

8255芯片实现7段LED显示器

作者:互联网

题目是:
软件:Proteus、emu8086

  1. 第一步:因为7引脚的LED显示屏中有七个不同块,由七个引脚分别控制,所以需要找出在相应0-F的显示下7个引脚的状态;
    注:当相应引脚为低电平时,引脚控制相应的块就会亮;
    在这里插入图片描述
  2. 第二步:找出0-F对应的编码。

040H,0F9H,024H,030H,019H,012H,02H,078H,00H,010H,08H,03H,046H,21H,06H,0EH

  1. 第三步、编码编译
 ;端口地址
INB EQU 2B2H    ;portB读入
OUTA EQU 2B0H   ;portA输出
CTL  EQU 2B6H   ;控制字端口  
;输出端口        0    1    2    3   4   5    6   7    8   9    A    B   C    D    E   F      
DigitalLED  DB 040H,0F9H,024H,030H,019H,012H,02H,078H,00H,010H,08H,03H,046H,21H,06H,0EH
CODE SEGMENT
	ASSUME CS:CODE 
	;初始化控制配置端口
START:MOV DX,CTL 
    MOV AL,10000010B  ;控制字
	OUT DX,AL         ;控制字输入到控制端口 
	;实现B口进,A口出   
INPUT:MOV DX,INB
	IN  AL,DX  			;接收B端口输入的数据
	AND AL,0FH    		;取最低4位 
	MOV BX,OFFSET  DigitalLED   ;将输入字对应内容偏移量送到BX
	XLAT                        ;命令含义:AL<-(DS*16+BX+AL)
	
    MOV DX,OUTA
	OUT DX,AL
	JMP INPUT       ;转回重新B端口输入
CODE ENDS
	END START
  1. 执行查看效果:
    在这里插入图片描述
    在这里插入图片描述

最难的部分应该是当时想到对应的转换关系,然后想到OFFSET以及XLAT指令选择不同的输出,比一开始纯用CMP和JZ好太多了;

标签:8255,LED,引脚,芯片,端口,AL,MOV,DX
来源: https://blog.csdn.net/weixin_43732749/article/details/117134796