• Tin mới

    [8051 TUTORIAL] BÀI 4 Chương trình đếm 000 đến 999 dùng ngắt ngoài

    Sơ đồ mạch điện:



     Chương trình mẫu:


    DV        EQU    R2
    CHUC    EQU    R3
    TRAM    EQU    R4  
        ORG     000H
        JMP    MAIN
        ORG    00BH
        JMP    NGAT_T0
    MAIN:
        MOV       TMOD,#05H
        MOV       TH0,#0FFH
        MOV       TL0,#0FFH
        CLR       TF0
        SETB   TR0  
        MOV       IE,#82H
        MOV     TRAM,#0
        MOV     CHUC,#0
        MOV     DV,#0
    LOOP:
        CALL    BCD_7DOAN
        CALL    HIENTHI
        JMP    LOOP
    ;*********************************************
    BCD_7DOAN:
        MOV    DPTR,#MA7DOAN
        MOV    R0,#02H        ;DIA CHI THANH GHI R2
        MOV    R1,#20H
    GM:    MOV    A,@R0
        MOVC    A,@A+DPTR
        MOV    @R1,A
        INC    R0
        INC    R1
        CJNE    R0,#05H,GM
    RET
    ;*********************************************
    HIENTHI:
        MOV    R0,#20H
        MOV    A,#08H
    HT:    MOV    P0,@R0
        MOV    P2,A
        CALL    DELAY
        MOV    P2,#00H        ;CHONG LEM
        INC    R0
        RR    A
        CJNE    A,#01H,HT
    RET
    ;*********************************************
    NGAT_T0:
        INC        DV
        CJNE     DV,#10,EXIT
        MOV      DV,#0
        INC        CHUC
        CJNE     CHUC,#10,EXIT
        MOV      CHUC,#0
        INC        TRAM
        CJNE     TRAM,#10,EXIT
        MOV      TRAM,#0
    EXIT:
        MOV      TH0,#0FFH
        MOV      TL0,#0FFH
    RETI
    ;*********************************************
    DELAY:
        MOV    R7,#0FFH
        DJNZ    R7,$
    RET
    ;*********************************************
    MA7DOAN:
    DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
    END

      DOWNLOAD CODE+MÔ PHỎNG
    (Bấm vào link đợi 5s, sau đó bấm "Skip Ad" sẽ ra link download, pass giải nén: phamtandatx)

    http://agileurbia.com/9qoX
     

    No comments