⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 8255.asm

📁 利用芯片8255显示点阵
💻 ASM
字号:
DATA            SEGMENT

PC8255A		EQU     2CH
PC8255B		EQU	2DH
PC8255C		EQU	2EH
PC8255CTL	EQU	2FH
CONVERSE	DB	00H

MATRIX_TABLE	DB	10000000B,00000000B,00000000B	;COL1
		DB	00110110B,10110110B,00000000B	;COL2
		DB	00110110B,00110110B,10000000B	;COL3
		DB	00110110B,00110110B,01000000B	;COL4
		DB	00110000B,00110000B,00100000B	;COL5
		DB	00110000B,00000111B,00010000B	;COL6
		DB	00110110B,01110111B,00001000B	;COL7
		DB	00110110B,01110111B,00000100B	;COL8
		DB	00110110B,01110111B,00000010B	;COL9
		DB	00000110B,00000000B,00000001B	;COL10
DATA		ENDS

STACK1		SEGMENT STACK
STT		DW      20H DUP(0)
STACK1		ENDS

CODE            SEGMENT
		ASSUME  CS:CODE,DS:DATA,SS:STACK1

DELAY16		PROC
		PUSH    CX
		MOV     CX,0FFFFH
D16:		NOP
		LOOP    D16
		POP     CX
		RET
DELAY16		ENDP

PROCESS2	PROC			;FUN OF KEY2
		PUSH	AX
		PUSH	BX
		PUSH	CX
		PUSH	DX
		PUSH	SI
		
		CMP	CONVERSE,00H
		JNZ	CONVERSE1

		;62/64
		MOV	CX,0AH
		XOR	SI,SI
SCANCOL:	MOV	AL,MATRIX_TABLE[SI]
		OUT	PC8255A,AL
		MOV	AL,MATRIX_TABLE[SI+1]
		OUT	PC8255B,AL
		MOV	AL,MATRIX_TABLE[SI+2]
		OUT	PC8255C,AL
		ADD	SI,03H
		LOOP	SCANCOL
		JMP	GO_OUT

CONVERSE1:	;64/62
		;IT'S SPECAIL IN FIRST TWO SCAN
		MOV	AL,00000000B	;!!!!!!
		OUT	PC8255B,AL
		MOV	AL,10000000B
		OUT	PC8255A,AL
		MOV	AL,00000000B
		OUT	PC8255C,AL	;COL1
		
		MOV	AL,10110110B
		OUT	PC8255B,AL
		MOV	AL,00110110B
		OUT	PC8255A,AL
		MOV	AL,00000000B	;COL2
		OUT	PC8255C,AL

		MOV	CX,08H
		XOR	SI,SI
		ADD	SI,06H
SCANCOL2:	MOV	AL,MATRIX_TABLE[SI]
		OUT	PC8255B,AL
		MOV	AL,MATRIX_TABLE[SI+1]
		OUT	PC8255A,AL
		MOV	AL,MATRIX_TABLE[SI+2]
		OUT	PC8255C,AL
		ADD	SI,03H
		LOOP	SCANCOL2

GO_OUT:		POP     SI
		POP	DX
		POP	CX
		POP	BX
		POP	AX
		RET
PROCESS2	ENDP


BEGIN:		MOV     AX,DATA
		MOV     DS,AX
		MOV     AX,1000H
		MOV     ES,AX

		MOV	AL,10000000B	;INITIALIZE  8255
		OUT	PC8255CTL,AL

AGAIN:		CALL	PROCESS2
		MOV	DL,CONVERSE
		XOR	DL,00000001B
		MOV	CONVERSE,DL
		CALL	DELAY16
		JMP	AGAIN
		INT     20H

CODE		ENDS
		END BEGIN

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -