Thi Vi xử lý 8x51

  • Upload
    mi-xao

  • View
    224

  • Download
    0

Embed Size (px)

Citation preview

  • 7/30/2019 Thi Vi x l 8x51

    1/18

  • 7/30/2019 Thi Vi x l 8x51

    2/18

  • 7/30/2019 Thi Vi x l 8x51

    3/18

  • 7/30/2019 Thi Vi x l 8x51

    4/18

  • 7/30/2019 Thi Vi x l 8x51

    5/18

  • 7/30/2019 Thi Vi x l 8x51

    6/18

  • 7/30/2019 Thi Vi x l 8x51

    7/18

    Bi 1:

    $MOD51

    ORG 00H

    CHUONGTRINH:

    LCALL MAIN1

    LCALL DELAY1000MS

    LCALL MAIN2

    LCALL DELAY1000MS

    ;***************MAIN1:

    MOV DPTR,#CODEDIP

    MP1:

    MOV R0,#100

    MP2:

    LCALL SCANMATRIX

    DJNZ R0,MP2

    MOV A,DPL

    ADD A,#8

    MOV DPL,A

    CJNE A,#LOW(CODEDIP+80),MP1RET

    ;******************

    MAIN2:

    MOV P1,#00H

    MOV P0,#00H

    MOV DPTR,#CODEDISP3

    MP10:

    MOV R0,#20

    MP20:

    LCALL SCANMATRIXSTA_RED

    LCALL SCANMATRIXSTA_GRE

    DJNZ R0,MP20

    INC DPTR

    MOV A,DPL

    CJNE A,#LOW(CODEDISP3+74),MP10

    MOV A,DPH

    CJNE A,#HIGH(CODEDISP3+74),MP10

    SJMP MAIN2

    ;*************************

    SCANMATRIXSTA_GRE:

    PUSH ACC

    PUSH B

    PUSH 00HPUSH 01H

    PUSH 02H

    MOV R0,#00H

    MOV R1,#01H

    MOV R2,#00H

    SCANMAT_GRE:

    MOV A,R0

    MOVC A,@A+DPTR

    MOV B,A

    PUSH DPL

    PUSH DPH

    MOV DPTR,#CODECOLOR_GRE

    MOV A,R2

    MOVC A,@A+DPTRPOP DPH

    POP DPL

    ORL A,B

    MOV P2,A

    MOV P1,R1

    LCALL DELAY

    MOV P1,#00H

    INC R0

    INC R2

    MOV A,R1

    RR AMOV R1,A

    CJNE R0,#08H,SCANMAT_GRE

    POP 02H

    POP 01H

    POP 00H

    POP B

    POP ACC

    RET

    ;******************************

    SCANMATRIXSTA_RED:

    PUSH ACC

    PUSH B

    PUSH 00H

    PUSH 01H

    PUSH 02H

    MOV R0,#00H

    MOV R1,#01H

    MOV R2,#00H

    SCANMAT_RED:

    MOV A,R0

    MOVC A,@A+DPTR

    MOV B,A

    PUSH DPLPUSH DPH

    MOV DPTR,#CODECOLOR_RED

    MOV A,R2

    MOVC A,@A+DPTR

    POP DPH

    POP DPL

    ORL A,B

  • 7/30/2019 Thi Vi x l 8x51

    8/18

    MOV P2,A

    MOV P0,R1

    LCALL DELAY

    MOV P0,#00H

    INC R0

    INC R2

    MOV A,R1

    RR A

    MOV R1,ACJNE R0,#08H,SCANMAT_RED

    POP 02H

    POP 01H

    POP 00H

    POP B

    POP ACC

    RET

    ;*******************

    SCANMATRIX:

    PUSH ACC

    PUSH 00HPUSH 01H

    MOV R0,#00H

    MOV R1,#01H

    SCAN:

    MOV A,R0

    MOVC A,@A+DPTR

    MOV P2,A

    MOV P1,R1

    LCALL DELAY

    MOV P1,#00H

    MOV P0,#00H

    INC R0

    MOV A,R1

    RL A

    MOV R1,A

    CJNE R0,#08H,SCAN

    POP 01H

    POP 00H

    POP ACC

    RET

    ;************

    DELAY:

    PUSH 00HPUSH 01H

    MOV R1,#5

    DEL:

    MOV R0,125

    DJNZ R0,$

    DJNZ R1,DEL

    POP 01H

    POP 00H

    RET

    DELAY1000MS:

    PUSH 00H

    MOV R0,#200

    MOV TMOD,#01H

    LOOP2:

    MOV TH0,#HIGH(-5000)

    MOV TL0,#LOW(-5000)SETB TR0

    JNB TF0,$

    CLR TR0

    CLR TF0

    DJNZ R0,LOOP2

    POP 00H

    RET

    ;****************************

    CODEDIP: ; HINH

    DB 0E3H,0C1H,81H,3H,3H,81H,0C1H,0E3H

    DB 0E3H,0C1H,81H,3H,3H,81H,0C1H,0E3HDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH

    DB 0FFH,01H,7DH,45H,55H,45H,7DH,01H

    DB 0FFH,01H,7DH,45H,55H,45H,7DH,01H

    DB 0FFH,01H,7DH,45H,55H,45H,7DH,01H

    DB 0FFH,01H,7DH,45H,55H,45H,7DH,01H

    DB 0FFH,01H,7DH,45H,55H,45H,7DH,01H

    DB 0FFH,01H,7DH,45H,55H,45H,7DH,01H

    DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH

    ;*****************************

    CODEDISP3: ;TEN

    DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH

    DB 0FDH,0FDH,01H,0FDH,0FDH

    DB 07H,0EBH,6DH,0EBH,07H,0FFH

    DB 0C7H,0BBH,6DH,01H,0EFH,0FFH,0FFH

    DB 0FFH,0FFH

    DB 81H,7FH,7FH,7FH,81H,0FFH

    DB 81H,7FH,7FH,7FH,81H,0FFH

    DB 01H,0EFH,0EFH,0EFH,01H,0FFH

    DB 0FFH,0FFH

    DB 01H,0FBH,0F7H,0FBH,01H,0FFH

    DB 07H,0EBH,6DH,0EBH,07H,0FFH

    DB 01H,0EFH,0EFH,0EFH,01H,0FFH

    DB 0F3H,0EDH,0EDH,0EDH,01H,0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH

    ;******************************

    CODECOLOR_GRE:

    DB 0F0H,0F0H,0F0H,0F0H,0FH,0FH,0FH,0FH

    CODECOLOR_RED:

    DB 0FH,0FH,0FH,0FH,0F0H,0F0H,0F0H,0F0H

    END

  • 7/30/2019 Thi Vi x l 8x51

    9/18

    Bai2:

    $MOD51

    ORG 00H

    CHUONGTRINH:

    LCALL MAIN1

    LCALL DELAY1000MS

    LCALL MAIN2

    LCALL DELAY1000MS

    LCALL MAIN3LCALL DELAY1000MS

    ;****************

    MAIN1:

    MOV DPTR,#CODEDISP1

    MP1:

    MOV R0,#100

    MP2:

    LCALL SCANMATRIX

    DJNZ R0,MP2

    MOV A,DPL

    ADD A,#8MOV DPL,A

    CJNE A,#LOW(CODEDISP1+16),MP1

    RET

    ;**********************

    MAIN2:

    MOV P0,#00H

    MOV DPTR,#CODEDISP2

    MOV R0,#5 ;SO LAN CHOP

    MP12:

    MOV R1,#100

    MP22:

    LCALL SCANMATRIX

    DJNZ R1,MP22

    LCALL TATLED

    DJNZ R0,MP12

    RET

    ;*****************

    MAIN3:

    MOV P1,#00H

    MOV P0,#00H

    MOV DPTR,#CODEDISP3

    MP10:

    MOV R0,#20MP20:

    LCALL SCANMATRIXSTA_RED

    LCALL SCANMATRIXSTA_GRE

    DJNZ R0,MP20

    INC DPTR

    MOV A,DPL

    CJNE A,#LOW(CODEDISP3+74),MP10

    MOV A,DPH

    CJNE A,#HIGH(CODEDISP3+74),MP10

    SJMP MAIN3

    ;***************************

    SCANMATRIXSTA_GRE:

    PUSH ACC

    PUSH B

    PUSH 00H

    PUSH 01HPUSH 02H

    MOV R0,#00H

    MOV R1,#01H

    MOV R2,#00H

    SCANMAT_GRE:

    MOV A,R0

    MOVC A,@A+DPTR

    MOV B,A

    PUSH DPL

    PUSH DPH

    MOV DPTR,#CODECOLOR_GREMOV A,R2

    MOVC A,@A+DPTR

    POP DPH

    POP DPL

    ORL A,B

    MOV P2,A

    MOV P1,R1

    LCALL DELAY

    MOV P1,#00H

    INC R0

    INC R2

    MOV A,R1

    RR A

    MOV R1,A

    CJNE R0,#08H,SCANMAT_GRE

    POP 02H

    POP 01H

    POP 00H

    POP B

    POP ACC

    RET

    ;*****************************

    SCANMATRIXSTA_RED:PUSH ACC

    PUSH B

    PUSH 00H

    PUSH 01H

    PUSH 02H

    MOV R0,#00H

    MOV R1,#01H

  • 7/30/2019 Thi Vi x l 8x51

    10/18

    MOV R2,#00H

    SCANMAT_RED:

    MOV A,R0

    MOVC A,@A+DPTR

    MOV B,A

    PUSH DPL

    PUSH DPH

    MOV DPTR,#CODECOLOR_RED

    MOV A,R2MOVC A,@A+DPTR

    POP DPH

    POP DPL

    ORL A,B

    MOV P2,A

    MOV P0,R1

    LCALL DELAY

    MOV P0,#00H

    INC R0

    INC R2

    MOV A,R1RR A

    MOV R1,A

    CJNE R0,#08H,SCANMAT_RED

    POP 02H

    POP 01H

    POP 00H

    POP B

    POP ACC

    RET

    ;*******************

    SCANMATRIX:

    PUSH ACC

    PUSH 00H

    PUSH 01H

    MOV R0,#00H

    MOV R1,#01H

    SCAN:

    MOV A,R0

    MOVC A,@A+DPTR

    MOV P2,A

    MOV P1,R1

    LCALL DELAY

    MOV P1,#00HMOV P0,#00H

    INC R0

    MOV A,R1

    RL A

    MOV R1,A

    CJNE R0,#08H,SCAN

    POP 01H

    POP 00H

    POP ACC

    RET

    ;************

    DELAY:

    PUSH 00H

    PUSH 01H

    MOV R1,#5

    DEL:MOV R0,125

    DJNZ R0,$

    DJNZ R1,DEL

    POP 01H

    POP 00H

    RET

    ;*****************************

    DELAY1000MS:

    PUSH 00H

    MOV R0,#200

    MOV TMOD,#01HLOOP2:

    MOV TH0,#HIGH(-5000)

    MOV TL0,#LOW(-5000)

    SETB TR0

    JNB TF0,$

    CLR TR0

    CLR TF0

    DJNZ R0,LOOP2

    POP 00H

    RET

    ;****************************

    TATLED:

    PUSH 00H

    MOV R0,#100

    MOV TMOD,#01H

    TAT:

    MOV TH0,#0D8H;SANG 216

    MOV TL0,#0F0H;TAT 240

    SETB TR0

    JNB TF0,$

    CLR TR0

    CLR TF0

    DJNZ R0,TATPOP 00H

    RET

    ;****************************

  • 7/30/2019 Thi Vi x l 8x51

    11/18

    CODEDISP1: ; HINH

    DB 0E3H,0C1H,81H,3H,3H,81H,0C1H,0E3H

    DB 0E3H,0C1H,81H,3H,3H,81H,0C1H,0E3H

    ;*****************************

    CODEDISP2:

    DB 0FFH,01H,7DH,45H,55H,45H,7DH,01H

    ;*****************************

    CODEDISP3: ;TEN

    DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB 0FDH,0FDH,01H,0FDH,0FDH

    DB 07H,0EBH,6DH,0EBH,07H,0FFH

    DB 0C7H,0BBH,6DH,01H,0EFH,0FFH,0FFH

    DB 0FFH,0FFH

    DB 81H,7FH,7FH,7FH,81H,0FFH

    DB 81H,7FH,7FH,7FH,81H,0FFH

    DB 01H,0EFH,0EFH,0EFH,01H,0FFH

    DB 0FFH,0FFH

    DB 01H,0FBH,0F7H,0FBH,01H,0FFH

    DB 07H,0EBH,6DH,0EBH,07H,0FFH

    DB 01H,0EFH,0EFH,0EFH,01H,0FFHDB 0F3H,0EDH,0EDH,0EDH,01H,0FFH,0FFH,0FFH

    DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH

    ;******************************

    CODECOLOR_GRE:

    DB 0F0H,0F0H,0F0H,0F0H,0FH,0FH,0FH,0FH

    CODECOLOR_RED:

    DB 0FH,0FH,0FH,0FH,0F0H,0F0H,0F0H,0F0H

    END

  • 7/30/2019 Thi Vi x l 8x51

    12/18

    Bai3:

    $MOD51

    ORG 00H

    CHUONGTRINH:

    LCALL MAIN1

    LCALL DELAY1000MS

    CHU:

    MOV R3,#3 ; so lan lap

    CHU1:LCALL MAIN2

    LCALL MAIN3

    LCALL MAIN4

    DJNZ R3,CHU1

    LCALL DELAY1000MS

    LCALL MAIN5

    ;****************

    MAIN1: ;TRAITIM

    MOV DPTR,#CODEDISP1

    MP1:

    MOV R0,#100MP2:

    LCALL SCANMATRIX

    DJNZ R0,MP2

    MOV A,DPL

    ADD A,#8

    MOV DPL,A

    CJNE A,#LOW(CODEDISP1+16),MP1

    RET

    ;****************

    MAIN5: ;HINH 2, KET THUC

    MOV DPTR,#CODEDISP

    AP11:

    MOV R0,#100

    AP21:

    LCALL SCANMATRIX

    DJNZ R0,AP21

    CJNE A,#LOW(CODEDISP1+16),AP21

    SJMP $

    ;****************

    MAIN2: ;DAT

    MOV P1,#00H

    MOV P0,#00HMOV DPTR,#CODEDISP2

    MP10:

    MOV R0,#50

    MP20:

    LCALL SCANMATRIXSTA_RED

    DJNZ R0,MP20

    INC DPTR

    MOV A,DPL

    CJNE A,#LOW(CODEDISP2+20),MP10

    MOV A,DPH

    CJNE A,#HIGH(CODEDISP2+20),MP10

    RET

    ;****************

    MAIN3: ; HUU

    MOV P1,#00H

    MOV P0,#00HMOV DPTR,#CODEDISP3

    MP11:

    MOV R0,#50

    MP21:

    LCALL SCANMATRIXSTA_GRE

    DJNZ R0,MP21

    INC DPTR

    MOV A,DPL

    CJNE A,#LOW(CODEDISP3+20),MP11

    MOV A,DPH

    CJNE A,#HIGH(CODEDISP3+20),MP11RET

    ;****************

    MAIN4: ;PHAM

    MOV P1,#00H

    MOV P0,#00H

    MOV DPTR,#CODEDISP4

    MP12:

    MOV R0,#50

    MP22:

    LCALL SCANMATRIXSTA_YEL

    DJNZ R0,MP22

    INC DPTR

    MOV A,DPL

    CJNE A,#LOW(CODEDISP4+30),MP12

    MOV A,DPH

    CJNE A,#HIGH(CODEDISP4+30),MP12

    RET

    ;*************************

    SCANMATRIXSTA_GRE:

    PUSH ACC

    PUSH 00H

    PUSH 01H

    MOV R0,#00HMOV R1,#01H

    SCANMAT_GRE:

    MOV A,R0

    MOVC A,@A+DPTR

    MOV P2,A

    MOV P0,R1

    LCALL DELAY

  • 7/30/2019 Thi Vi x l 8x51

    13/18

    MOV P1,#00H

    INC R0

    MOV A,R1

    RR A

    MOV R1,A

    CJNE R0,#08H,SCANMAT_GRE

    POP 01H

    POP 00H

    POP ACCRET

    ;*************************

    SCANMATRIXSTA_RED:

    PUSH ACC

    PUSH 00H

    PUSH 01H

    MOV R0,#00H

    MOV R1,#01H

    SCANMAT_RED:

    MOV A,R0

    MOVC A,@A+DPTRMOV P2,A

    MOV P1,R1

    LCALL DELAY

    MOV P1,#00H

    MOV P0,#00H

    INC R0

    MOV A,R1

    RR A

    MOV R1,A

    CJNE R0,#08H,SCANMAT_RED

    POP 01H

    POP 00H

    POP ACC

    RET

    ;******************

    SCANMATRIXSTA_YEL:

    PUSH ACC

    PUSH 00H

    PUSH 01H

    MOV R0,#00H

    MOV R1,#01H

    SCANMAT_YEL:

    MOV A,R0MOVC A,@A+DPTR

    MOV P2,A

    MOV P1,R1

    MOV P0,R1

    LCALL DELAY

    MOV P1,#00H

    MOV P0,#00H

    INC R0

    MOV A,R1

    RR A

    MOV R1,A

    CJNE R0,#08H,SCANMAT_YEL

    POP 01H

    POP 00H

    POP ACC

    RET;*******************

    SCANMATRIX:

    PUSH ACC

    PUSH 00H

    PUSH 01H

    MOV R0,#00H

    MOV R1,#01H

    SCAN:

    MOV A,R0

    MOVC A,@A+DPTR

    MOV P2,AMOV P1,R1

    LCALL DELAY

    MOV P1,#00H

    MOV P0,#00H

    INC R0

    MOV A,R1

    RL A

    MOV R1,A

    CJNE R0,#08H,SCAN

    POP 01H

    POP 00H

    POP ACC

    RET

    ;*************************

    DELAY:

    PUSH 00H

    PUSH 01H

    MOV R1,#5

    DEL:

    MOV R0,125

    DJNZ R0,$

    DJNZ R1,DEL

    POP 01HPOP 00H

    RET

    ;**************

  • 7/30/2019 Thi Vi x l 8x51

    14/18

    DELAY1000MS:

    PUSH 00H

    MOV R0,#200

    MOV TMOD,#01H

    LOOP2:

    MOV TH0,#HIGH(-5000)

    MOV TL0,#LOW(-5000)

    SETB TR0

    JNB TF0,$CLR TR0

    CLR TF0

    DJNZ R0,LOOP2

    POP 00H

    RET

    ;****************************

    CODEDISP1: ; HINH

    DB 0E3H,0C1H,81H,3H,3H,81H,0C1H,0E3H

    DB 0E3H,0C1H,81H,3H,3H,81H,0C1H,0E3H

    CODEDISP:

    DB 0FFH,01H,7DH,45H,55H,45H,7DH,01HDB 0FFH,01H,7DH,45H,55H,45H,7DH,01H

    DB 0FFH,01H,7DH,45H,55H,45H,7DH,01H

    ;*****************************

    CODEDISP2: ;Dat-do

    DB 0FFH,0FFH

    DB 0FDH,0FDH,01H,0FDH,0FDH

    DB 07H,0EBH,6DH,0EBH,07H,0FFH

    DB 0FFH,0C7H,0BBH,7DH,6DH,01H,0EFH,0FFH

    DB 0FFH,0FFH,0FFH,0FFH

    CODEDISP3:;Huu-xanh

    DB 0FFH,0FFH

    DB 81H,7FH,7FH,7FH,81H,0FFH

    DB 0FFH,0F9H,85H,7FH,7FH,7FH,81H,0FFH

    DB 01H,0EFH,0EFH,0EFH,01H,0FFH

    DB 0FFH,0FFH

    CODEDISP4: ;Pham-Cam

    DB 0FFH,0FFH,

    DB 01H,0FBH,0F7H,0FBH,01H,0FFH

    DB 07H,0EBH,6DH,0EBH,07H,0FFH

    DB 01H,0EFH,0EFH,0EFH,01H,0FFH

    DB 0F3H,0EDH,0EDH,0EDH,01H,0FFH,0FFH,0FFH

    DB 0FFH,0FFH

    END

  • 7/30/2019 Thi Vi x l 8x51

    15/18

    Bai4:

    $MOD51

    ORG 00H

    CHUONGTRINH:

    LCALL MAIN1

    LCALL DELAY500MS

    CHUHINH:

    LCALL MAIN2

    LCALL DELAY500MSLCALL MAIN7

    LCALL DELAY500MS

    LCALL MAIN4

    LCALL DELAY500MS

    LCALL MAIN7

    LCALL DELAY500MS

    LCALL MAIN6

    LCALL DELAY500MS

    LCALL DELAY500MS

    LJMP CHUHINH

    ;****************MAIN1:

    MOV DPTR,#CODEDISP1

    MP1:

    MOV R0,#100

    MP2:

    LCALL SCANMATRIX

    DJNZ R0,MP2

    MOV A,DPL

    ADD A,#8

    MOV DPL,A

    CJNE A,#LOW(CODEDISP1+16),MP1

    RET

    ;**********************

    MAIN7: ;CHOP TAT

    MOV P0,#00H

    MOV P1,#00H

    MOV DPTR,#CODEDISP7

    MOV R0,#5 ;SOLAN CHOP

    CP:

    MOV R1,#50

    CP1:

    LCALL SCANMATRIXSTA_RED

    DJNZ R1,CP1LCALL TATLED

    DJNZ R0,CP

    RET

    ;********************

    MAIN2:

    MOV P1,#00H

    MOV P0,#00H

    MOV DPTR,#CODEDISP2

    MP11:

    MOV R0,#50

    MP21:

    LCALL SCANMATRIXSTA_GRE

    DJNZ R0,MP21INC DPTR

    MOV A,DPL

    CJNE A,#LOW(CODEDISP2+24),MP11

    MOV A,DPH

    CJNE A,#HIGH(CODEDISP2+24),MP11

    RET

    ;****************

    MAIN4:

    MOV P1,#00H

    MOV P0,#00H

    MOV DPTR,#CODEDISP4MP14:

    MOV R0,#50

    MP24:

    LCALL SCANMATRIXSTA_GRE

    DJNZ R0,MP24

    INC DPTR

    MOV A,DPL

    CJNE A,#LOW(CODEDISP4+24),MP14

    MOV A,DPH

    CJNE A,#HIGH(CODEDISP4+24),MP14

    RET

    ;****************

    MAIN6:

    MOV P1,#00H

    MOV P0,#00H

    MOV DPTR,#CODEDISP6

    MP16:

    MOV R0,#50

    MP26:

    LCALL SCANMATRIXSTA_GRE

    DJNZ R0,MP26

    INC DPTR

    MOV A,DPLCJNE A,#LOW(CODEDISP6+32),MP16

    MOV A,DPH

    CJNE A,#HIGH(CODEDISP6+32),MP16

    RET

    ;*************************

  • 7/30/2019 Thi Vi x l 8x51

    16/18

    SCANMATRIXSTA_GRE:

    PUSH ACC

    PUSH 00H

    PUSH 01H

    MOV R0,#00H

    MOV R1,#01H

    SCANMAT_GRE:

    MOV A,R0

    MOVC A,@A+DPTRMOV P2,A

    MOV P0,R1

    LCALL DELAY

    MOV P1,#00H

    INC R0

    MOV A,R1

    RR A

    MOV R1,A

    CJNE R0,#08H,SCANMAT_GRE

    POP 01H

    POP 00HPOP ACC

    RET

    ;*************

    SCANMATRIXSTA_RED:

    PUSH ACC

    PUSH 00H

    PUSH 01H

    MOV R0,#00H

    MOV R1,#01H

    SCANMAT_RED:

    MOV A,R0

    MOVC A,@A+DPTR

    MOV P2,A

    MOV P1,R1

    LCALL DELAY

    MOV P1,#00H

    MOV P0,#00H

    INC R0

    MOV A,R1

    RR A

    MOV R1,A

    CJNE R0,#08H,SCANMAT_RED

    POP 01HPOP 00H

    POP ACC

    RET

    ;******************

    SCANMATRIX:

    PUSH ACC

    PUSH 00H

    PUSH 01H

    MOV R0,#00H

    MOV R1,#01H

    SCAN:

    MOV A,R0

    MOVC A,@A+DPTRMOV P2,A

    MOV P1,R1

    LCALL DELAY

    MOV P1,#00H

    MOV P0,#00H

    INC R0

    MOV A,R1

    RL A

    MOV R1,A

    CJNE R0,#08H,SCAN

    POP 01HPOP 00H

    POP ACC

    RET

    ;**********************

    TATLED:

    PUSH 00H

    MOV R0,#100

    MOV TMOD,#01H

    TAT:

    MOV TH0,#0D8H;SANG 216

    MOV TL0,#0F0H;TAT 240

    SETB TR0

    JNB TF0,$

    CLR TR0

    CLR TF0

    DJNZ R0,TAT

    POP 00H

    RET

    ;**********************

    DELAY:

    PUSH 00H

    PUSH 01H

    MOV R1,#5DEL:

    MOV R0,125

    DJNZ R0,$

    DJNZ R1,DEL

    POP 01H

    POP 00H

    RET

  • 7/30/2019 Thi Vi x l 8x51

    17/18

    DELAY500MS:

    PUSH 00H

    MOV R0,#100

    MOV TMOD,#01H

    LOOP2:

    MOV TH0,#HIGH(-5000)

    MOV TL0,#LOW(-5000)

    SETB TR0

    JNB TF0,$CLR TR0

    CLR TF0

    DJNZ R0,LOOP2

    POP 00H

    RET

    ;***************************

    CODEDISP1: ;HIEN HINH TRONG 2GIAY

    DB 0FFH,01H,7DH,45H,55H,45H,7DH,01H

    DB 0FFH,01H,7DH,45H,55H,45H,7DH,01H

    CODEDISP2: ;CHU DAT

    DB 0FFH,0FFH,0FFH,0FFH,0FFHDB 0FDH,0FDH,01H,0FDH,0FDH,0FFH

    DB 07H,0EBH,6DH,0EBH,07H

    DB 0FFH,0C7H,0BBH,7DH,6DH,01H,0EFH

    DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH

    CODEDISP4: ;CHU HUU

    DB 0FFH,0FFH,0FFH,0FFH,0FFH

    DB 81H,7FH,7FH,7FH,81H

    DB 0FFH,0F9H,85H,7FH,7FH,7FH,81H,0FFH

    DB 01H,0EFH,0EFH,0EFH,01H,0FFH

    DB 0FFH,0FFH,0FFH,0FFH,0FFH

    CODEDISP6: ;CHU PHAM

    DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH

    DB 01H,0FBH,0F7H,0FBH,01H,0FFH

    DB 07H,0EBH,6DH,0EBH,07H,0FFH

    DB 01H,0EFH,0EFH,0EFH,01H,0FFH

    DB 0F3H,0EDH,0EDH,0EDH,01H,0FFH

    DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH

    CODEDISP7: ; HINH TRAI TIM

    DB 0E7H

    DB 0E7H,0C3H,83H,7H,7H,83H,0C3H,0E7H

    DB 0FFH,0FFH,0FFH

    END

  • 7/30/2019 Thi Vi x l 8x51

    18/18