1. Trang chủ
  2. » Giáo Dục - Đào Tạo

MÃ NGUỒN CHƯƠNG TRÌNH TRÊN LIT AT89C51 PC

113 207 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 113
Dung lượng 388,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

;Da nap xong vao o nho;Tiep theo kiem tra dc, data xem co chinh gio hay thay doi addr khong MOV CHECKDATAIN, #0MOV DPTR, #TADDRMOVX A, @DPTRCJNE A, RCADDR, THOATISR ; Kiem tra Addr CHU i

Trang 1

;Chuong trinh tren kit nhan vien

; R3, R5, R6, R7 Dung cho quet phim

; R4 Dung cho dong ho

%*DEFINE ( POP_DPTR)

( POP DPL POP DPH)COLLED EQU 4000H

Trang 3

MOV TMOD, #21HMOV TH1, #0FDHSETB TR1

;Khoi Led

MOV LEDT0, #11H MOV LEDT1, #10HMOV LEDT2, #10HMOV LEDT3, #10HMOV LEDT4, #10HMOV LEDT5, #10HMOV LEDT6, #10HMOV LEDT7, #10H

;AddrRCMOV RCADDR, #69H ;Chu iMOV DPTR, #0107H ;KADDRMOV A, #69H

MOVX @DPTR, A

;PortMOV CHECKDATAIN, #0MOV DPTR, #0100H

;Khoi dong hoMOV R4, #0MOV LTIMEC, #201MOV LTIME4, #0MOV LTIME5, #0MOV LTIME6, #0MOV LTIME7, #0

; ini vi tri ledMOV POSLED, #0MOV KEYNUM, #0SETB TF0

MOV IE, #10010010BSETB PT0 ;Priority for timer0 interrupt

MAIN1:

; xac dinh da bam phim may lan

Trang 4

CALL IN_HEXMOV B, AMOV R1, AINC KEYNUMMOV A, KEYNUM

CJNE R1, #0BH, CKXOA1MOV KEYNUM, #0JMP MAIN1CKXOA1:

CJNE R1, #0CH, CKCLEAR1MOV KEYNUM, #0

JMP MAIN1CKCLEAR1:

CJNE R1, #0DH, CKIN1JMP QSWA

CKIN1:

CJNE R1,#0EH, CKENTER1MOV KEYNUM, #0

JMP MAIN1CKENTER1:

CJNE R1, #0FH, NONECK1MOV KEYNUM, #0

JMP MAIN1NONECK1:

MOV LEDT0, BMOV DPTR, #KID1 ; Luu vao RAMMOV A, B

MOVX @DPTR, AJMP MAIN1

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~

Trang 5

; Save vao LEDT1

SAVELEDT1:

CJNE A, #2, SAVELEDT2CJNE R1, #0AH, CKFOR2MOV R1, KEYNUMCJNE R1, #1, INCKEY2AMOV KEYNUM, #0INCKEY2A:

MOV KEYNUM, #1JMP MAIN1CKFOR2:

CJNE R1, #0BH, CKXOA2MOV R1, KEYNUMCJNE R1, #1, INCKEY2BMOV KEYNUM, #0INCKEY2B:

MOV KEYNUM, #1JMP MAIN1CKXOA2:

CJNE R1, #0CH, CKCLEAR2MOV KEYNUM, #0

MOV LEDT0, #11HJMP MAIN1CKCLEAR2:

CJNE R1, #0DH, CKIN2JMP QSWA

CKIN2:

CJNE R1,#0EH, CKENTER2MOV R1, KEYNUM

CJNE R1, #1, INCKEY2EMOV KEYNUM, #0INCKEY2E:

MOV KEYNUM, #1JMP MAIN1CKENTER2:

CJNE R1, #0FH, NONECK2MOV R1, KEYNUM

CJNE R1, #1, INCKEY2FMOV KEYNUM, #0INCKEY2F:

MOV KEYNUM, #1JMP MAIN1NONECK2:

Trang 6

MOV LEDT1, LEDT0MOV LEDT0, B

MOV DPTR, #KID2 ; Luu vao RAMMOV A, B

MOVX @DPTR, AJMP MAIN1

MOV KEYNUM, #2JMP MAIN1

CKFOR3:

CJNE R1, #0BH, CKXOA3MOV R1, KEYNUMCJNE R1, #2, INCKEY3BMOV KEYNUM, #1INCKEY3B:

MOV KEYNUM, #2JMP MAIN1CKXOA3:

CJNE R1, #0CH, CKCLEAR3MOV KEYNUM, #1

JMP QXOACKCLEAR3:

CJNE R1, #0DH, CKIN3JMP QSWA

CKIN3:

CJNE R1,#0EH, CKENTER3MOV R1, KEYNUM

CJNE R1, #2, INCKEY3EMOV KEYNUM, #1INCKEY3E:

MOV KEYNUM, #2

Trang 7

JMP MAIN1CKENTER3:

CJNE R1, #0FH, NONECK3MOV R1, KEYNUM

CJNE R1, #2, INCKEY3FMOV KEYNUM, #1INCKEY3F:

MOV KEYNUM, #2JMP MAIN1NONECK3:

MOV LEDT2, LEDT1MOV LEDT1, LEDT0MOV LEDT0, BMOV DPTR, #KID3 ; Luu vao RAMMOV A, B

MOVX @DPTR, AJMP MAIN1

MOV KEYNUM, #3JMP MAIN1CKFOR4:

CJNE R1, #0BH, CKXOA4MOV R1, KEYNUMCJNE R1, #3, INCKEY4BMOV KEYNUM, #2INCKEY4B:

MOV KEYNUM, #3JMP MAIN1CKXOA4:

CJNE R1, #0CH, CKCLEAR4

Trang 8

MOV KEYNUM, #2JMP QXOA

CKCLEAR4:

CJNE R1, #0DH, CKIN4JMP QSWA

CKIN4:

CJNE R1,#0EH, CKENTER4MOV R1, KEYNUM

CJNE R1, #3, INCKEY4EMOV KEYNUM, #2INCKEY4E:

MOV KEYNUM, #3JMP MAIN1CKENTER4:

CJNE R1, #0FH, NONECK4MOV R1, KEYNUM

CJNE R1, #3, INCKEY4FMOV KEYNUM, #2INCKEY4F:

MOV KEYNUM, #3JMP MAIN1NONECK4:

MOV LEDT3, LEDT2MOV LEDT2, LEDT1MOV LEDT1, LEDT0MOV LEDT0, B

MOV DPTR, #KID4 ; Luu vao RAMMOV A, B

MOVX @DPTR, AJMP MAIN1

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~

SAVELEDT4:

CJNE A, #5, SAVELEDT5CJNE R1, #0AH, CKFOR5MOV R1, KEYNUMCJNE R1, #4, INCKEY5AMOV KEYNUM, #3

Trang 9

MOV KEYNUM, #4JMP MAIN1CKFOR5:

CJNE R1, #0BH, CKXOA5MOV R1, KEYNUMCJNE R1, #4, INCKEY5BMOV KEYNUM, #3INCKEY5B:

MOV KEYNUM, #4JMP MAIN1CKXOA5:

CJNE R1, #0CH, CKCLEAR5MOV KEYNUM, #3

JMP QXOACKCLEAR5:

CJNE R1, #0DH, CKIN5JMP QSWA

CKIN5:

CJNE R1,#0EH, CKENTER5MOV R1, KEYNUM

CJNE R1, #4, INCKEY5EMOV KEYNUM, #3INCKEY5E:

MOV KEYNUM, #4JMP MAIN1CKENTER5:

CJNE R1, #0FH, NONECK5MOV R1, KEYNUM

CJNE R1, #4, INCKEY5FMOV KEYNUM, #3INCKEY5F:

MOV KEYNUM, #4JMP MAIN1NONECK5:

MOV LEDT4, LEDT3MOV LEDT3, LEDT2MOV LEDT2, LEDT1MOV LEDT1, LEDT0MOV LEDT0, BMOV DPTR, #KID5 ; Luu vao RAMMOV A, B

MOVX @DPTR, A

Trang 10

MOV KEYNUM, #5JMP QBACKCKFOR6:

CJNE R1, #0BH, CKXOA6MOV R1, KEYNUMCJNE R1, #5, INCKEY6BMOV KEYNUM, #4INCKEY6B:

MOV KEYNUM, #5JMP SHIFTTOCKXOA6:

CJNE R1, #0CH, CKCLEAR6MOV KEYNUM, #4

JMP QXOACKCLEAR6:

CJNE R1, #0DH, CKIN6JMP QSWA

CKIN6:

CJNE R1,#0EH, CKENTER6MOV R1, KEYNUM

CJNE R1, #5, INCKEY6EMOV KEYNUM, #4INCKEY6E:

MOV KEYNUM, #5JMP MAIN1CKENTER6:

CJNE R1, #0FH, NONECK6MOV R1, KEYNUM

CJNE R1, #5, INCKEY6FMOV KEYNUM, #4INCKEY6F:

Trang 11

MOV KEYNUM, #5JMP MAIN1NONECK6:

MOV LEDT5, LEDT4MOV LEDT4, LEDT3MOV LEDT3, LEDT2MOV LEDT2, LEDT1MOV LEDT1, LEDT0MOV LEDT0, B

MOV DPTR, #KID6 ; Luu vao RAMMOV A, B

MOVX @DPTR, AJMP MAIN1

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~

SAVELEDT6:

CJNE A, #7, SAVELEDT7CJNE R1, #0AH, CKFOR7MOV R1, KEYNUMCJNE R1, #6, INCKEY7AMOV KEYNUM, #5INCKEY7A:

MOV KEYNUM, #6JMP QBACKCKFOR7:

CJNE R1, #0BH, CKXOA7MOV R1, KEYNUMCJNE R1, #6, INCKEY7BMOV KEYNUM, #5INCKEY7B:

MOV KEYNUM, #6JMP SHIFTTOCKXOA7:

CJNE R1, #0CH, CKCLEAR7MOV KEYNUM, #5

JMP QXOACKCLEAR7:

CJNE R1, #0DH, CKIN7JMP QSWA

CKIN7:

CJNE R1,#0EH, CKENTER7

Trang 12

MOV R1, KEYNUMCJNE R1, #6, INCKEY7EMOV KEYNUM, #5INCKEY7E:

MOV KEYNUM, #6JMP MAIN1CKENTER7:

CJNE R1, #0FH, NONECK7MOV R1, KEYNUM

CJNE R1, #6, INCKEY7FMOV KEYNUM, #5INCKEY7F:

MOV KEYNUM, #6JMP MAIN1NONECK7:

MOV LEDT6, LEDT5MOV LEDT5, LEDT4MOV LEDT4, LEDT3MOV LEDT3, LEDT2MOV LEDT2, LEDT1MOV LEDT1, LEDT0MOV LEDT0, BMOV DPTR, #KID7 ; Luu vao RAMMOV A, B

MOVX @DPTR, AJMP MAIN1

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~

SAVELEDT7:

CJNE A, #8, KEY9CJNE R1, #0AH, CKFOR8MOV R1, KEYNUMCJNE R1, #7, INCKEY8AMOV KEYNUM, #6INCKEY8A:

MOV KEYNUM, #7JMP QBACKCKFOR8:

CJNE R1, #0BH, CKXOA8MOV R1, KEYNUMCJNE R1, #7, INCKEY8B

Trang 13

MOV KEYNUM, #6INCKEY8B:

MOV KEYNUM, #7JMP SHIFTTOCKXOA8:

CJNE R1, #0CH, CKCLEAR8MOV KEYNUM, #6

JMP QXOACKCLEAR8:

CJNE R1, #0DH, CKIN8JMP QSWA

CKIN8:

CJNE R1,#0EH, CKENTER8MOV R1, KEYNUM

CJNE R1, #7, INCKEY8EMOV KEYNUM, #6INCKEY8E:

MOV KEYNUM, #7JMP MAIN1CKENTER8:

CJNE R1, #0FH, NONECK8MOV R1, KEYNUM

CJNE R1, #7, INCKEY8FMOV KEYNUM, #6INCKEY8F:

MOV KEYNUM, #7JMP MAIN1NONECK8:

MOV LEDT7, LEDT6MOV LEDT6, LEDT5MOV LEDT5, LEDT4MOV LEDT4, LEDT3MOV LEDT3, LEDT2MOV LEDT2, LEDT1MOV LEDT1, LEDT0MOV LEDT0, B

MOV DPTR, #KID8 ; Luu vao RAMMOV A, B

MOVX @DPTR, AJMP MAIN1

KEY9:

Trang 14

CJNE R1, #0CH, CKCLEAR9MOV KEYNUM, #7

JMP QXOA

;Phim thu 9 la phim enter, luu vao o nho LEDTC

CKCLEAR9:

MOV A, BCJNE A, #0FH, WHATK ;Neu la phim Enter thi ngat SP

;MOV DPTR, #KIDE; Luu vao RAM

;MOV A, B

;MOVX @DPTR, AMOV KEYENTER, B

;CALL SENDDATA ; Goi ID ve PCMOV KEYNUM, #0

JMP main1WHATK:

CKXOA:

CJNE R1, #0CH, CKCLEARJMP QXOA

CKCLEAR:

CJNE R1, #0DH, CKINJMP QSWA

MOV KEYNUM, #0MOV LEDT0, #11HMOV LEDT1, #10HMOV LEDT2, #10HMOV LEDT3, #10HMOV LEDT4, #10HMOV LEDT5, #10HMOV LEDT6, #10H

Trang 15

MOV LEDT7, #10HMOV LEDTC, #10HJMP MAIN1

QXOA:

MOV LEDTC, #10HMOV LEDT0, #11HMOV LEDT0, LEDT1MOV LEDT1, LEDT2MOV LEDT2, LEDT3MOV LEDT3, LEDT4MOV LEDT4, LEDT5MOV LEDT5, LEDT6MOV LEDT6, LEDT7MOV LEDT7, #10HJMP MAIN1

QBACK:

MOV LEDTC, LEDT7MOV LEDT7, LEDT6MOV LEDT6, LEDT5MOV LEDT5, LEDT4MOV LEDT4, LEDT3MOV LEDT3, LEDT2MOV LEDT2, LEDT1MOV LEDT1, LEDT0MOV LEDT0, LEDTCJMP MAIN1

SHIFTTO:

MOV LEDTC, LEDT0MOV LEDT0, LEDT1MOV LEDT1, LEDT2MOV LEDT2, LEDT3MOV LEDT3, LEDT4MOV LEDT4, LEDT5MOV LEDT5, LEDT6MOV LEDT6, LEDT7MOV LEDT7, LEDTCJMP MAIN1

RET

Trang 16

; Ngat Port noi tiep

;~~~~~~~~~~~~~~~~~~~~~~~~~~

; PC luon goi tin hieu bao nhan ID, tin hieu la !(21h)

; VXL khi nhan duoc phim enter thi goi ID ve

; PC so sanh, neu dung goi tin hieu bao dung

ISRSP:

JNB RI, $CLR RIMOV A, SBUF

INC CHECKDATAINMOV R2, CHECKDATAIN

CJNE A, #21H, CTT12 ; ! PC muon nhan IDMOV CHECKDATAIN, #0

MOV R2, KEYENTERCJNE R2, #0FH, CTT12 ; Enter thi goi ID ve PCCALL SENDDATA

MOV KEYENTER, #0MOV CHECKDATAIN, #0

CTT12:

CJNE A, #23H, CTT0 ; # tin hieu bao dung IDMOV LEDT0, #11H

MOV LEDT1, #10HMOV LEDT2, #10HMOV LEDT3, #10HMOV LEDT4, #10HMOV LEDT5, #10HMOV LEDT6, #10HMOV LEDT7, #10HMOV LEDTC, #10H

MOV KEYNUM, #0MOV KEYENTER, #0MOV CHECKDATAIN, #0RETI

Trang 17

;Da nap xong vao o nho

;Tiep theo kiem tra dc, data xem co chinh gio hay thay doi addr khong

MOV CHECKDATAIN, #0MOV DPTR, #TADDRMOVX A, @DPTRCJNE A, RCADDR, THOATISR ; Kiem tra Addr CHU i

Trang 18

CALL CHINHDHCALL THAYADDR

;CALL SENDADDR

THOATISR:

MOV DPTR, #TADDRMOVX A, @DPTRMOV RCADDR, ATHOATCT:

MOV CHECKDATAIN, #0NHAPTIEP:

Trang 19

;Quet Led1

SCANL5:

CJNE A, #5, SCANL6CALL DISL5

;Quet Led2

SCANL6:

CJNE A, #6, SCANL7CALL DISL6

;Quet Led3

SCANL7:

CJNE A, #7, QSCANCALL DISL7

QSCAN:

INC POSLEDMOV A, POSLEDCJNE A, #8, QISCANMOV POSLED, #0 ;86 MICRO SECQISCAN:

