回 帖 发 新 帖 刷新版面

主题:急求用8255编交通灯程序

[font=黑体][/font][color=FF0000][/color]

回复列表 (共5个回复)

沙发

我初学者   编的不好啊!!
qq 56726301
STACK       SEGMENT STACK    
            DW  100  DUP(?)

STACK       ENDS

CODE        SEGMENT
            ASSUME CS:CODE,SS:STACK,DS:CODE
            ORG 0100H

MAIN        PROC    FAR

START1:     XOR AX,AX
            XOR BX,BX
            XOR CX,CX
            XOR DX,DX

            MOV SI,50H
            MOV [SI],WORD PTR   65535D
            MOV [SI+2],WORD PTR 65535D
            MOV [SI+4],WORD PTR 65535D
            MOV [SI+6],WORD PTR 303H

            MOV AL,10010010B
            MOV DX,[SI+6]  
            OUT DX,AL


            CALL REDA1
            CALL REDB1
            CALL GREAB1
            CALL GRECD1
            CALL YEALLY1

            MOV CX,3H
     START: CALL REDA0
            CALL REDB0
            CALL DELAY6

            CALL REDA1
            CALL GREAB0
            CALL DELAY12

            CALL GREAB1
            CALL REDB1

            MOV  BX,8H
        B1: CALL YEALLY0
            CALL DELAY1
            CALL YEALLY1
            CALL DELAY1
            DEC BX
            JNZ B1

            CALL REDA0
            CALL GRECD0
            CALL DELAY12
            CALL REDA1
            CALL GRECD1


            MOV BX,8H
        C1: CALL YEALLY0
            CALL DELAY1
            CALL YEALLY1
            CALL DELAY1
            DEC BX
            JNZ  C1

            CALL REDB0

            LOOP START
            RET
MAIN        ENDP

DELAY12     PROC NEAR
            PUSH CX
            PUSH BX
            PUSH AX

            
            MOV BX,6553D
       X1:  MOV CX,[SI]
       X2:  LOOP  X2
            DEC BX
            JNZ X1
            POP AX
            POP BX
            POP CX
            RET
DELAY12     ENDP

DELAY6      PROC NEAR
            PUSH CX
            PUSH BX
            PUSH AX

            MOV BX,6553D
       Y1:  MOV CX,[SI+2]
       Y2:  LOOP  Y2
            DEC BX
            JNZ Y1
            POP AX
            POP BX
            POP CX
            RET
DELAY6      ENDP

DELAY1     PROC NEAR
            PUSH CX
            PUSH BX
            PUSH AX

            
            MOV BX,6553D
       Z1:  MOV CX,[SI+4]
       Z2:  LOOP  Z2
            DEC BX
            JNZ Z1
            POP AX
            POP BX
            POP CX
            RET
DELAY1      ENDP

REDA0       PROC   NEAR
            PUSH  DX
            PUSH  AX
            MOV AX,[SI+6]
            MOV DX,AX
            MOV AL,00000000B
            OUT DX,AL
            POP AX
            POP DX
            RET
REDA0       ENDP

板凳

REDA1       PROC   NEAR
            PUSH  DX
            PUSH  AX
            MOV AX,[SI+6]
            MOV DX,AX
            MOV AL,00000001B
            OUT DX,AL
            POP AX
            POP DX
            RET
REDA1       ENDP

REDB0       PROC   NEAR
            PUSH  DX
            PUSH  AX
            MOV AX,[SI+6]
            MOV DX,AX
            MOV AL,00000010B
            OUT DX,AL
            POP AX
            POP DX
            RET
REDB0       ENDP

REDB1       PROC   NEAR
            PUSH  DX
            PUSH  AX
            MOV AX,[SI+6]
            MOV DX,AX
            MOV AL,0000011B
            OUT DX,AL
            POP AX
            POP DX
            RET
REDB1       ENDP

GREAB0      PROC   NEAR
            PUSH  DX
            PUSH  AX
            MOV AX,[SI+6]
            MOV DX,AX
            MOV AL,00000100B
            OUT DX,AL
            POP AX
            POP DX
            RET
GREAB0      ENDP

GREAB1      PROC   NEAR
            PUSH  DX
            PUSH  AX
            MOV AX,[SI+6]
            MOV DX,AX
            MOV AL,00000101B
            OUT DX,AL
            POP AX
            POP DX
            RET
GREAB1      ENDP

GRECD0      PROC   NEAR
            PUSH  DX
            PUSH  AX
            MOV AX,[SI+6]
            MOV DX,AX
            MOV AL,00000110B
            OUT DX,AL
            POP AX
            POP DX
            RET
GRECD0      ENDP

GRECD1      PROC   NEAR
            PUSH  DX
            PUSH  AX
            MOV AX,[SI+6]
            MOV DX,AX
            MOV AL,00000111B
            OUT DX,AL
            POP AX
            POP DX
            RET
GRECD1      ENDP
YEALLY0     PROC   NEAR
            PUSH  DX
            PUSH  AX
            MOV AX,[SI+6]
            MOV DX,AX
            MOV AL,00001000B
            OUT DX,AL
            POP AX
            POP DX
            RET
YEALLY0     ENDP

YEALLY1     PROC   NEAR
            PUSH  DX
            PUSH  AX
            MOV AX,[SI+6]
            MOV DX,AX
            MOV AL,00001001B
            OUT DX,AL
            POP AX
            POP DX
            RET
YEALLY1     ENDP
CODE        ENDS
            END  START1

3 楼

大家顶我啊!!!

4 楼


顶一下

5 楼

多谢了!我也有用……

我来回复

您尚未登录,请登录后再回复。点此登录或注册