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

📄 counter.asm

📁 可编程并行接口8255A完成的交通灯实验   用8255A的B端口和C端口控制12个LED的亮和灭(输出为0则亮
💻 ASM
字号:
CODE 		SEGMENT
ASSUME 		CS:CODE
INTPORT1  	EQU 	0020H
INTPORT2 	EQU 	0021H
INTQ3	 	EQU 	INTERUPT3
INTQ7	 	EQU 	INTERUPT7
CONTPORT 	EQU 	00DFH
DATAPORT 	EQU 	00DEH
DATA0	        EQU     0580H
DATA1	        EQU     0500H
DATA2	        EQU     0508H
DATA3	        EQU     0518H
DATA4	        EQU     0520H
DATA5	        EQU     0521H


                ORG     1800H
START:		JMP 	TINT1
TINT1:          CALL    FORMAT
                CLD
                MOV     DI,DATA0
                MOV     CX,08H
                XOR     AX,AX
                REP     STOSW
                MOV     SI,DATA3
                CALL    LEDDISP
                MOV     AX,0H
                MOV     DS,AX
                CALL    WRINTVER
                MOV     AL,13H
                MOV     DX,INTPORT1
                OUT     DX,AL
                MOV     AL,08H
                MOV     DX,INTPORT2
                OUT     DX,AL
                MOV     AL,09H
                OUT     DX,AL
                MOV     AL,0F7H
                OUT     DX,AL
                STI
WATING:         JMP     WATING

WRINTVER:       MOV     AX,0H
                MOV     ES,AX
                MOV     DI,002CH
                LEA     AX,INTQ3
                STOSW
                MOV     AX,CS
                STOSW
                MOV     DI,003CH
                LEA     AX,INTQ7
                STOSW
                MOV     AX,CS
                STOSW
                RET

INTERUPT3:      CLI
                CALL    CONVERS
                MOV     SI,DATA0
                CALL    LEDDISP
                MOV     AL,20H
                MOV     DX,INTPORT1
                OUT     DX,AL
                MOV     SI,DATA5
BITADD:         ADD     BYTE PTR [SI],01H
                CMP     BYTE PTR [SI],09H
                JNA     BIT
                MOV     BYTE PTR [SI],0H
                INC     SI
                JMP     BITADD
BIT:            MOV     AL,20H
                MOV     DX,INTPORT1
                OUT     DX,AL
                STI
                IRET
	
CONVERS:        MOV     BX,DATA0
                MOV     SI,DATA5
                MOV     CX,8
CONVERS1:       PUSH    BX
                MOV     BH,0
                MOV     BL,BYTE PTR [SI]
                MOV     AL,CS:[BX+DATA2]
                POP     BX
                MOV     DS:[BX],AL
                INC     BX
                INC     SI
                LOOP    CONVERS1
                RET

INTERUPT7:      CLI
                MOV     SI,DATA1
                CALL    LEDDISP
                MOV     AL,20H
                MOV     DX,INTPORT1
                OUT     DX,AL
                STI
                IRET

FORMAT:         MOV     BX,0
                MOV     WORD PTR DS:[BX+DATA1],5050H
                ADD     BX,2
                MOV     WORD PTR DS:[BX+DATA1],0079H
                ADD     BX,2
                MOV     WORD PTR DS:[BX+DATA1],0000H
                ADD     BX,2
                MOV     WORD PTR DS:[BX+DATA1],0000H
                ADD     BX,2
                MOV     WORD PTR DS:[BX+DATA1],063FH
                ADD     BX,2
                MOV     WORD PTR DS:[BX+DATA1],4F5BH
                ADD     BX,2
                MOV     WORD PTR DS:[BX+DATA1],6D66H
                ADD     BX,2
                MOV     WORD PTR DS:[BX+DATA1],077DH
                ADD     BX,2
                MOV     WORD PTR DS:[BX+DATA1],6F7FH
                ADD     BX,2
                MOV     WORD PTR DS:[BX+DATA1],7C77H
                ADD     BX,2
                MOV     WORD PTR DS:[BX+DATA1],5E39H
                ADD     BX,2
                MOV     WORD PTR DS:[BX+DATA1],7179H
                ADD     BX,2
                MOV     WORD PTR DS:[BX+DATA1],4006H
                ADD     BX,2
                MOV     WORD PTR DS:[BX+DATA1],4040H
                ADD     BX,2
                MOV     WORD PTR DS:[BX+DATA1],6D6FH
                ADD     BX,2
                MOV     WORD PTR DS:[BX+DATA1],7F5BH
                ADD     BX,2
                MOV     WORD PTR DS:[BX+DATA1],3F5EH
                ADD     BX,2
                MOV     WORD PTR DS:[BX+DATA1],5C3FH
                ADD     BX,2
                MOV     WORD PTR DS:[BX+DATA1],6D6FH
                ADD     BX,2
                MOV     WORD PTR DS:[BX+DATA1],7F5BH
                MOV     BX,0
                MOV     BYTE PTR DS:[BX+DATA5],1H
                INC     BX
                MOV     BYTE PTR DS:[BX+DATA5],0H
                INC     BX
                MOV     BYTE PTR DS:[BX+DATA5],0H
                INC     BX
                MOV     BYTE PTR DS:[BX+DATA5],0H
                INC     BX
                MOV     BYTE PTR DS:[BX+DATA5],0H
                INC     BX
                MOV     BYTE PTR DS:[BX+DATA5],0H
                INC     BX
                MOV     BYTE PTR DS:[BX+DATA5],0H
                INC     BX
                MOV     BYTE PTR DS:[BX+DATA5],0H
                RET

LEDDISP:        MOV     AL,90H
                MOV     DX,CONTPORT
                OUT     DX,AL
                MOV     BYTE PTR DS:[DATA4],00H
LED1:           CMP     BYTE PTR DS:[DATA4],07H
                JA      LED2
                MOV     BL,DS:[DATA4]
                MOV     BH,0H
                MOV     AL,CS:[BX+SI]
                MOV     DX,DATAPORT
                OUT     DX,AL
                ADD     BYTE PTR DS:[DATA4],01H
                JNZ     LED1
LED2:		RET

CODE 		ENDS
END  		START


⌨️ 快捷键说明

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