;POP ACCRETI

Trang 20

CALL OUTCHARMOV A, LEDT6 ; ID 2CALL HTOA

CALL OUTCHARMOV A, LEDT5 ; ID 3CALL HTOA

CALL OUTCHARMOV A, LEDT4 ; ID 4CALL HTOA

CALL OUTCHARMOV A, LEDT3 ; ID 5CALL HTOA

CALL OUTCHARMOV A, LEDT2 ; ID 6CALL HTOA

CALL OUTCHARMOV A, LEDT1 ; ID 7CALL HTOA

CALL OUTCHARMOV A, LEDT0 ; ID 8CALL HTOA

CALL OUTCHARRET

Trang 21

CLR TIRET

CLR TIRET

MOV RCADDR, ACONCHANGE:

; Chinh dong ho

MOV DPTR, #TDATA1MOVX A, @DPTRcallatoh

MOV LTIME4, AINC DPTRMOVX A, @DPTRcallatoh

MOV LTIME5, AINC DPTRMOVX A, @DPTRcallatoh

MOV LTIME6, AINC DPTR

Trang 22

MOVX A, @DPTRcallatoh

INC LTIME7MOV R2, LTIME7CJNE R2, #0AH, THOAT ; Phut1MOV LTIME7, #0

INC LTIME6MOV R2, LTIME6CJNE R2, #06H, THOAT ; Phut2MOV LTIME6, #0

;Kiem tra gio1 neu bang 4 ma gio2 bang 2 thi thoat, khoi tao lai

;neu gio1 bang 4 ma gio2 khac 2 thi tang tiep den 9

INC LTIME5MOV R2, LTIME5CJNE R2, #4,CONHOUR2MOV R2, LTIME4

CJNE R2, #2, CONHOUR2

; Khoi tao lai

MOV LTIME4, #0MOV LTIME5, #0MOV LTIME6, #0MOV LTIME7, #0JMP CONTCONHOUR2:

CJNE R2, #0AH, THOATMOV LTIME5, #0

INC LTIME4JMP THOAT

Trang 23

MOV LTIMEC, #201

MOV R2, LTIME6CJNE R2, #06H, $+3

MOV LTIME6, #0MOV R2, LTIME4CJNE R2, #03H, $+3

MOV LTIME4, #0CONT:

Trang 25

; Doan chuong trinh nay xac dinh ma phim

; Ma phim luu trong thanh ghi A

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

IN_HEX:

MOV R3, #50HBACK:

CALL GET_KEY ; Phim an chua?

JNC IN_HEX ; Chua an kiem tra laiDJNZ R3, BACK ; Neu an, kiem tra lai ( Chong rung phim)PUSH ACC ; Luu ma phim

RET

;~~~~~~~~~~

Trang 26

; Dat trang thai phim

; C = 0, khong phim nao an

; C = 1, co phim an va luu ma phim trong thanh ghi A

DJNZ R6, TESTCLR C

JMP KEXITKEY_HIT:

MOV R7, AMOV A, #4CLR CSUBB A, R6MOV R6, AMOV A, R7SWAP AMOV R5, #4AGAIN:

RRC AJNC DONE ; Done khi C = 0INC R6

INC R6INC R6INC R6DJNZ R5, AGAINDONE:

SETB C ; Phim duoc anMOV A, R6 ; Code luu trong AKEXIT:

RET

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

; Doi ASCII sang HEX

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

Trang 27

CLR ACC.7CJNE A, #'9'+1, $+3

JC ATOH2ADD A, #9ATOH2: ANL A, #0FH

RET

HTOA:

ANL A, #0FHCJNE A, #0AH, $+3

JC HTOA2ADD A, #7HTOA2: ADD A, #'0'

DJNZ R3,$

DJNZ R2,LAPRET

TAB:

DB 40H, 79H, 24H, 30H, 19H, 12H, 02H, 78H, 00H, 10H

DB 08H, 03H, 46H, 21H, 06H, 0EH, 0FFH, 77HEND

Trang 28

;Chuong trinh tren kit quang bao

%*DEFINE ( POP_DPTR)

( POP DPL POP DPH)R7M5H EQU 30HR7M5L EQU 31H

JMP MAIN

Trang 29

ORG 000BHJMP ISRT0ORG 0023HJMP ISRSPORG 0030H

