Top Banner

of 18

Thi Vi xử lý 8x51

Apr 04, 2018

Download

Documents

Mì Xào
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 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