SETB TR1MOV R7, #0 ; R7 kiem tra so ki tu nhap vaoMOV DPTR, #0500H

%PUSH_DPTRJMP $

%POP_DPTRMOVX @DPTR, ACJNE A, #24H, TANG_DPTRCALL R7M5

MOV R1,#05HMOV R2,#00HMOV R3,#08HMOV R4,#00HCALL WERTIJMP ISRSPTANG_DPTR:

INC DPTR

Trang 30

%PUSH_DPTR ; Cat DPTR de chu sau chua vao o nho ke tiep

MOV A, #00HADD A, R7M5LMOV R7M5L, AMOV A, #08HADDC A, R7M5HMOV R7M5H, ARET

Trang 31

MOV DPTR,#0500HWORD_CON:

push accCJNE A,#24H,CON_SP

;RETjmp LOOPDISCON_SP:

pop accpush accCJNE A,#20H,TSO_0MOV R0,#0

LAP_SP:

MOV A,R0MOV DPTR,#K_TRANG

CALL LIKECJNE R0,#5,LAP_SPCALL INC_DPTR

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

;**********************************************************TSO_0:

pop accpush accCJNE A,#30H,TSO_1MOV R0,#0

LAP_0:

MOV A,R0MOV DPTR,#SO_0

CALL LIKE

Trang 32

CJNE R0,#5,LAP_0CALL INC_DPTR

LAP_1:

MOV A,R0MOV DPTR,#SO_1

CJNE R0,#5,LAP_1CALL INC_DPTR

Trang 55

; Xuat led

MOV DPTR, #0800H ; Tai addr 1CE0MOV 3EH, R0

CALL INCDPTRMOV DPTR, #0A000H ; Addr 1 tu trai sangMOVX @DPTR, A

MOV R7, 3AHMOV 3EH, R7MOV DPTR, #0800H ; Tai addr 1CE0CALL INCDPTR

MOV DPTR, #8000H ; Addr 1 tu trai sangMOVX @DPTR, A

INC R7MOV 3AH, R7

MOV R7, 3BHMOV 3EH, R7MOV DPTR, #0800H ; Tai addr 1CE0CALL INCDPTR

Trang 56

MOV DPTR, #6000H ; Addr 1 tu trai sangMOVX @DPTR, A

INC R7MOV 3BH, R7MOV R7, 3CHMOV 3EH, R7MOV DPTR, #0800H ; Tai addr 1CE0CALL INCDPTR

MOV DPTR, #4000H ; Addr 1 tu trai sangMOVX @DPTR, A

INC R7MOV 3CH, R7MOV R7, 3DHMOV 3EH, R7MOV DPTR, #0800H ; Tai addr 1CE0CALL INCDPTR

MOV DPTR, #2000H ; Addr 1 tu trai sangMOVX @DPTR, A

INC R7MOV 3DH, R7

; COT

MOV A, R0MOV DPTR, #COTMOVC A, @A+DPTRMOV DPTR, #0C000HMOVX @DPTR, A

;CALL DELAY_3ms

;DELAY_3ms:

MOV R1, #8NHAN:

MOV R7, #250DJNZ R7, $DJNZ R1, NHAN

;RET ; Xong ScanCotINC R0

CJNE R0, #5, LOOP1CALL LEDRTIRET

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

Trang 57

; LEDRTI:

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

LEDRTI:

MOV 30H, #01HMOV 31H, #00HMOV B, 41Hmov R2, 40Hmov R3, 41HCALL CON_HIFRET

CON_HIF:

MOV DPL, 41HMOV DPH, 40HMOVX A, @DPTRCALL DEC_DPTR

MOVX @DPTR, AMOV R3, 31H

CJNE R6, #0FFH,HI_FF INC 40H

HI_FF:

INC BMOV 41H, B

;SS

MOV A, R3MOV 53H, BMOV R6, BCJNE R6, #0FFH, SSFFMOV 41H, #0FFHMOV 40H, #08HSSFF: CJNE A, 43H, EXITSS

MOV A, R2MOV 42H, 40H ;CO TROUBCJNE A, 42H, EXITSS

MOV DPL, #0FFHMOV DPH, #08HMOVX A, @DPTRMOV DPL, R4

MOV DPH, R5MOVX @DPTR, AJMP SHIFTONE

EXITSS:

Trang 58

JMP CON_HIFSHIFTONE:

MOV DPL, R2MOV DPH, R3MOVX A, @DPTRCALL DEC_DPTRMOVX @DPTR, ARET

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

DEC_DPTR:

MOV R5, DPLMOV R4, DPHDEC R5MOV DPL, R5CJNE R5, #0FFH, EXIT_DECMOV R5, #0FFH

DEC R4MOV DPL, R5MOV DPH, R4EXIT_DEC:

RET

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

INCDPTR:

MOV A, #0CONIC:

CJNE A, 3EH, NCDPRABMOVX A, @DPTRRET

NCDPRAB:

INC DPTRINC AJMP CONIC

Trang 61

MO_NGOAC: DB 3EH, 4EH, 00H, 00H, 00H

DONG_NGOAC: DB 00H, 00H, 00H, 4EH, 3EH

SAO: DB 2AH, 14H, 3EH, 14H, 2AH

; Doan chuong trinh tren kit thu thap nhiet do

; Doan chuong trinh an phim va truyen data len PC giong

; kit Nhan Vien

Trang 62

MOVX @DPTR, A

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

; SAVEDATA: Lay gia tri tu 8255 luu vao o nho tam, xu ly

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~MOV DPTR, #0A000H

MOV A, #12H

MOV TEMP_UNIT, A

;MOV TEMP_UNIT, #12HMOV DPTR, #0A001HMOV A, #02H

MOVX @DPTR, A ; Tro Port BMOV TEMP_TEN, A

;MOV TEMP_TEN, #99HMOV DPTR, #0A002HMOV A, #78H

MOVX @DPTR, A ; ; Tro Port CMOV TEMP_HUNDR, A

;MOV TEMP_HUNDR, #30H

CALL SETTLEDATAMOV A, TEMP_POLCJNE A, #01H, ADDTOREALCALL CONV_NEG ; Co cuc tinhINC R2

MOV TENUNIT, R2MOV THOUHUND, R3JMP OUTLED

ADDTOREAL:

CALL CONV_POSMOV TENUNIT, R2MOV THOUHUND, R3OUTLED:

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

; OUTLED:

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

MOV A, TENUNITANL A, #0FHMOV DPTR, #TAB7SEG

Trang 63

MOVC A, @A+DPTRMOV DPTR, #4000HMOVX @DPTR, AMOV DPTR, #6000HMOV A, #01H

MOVX @DPTR, ACALL DELAY

MOV A, TENUNITSWAP A

ANL A, #0FHMOV DPTR, #TAB7SEGMOVC A, @A+DPTRMOV DPTR, #4000HMOVX @DPTR, AMOV DPTR, #6000HMOV A, #02H

MOVX @DPTR, ACALL DELAY

MOV A, THOUHUNDANL A, #0FH

MOV DPTR, #TAB7SEGMOVC A, @A+DPTRMOV DPTR, #4000HMOVX @DPTR, AMOV DPTR, #6000HMOV A, #04H

MOVX @DPTR, ACALL DELAY

MOV A, THOUHUNDSWAP A

ANL A, #0FHMOV DPTR, #TAB7SEGMOVC A, @A+DPTRMOV DPTR, #4000HMOVX @DPTR, AMOV DPTR, #6000HMOV A, #08H

MOVX @DPTR, ACALL DELAY

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

; SETTLEDATA: Doan chuong trinh xu ly so

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

Trang 64

MOV A, R0MOV DPTR, #TAB7SEGMOVC A, @A+DPTRCJNE A, B, CHECK_UNIT ; So sanh voi so trong bang, neu bang, gia tri do

MOV A, R0 ; chinh la gia tri R0MOV R2, A ; Mov donvi vao R2JMP SETTLE_TEN

CHECK_UNIT:

INC R0JMP LOOP_UNIT

LOOP_TEN:

MOV A, R0MOV DPTR, #TAB7SEGMOVC A, @A+DPTRCJNE A, B, CHECK_TEN ; So sanh voi so trong bang, neu bang, gia tri do

;MOV UNIT, R0 ; chinh la gia tri R0MOV A, R0

;ANL A, #0FHSWAP A ; A chua hang chuc, nam o byte caoCLR C ; Cac so tu 0 - 9

Ngày đăng: 20/11/2015, 00:16

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w