Tải bản đầy đủ (.doc) (114 trang)

Mạng thu thập dữ liệu và quang báo (Chương trình mã nguồn)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (415.38 KB, 114 trang )

Mạng thu thập dữ liệu và quang báo

GVHD: thầy Nguyễn Ngọc Khai

Phụ Lục
Trang

 Chương trình trên Kit AT89C51

Chương trình trên kit Nhân Viên .......................................................... 1
Chương trình trên kit Quang Báo........................................................... 29
...............................................................................................................
Chương trình trên kit thu thập và điều khiển nhiệt độ........................... 61

 Chương trình trên PC ............................................................. 69

;Chuong trinh tren kit nhan vien
; R3, R5, R6, R7 Dung cho quet phim
; R4 Dung cho dong ho
; R2 Dung tam
; R1 Kiem tra phim C, D, E, F
ORG
0000H
%*DEFINE ( PUSH_DPTR)
( PUSH
DPH
PUSH
DPL)

SVTH: Nhan Minh Tiến


1


Mạng thu thập dữ liệu và quang báo

GVHD: thầy Nguyễn Ngọc Khai

%*DEFINE ( POP_DPTR)
( POP DPL
POP DPH)
COLLED
DATALED

EQU 4000H
EQU 2000H

; Address
CHECKDATAIN EQU
RCADDR
EQU
TADDR
EQU
TTURNTIME
EQU
TCHANGEADDR
TDATA1
EQU
TDATA2
EQU
TDATA3

EQU
TDATA4
EQU

40H
41H
0100H
0101H
EQU 0102H
0103H
0104H
0105H
0106H

; Enter
KEYENTER

EQU 42H

; Dong Ho
LTIME4
LTIME5
LTIME6
LTIME7
LTIMEC

EQU
EQU
EQU
EQU

EQU

30H
31H
32H
33H
3DH

; ID 8 SO trong ROM
LEDT0
EQU
LEDT1
EQU
LEDT2
EQU
LEDT3
EQU
LEDT4
EQU
LEDT5
EQU
LEDT6
EQU
LEDT7
EQU
LEDTC
EQU

34H
35H

36H
37H
38H
39H
3AH
3BH
3CH

; ID trong RAM
KADDR
KID1
KID2
KID3

SVTH: Nhan Minh Tiến

EQU
EQU
EQU
EQU

0107H
0108H
0109H
010AH

2


Mạng thu thập dữ liệu và quang báo

KID4
KID5
KID6
KID7
KID8
KIDE
COUNT

EQU
EQU
EQU
EQU
EQU
EQU
EQU

POSLED
KEYNUM

EQU 3EH
EQU 3FH

JMP
ORG
JMP
ORG
JMP
ORG

GVHD: thầy Nguyễn Ngọc Khai


010BH
010CH
010DH
010EH
010FH
0110H
3000

MAIN
000BH
ISRT0
0023H
ISRSP
0030H

;~~~~~~~~~~~~
; INIT BAUDRATE
;~~~~~~~~~~~~~~~
MAIN:
MOV
MOV
MOV
SETB

SCON, #50H
TMOD, #21H
TH1, #0FDH
TR1


;Khoi Led
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV

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

;AddrRC
MOV RCADDR, #69H
MOV DPTR, #0107H
MOV A, #69H
MOVX
@DPTR, A

SVTH: Nhan Minh Tiến

;Chu i
;KADDR


3


Mạng thu thập dữ liệu và quang báo

GVHD: thầy Nguyễn Ngọc Khai

;Port
MOV CHECKDATAIN, #0
MOV DPTR, #0100H
;Khoi dong ho
MOV R4, #0
MOV LTIMEC, #201
MOV LTIME4, #0
MOV LTIME5, #0
MOV LTIME6, #0
MOV LTIME7, #0
; ini vi tri led
MOV POSLED, #0
MOV KEYNUM, #0
SETB
TF0
MOV IE, #10010010B
SETB PT0
;Priority for timer0 interrupt

MAIN1:
; xac dinh da bam phim may lan
CALL IN_HEX

MOV B, A
MOV R1, A
INC KEYNUM
MOV A, KEYNUM
;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~
; Save vao LEDT0
CJNE A, #1, SAVELEDT1
CJNE R1, #0AH, CKFOR1
MOV KEYNUM, #0
JMP MAIN1
CKFOR1:
CJNE R1, #0BH, CKXOA1
MOV KEYNUM, #0
JMP MAIN1
CKXOA1:

SVTH: Nhan Minh Tiến

4


Mạng thu thập dữ liệu và quang báo

GVHD: thầy Nguyễn Ngọc Khai

CJNE R1, #0CH, CKCLEAR1
MOV KEYNUM, #0
JMP MAIN1

CKCLEAR1:
CJNE R1, #0DH, CKIN1
JMP QSWA
CKIN1:
CJNE R1,#0EH, CKENTER1
MOV KEYNUM, #0
JMP MAIN1
CKENTER1:
CJNE R1, #0FH, NONECK1
MOV KEYNUM, #0
JMP MAIN1
NONECK1:
MOV LEDT0, B
MOV DPTR, #KID1 ; Luu vao RAM
MOV A, B
MOVX
@DPTR, A
JMP

MAIN1

;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~
; Save vao LEDT1
SAVELEDT1:
CJNE A, #2, SAVELEDT2
CJNE R1, #0AH, CKFOR2
MOV R1, KEYNUM
CJNE R1, #1, INCKEY2A

MOV KEYNUM, #0
INCKEY2A:
MOV KEYNUM, #1
JMP MAIN1
CKFOR2:
CJNE R1, #0BH, CKXOA2
MOV R1, KEYNUM
CJNE R1, #1, INCKEY2B
MOV KEYNUM, #0
INCKEY2B:
MOV KEYNUM, #1
JMP MAIN1

SVTH: Nhan Minh Tiến

5


Mạng thu thập dữ liệu và quang báo

GVHD: thầy Nguyễn Ngọc Khai

CKXOA2:
CJNE R1, #0CH, CKCLEAR2
MOV KEYNUM, #0
MOV LEDT0, #11H
JMP MAIN1
CKCLEAR2:
CJNE R1, #0DH, CKIN2
JMP QSWA

CKIN2:
CJNE R1,#0EH, CKENTER2
MOV R1, KEYNUM
CJNE R1, #1, INCKEY2E
MOV KEYNUM, #0
INCKEY2E:
MOV KEYNUM, #1
JMP MAIN1
CKENTER2:
CJNE R1, #0FH, NONECK2
MOV R1, KEYNUM
CJNE R1, #1, INCKEY2F
MOV KEYNUM, #0
INCKEY2F:
MOV KEYNUM, #1
JMP MAIN1
NONECK2:
MOV LEDT1, LEDT0
MOV LEDT0, B
MOV DPTR, #KID2 ; Luu vao RAM
MOV A, B
MOVX
@DPTR, A
JMP

MAIN1

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

; Save vao LEDT2
SAVELEDT2:
CJNE A, #3, SAVELEDT3
CJNE R1, #0AH, CKFOR3
MOV R1, KEYNUM
CJNE R1, #2, INCKEY3A

SVTH: Nhan Minh Tiến

6


Mạng thu thập dữ liệu và quang báo

GVHD: thầy Nguyễn Ngọc Khai

MOV KEYNUM, #1
INCKEY3A:
MOV KEYNUM, #2
JMP MAIN1
CKFOR3:
CJNE R1, #0BH, CKXOA3
MOV R1, KEYNUM
CJNE R1, #2, INCKEY3B
MOV KEYNUM, #1
INCKEY3B:
MOV KEYNUM, #2
JMP MAIN1
CKXOA3:
CJNE R1, #0CH, CKCLEAR3

MOV KEYNUM, #1
JMP QXOA
CKCLEAR3:
CJNE R1, #0DH, CKIN3
JMP QSWA
CKIN3:
CJNE R1,#0EH, CKENTER3
MOV R1, KEYNUM
CJNE R1, #2, INCKEY3E
MOV KEYNUM, #1
INCKEY3E:
MOV KEYNUM, #2
JMP MAIN1
CKENTER3:
CJNE R1, #0FH, NONECK3
MOV R1, KEYNUM
CJNE R1, #2, INCKEY3F
MOV KEYNUM, #1
INCKEY3F:
MOV KEYNUM, #2
JMP MAIN1
NONECK3:
MOV LEDT2, LEDT1
MOV LEDT1, LEDT0
MOV LEDT0, B
MOV DPTR, #KID3 ; Luu vao RAM
MOV A, B
MOVX
@DPTR, A


SVTH: Nhan Minh Tiến

7


Mạng thu thập dữ liệu và quang báo

JMP

GVHD: thầy Nguyễn Ngọc Khai

MAIN1

;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~
; Save vao LEDT3
SAVELEDT3:
CJNE A, #4, SAVELEDT4
CJNE R1, #0AH, CKFOR4
MOV R1, KEYNUM
CJNE R1, #3, INCKEY4A
MOV KEYNUM, #2
INCKEY4A:
MOV KEYNUM, #3
JMP MAIN1
CKFOR4:
CJNE R1, #0BH, CKXOA4
MOV R1, KEYNUM
CJNE R1, #3, INCKEY4B

MOV KEYNUM, #2
INCKEY4B:
MOV KEYNUM, #3
JMP MAIN1
CKXOA4:
CJNE R1, #0CH, CKCLEAR4
MOV KEYNUM, #2
JMP QXOA
CKCLEAR4:
CJNE R1, #0DH, CKIN4
JMP QSWA
CKIN4:
CJNE R1,#0EH, CKENTER4
MOV R1, KEYNUM
CJNE R1, #3, INCKEY4E
MOV KEYNUM, #2
INCKEY4E:
MOV KEYNUM, #3
JMP MAIN1
CKENTER4:
CJNE R1, #0FH, NONECK4
MOV R1, KEYNUM

SVTH: Nhan Minh Tiến

8


Mạng thu thập dữ liệu và quang báo


GVHD: thầy Nguyễn Ngọc Khai

CJNE R1, #3, INCKEY4F
MOV KEYNUM, #2
INCKEY4F:
MOV KEYNUM, #3
JMP MAIN1
NONECK4:
MOV
MOV
MOV
MOV

LEDT3, LEDT2
LEDT2, LEDT1
LEDT1, LEDT0
LEDT0, B

MOV DPTR, #KID4 ; Luu vao RAM
MOV A, B
MOVX
@DPTR, A
JMP

MAIN1

;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~
SAVELEDT4:

CJNE A, #5, SAVELEDT5
CJNE R1, #0AH, CKFOR5
MOV R1, KEYNUM
CJNE R1, #4, INCKEY5A
MOV KEYNUM, #3
INCKEY5A:
MOV KEYNUM, #4
JMP MAIN1
CKFOR5:
CJNE R1, #0BH, CKXOA5
MOV R1, KEYNUM
CJNE R1, #4, INCKEY5B
MOV KEYNUM, #3
INCKEY5B:
MOV KEYNUM, #4
JMP MAIN1
CKXOA5:
CJNE R1, #0CH, CKCLEAR5
MOV KEYNUM, #3
JMP QXOA
CKCLEAR5:
CJNE R1, #0DH, CKIN5

SVTH: Nhan Minh Tiến

9


Mạng thu thập dữ liệu và quang báo


GVHD: thầy Nguyễn Ngọc Khai

JMP QSWA
CKIN5:
CJNE R1,#0EH, CKENTER5
MOV R1, KEYNUM
CJNE R1, #4, INCKEY5E
MOV KEYNUM, #3
INCKEY5E:
MOV KEYNUM, #4
JMP MAIN1
CKENTER5:
CJNE R1, #0FH, NONECK5
MOV R1, KEYNUM
CJNE R1, #4, INCKEY5F
MOV KEYNUM, #3
INCKEY5F:
MOV KEYNUM, #4
JMP MAIN1
NONECK5:
MOV
MOV
MOV
MOV
MOV

LEDT4, LEDT3
LEDT3, LEDT2
LEDT2, LEDT1
LEDT1, LEDT0

LEDT0, B

MOV DPTR, #KID5 ; Luu vao RAM
MOV A, B
MOVX
@DPTR, A
JMP

MAIN1

;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~
SAVELEDT5:
CJNE A, #6, SAVELEDT6
CJNE R1, #0AH, CKFOR6
MOV R1, KEYNUM
CJNE R1, #5, INCKEY6A
MOV KEYNUM, #4
INCKEY6A:
MOV KEYNUM, #5
JMP QBACK

SVTH: Nhan Minh Tiến

10


Mạng thu thập dữ liệu và quang báo


GVHD: thầy Nguyễn Ngọc Khai

CKFOR6:
CJNE R1, #0BH, CKXOA6
MOV R1, KEYNUM
CJNE R1, #5, INCKEY6B
MOV KEYNUM, #4
INCKEY6B:
MOV KEYNUM, #5
JMP SHIFTTO
CKXOA6:
CJNE R1, #0CH, CKCLEAR6
MOV KEYNUM, #4
JMP QXOA
CKCLEAR6:
CJNE R1, #0DH, CKIN6
JMP QSWA
CKIN6:
CJNE R1,#0EH, CKENTER6
MOV R1, KEYNUM
CJNE R1, #5, INCKEY6E
MOV KEYNUM, #4
INCKEY6E:
MOV KEYNUM, #5
JMP MAIN1
CKENTER6:
CJNE R1, #0FH, NONECK6
MOV R1, KEYNUM
CJNE R1, #5, INCKEY6F
MOV KEYNUM, #4

INCKEY6F:
MOV KEYNUM, #5
JMP MAIN1
NONECK6:
MOV
MOV
MOV
MOV
MOV
MOV

LEDT5, LEDT4
LEDT4, LEDT3
LEDT3, LEDT2
LEDT2, LEDT1
LEDT1, LEDT0
LEDT0, B

MOV DPTR, #KID6 ; Luu vao RAM
MOV A, B
MOVX
@DPTR, A
JMP

MAIN1

SVTH: Nhan Minh Tiến

11



Mạng thu thập dữ liệu và quang báo

GVHD: thầy Nguyễn Ngọc Khai

;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~
SAVELEDT6:
CJNE A, #7, SAVELEDT7
CJNE R1, #0AH, CKFOR7
MOV R1, KEYNUM
CJNE R1, #6, INCKEY7A
MOV KEYNUM, #5
INCKEY7A:
MOV KEYNUM, #6
JMP QBACK
CKFOR7:
CJNE R1, #0BH, CKXOA7
MOV R1, KEYNUM
CJNE R1, #6, INCKEY7B
MOV KEYNUM, #5
INCKEY7B:
MOV KEYNUM, #6
JMP SHIFTTO
CKXOA7:
CJNE R1, #0CH, CKCLEAR7
MOV KEYNUM, #5
JMP QXOA
CKCLEAR7:

CJNE R1, #0DH, CKIN7
JMP QSWA
CKIN7:
CJNE R1,#0EH, CKENTER7
MOV R1, KEYNUM
CJNE R1, #6, INCKEY7E
MOV KEYNUM, #5
INCKEY7E:
MOV KEYNUM, #6
JMP MAIN1
CKENTER7:
CJNE R1, #0FH, NONECK7
MOV R1, KEYNUM
CJNE R1, #6, INCKEY7F
MOV KEYNUM, #5
INCKEY7F:
MOV KEYNUM, #6
JMP MAIN1
NONECK7:

SVTH: Nhan Minh Tiến

12


Mạng thu thập dữ liệu và quang báo

MOV
MOV
MOV

MOV
MOV
MOV
MOV

GVHD: thầy Nguyễn Ngọc Khai

LEDT6, LEDT5
LEDT5, LEDT4
LEDT4, LEDT3
LEDT3, LEDT2
LEDT2, LEDT1
LEDT1, LEDT0
LEDT0, B

MOV DPTR, #KID7 ; Luu vao RAM
MOV A, B
MOVX
@DPTR, A
JMP MAIN1
;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~
SAVELEDT7:
CJNE A, #8, KEY9
CJNE R1, #0AH, CKFOR8
MOV R1, KEYNUM
CJNE R1, #7, INCKEY8A
MOV KEYNUM, #6
INCKEY8A:

MOV KEYNUM, #7
JMP QBACK
CKFOR8:
CJNE R1, #0BH, CKXOA8
MOV R1, KEYNUM
CJNE R1, #7, INCKEY8B
MOV KEYNUM, #6
INCKEY8B:
MOV KEYNUM, #7
JMP SHIFTTO
CKXOA8:
CJNE R1, #0CH, CKCLEAR8
MOV KEYNUM, #6
JMP QXOA
CKCLEAR8:
CJNE R1, #0DH, CKIN8
JMP QSWA
CKIN8:
CJNE R1,#0EH, CKENTER8
MOV R1, KEYNUM

SVTH: Nhan Minh Tiến

13


Mạng thu thập dữ liệu và quang báo

GVHD: thầy Nguyễn Ngọc Khai


CJNE R1, #7, INCKEY8E
MOV KEYNUM, #6
INCKEY8E:
MOV KEYNUM, #7
JMP MAIN1
CKENTER8:
CJNE R1, #0FH, NONECK8
MOV R1, KEYNUM
CJNE R1, #7, INCKEY8F
MOV KEYNUM, #6
INCKEY8F:
MOV KEYNUM, #7
JMP MAIN1
NONECK8:
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV

LEDT7, LEDT6
LEDT6, LEDT5
LEDT5, LEDT4
LEDT4, LEDT3
LEDT3, LEDT2
LEDT2, LEDT1
LEDT1, LEDT0

LEDT0, B

MOV DPTR, #KID8 ; Luu vao RAM
MOV A, B
MOVX
@DPTR, A
JMP
KEY9:
CJNE
MOV
JMP

MAIN1
R1, #0CH, CKCLEAR9
KEYNUM, #7
QXOA

;Phim thu 9 la phim enter, luu vao o nho LEDTC
CKCLEAR9:
MOV A, B
CJNE A, #0FH, WHATK ;Neu la phim Enter thi ngat SP
;MOV DPTR, #KIDE; Luu vao RAM
;MOV A, B
;MOVX
@DPTR, A
MOV KEYENTER, B

SVTH: Nhan Minh Tiến

14



Mạng thu thập dữ liệu và quang báo

GVHD: thầy Nguyễn Ngọc Khai

;CALL SENDDATA ; Goi ID ve PC
MOV KEYNUM, #0
JMP main1
WHATK:
MOV KEYNUM, #8
CJNE R1, #0AH, CKFOR
JMP QBACK
CKFOR:
CJNE R1, #0BH, CKXOA
JMP SHIFTTO
CKXOA:
CJNE R1, #0CH, CKCLEAR
JMP QXOA
CKCLEAR:
CJNE R1, #0DH, CKIN
JMP QSWA
CKIN:
CJNE R1,#0EH, CKENTER
JMP MAIN1
CKENTER:
JMP MAIN1
QSWA:
MOV KEYNUM, #0
MOV LEDT0, #11H

MOV LEDT1, #10H
MOV LEDT2, #10H
MOV LEDT3, #10H
MOV LEDT4, #10H
MOV LEDT5, #10H
MOV LEDT6, #10H
MOV LEDT7, #10H
MOV LEDTC, #10H
JMP MAIN1
QXOA:
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV

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


SVTH: Nhan Minh Tiến

15


Mạng thu thập dữ liệu và quang báo

GVHD: thầy Nguyễn Ngọc Khai

MOV LEDT7, #10H
JMP MAIN1
QBACK:
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
JMP

LEDTC, LEDT7
LEDT7, LEDT6
LEDT6, LEDT5
LEDT5, LEDT4
LEDT4, LEDT3
LEDT3, LEDT2
LEDT2, LEDT1

LEDT1, LEDT0
LEDT0, LEDTC
MAIN1

SHIFTTO:
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
JMP
RET

LEDTC, LEDT0
LEDT0, LEDT1
LEDT1, LEDT2
LEDT2, LEDT3
LEDT3, LEDT4
LEDT4, LEDT5
LEDT5, LEDT6
LEDT6, LEDT7
LEDT7, LEDTC
MAIN1

JMP


MAIN1

;~~~~~~~~~~~~~~~~~~~~~~~~~~
; 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 RI
MOV A, SBUF

SVTH: Nhan Minh Tiến

16


Mạng thu thập dữ liệu và quang báo

GVHD: thầy Nguyễn Ngọc Khai

INC CHECKDATAIN
MOV R2, CHECKDATAIN
CJNE
MOV
MOV
CJNE
CALL
MOV

MOV

CTT12:
CJNE
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV

A, #21H, CTT12
; ! PC muon nhan ID
CHECKDATAIN, #0
R2, KEYENTER
R2, #0FH, CTT12
; Enter thi goi ID ve PC
SENDDATA
KEYENTER, #0
CHECKDATAIN, #0

A, #23H, CTT0
LEDT0, #11H
LEDT1, #10H
LEDT2, #10H
LEDT3, #10H
LEDT4, #10H

LEDT5, #10H
LEDT6, #10H
LEDT7, #10H
LEDTC, #10H

; # tin hieu bao dung ID

MOV KEYNUM, #0
MOV KEYENTER, #0
MOV CHECKDATAIN, #0
RETI
CTT0:
CJNE
CJNE
MOV
MOVX

R2, #1, CTT1
A, #69H, THOATCT
DPTR, #0100H
@DPTR, A

CTT1:
CJNE
MOV
MOVX

R2, #2, CTT2
DPTR, #0101H
@DPTR, A


CTT2:
CJNE
MOV

R2, #3, CTT3
DPTR, #0102H

SVTH: Nhan Minh Tiến

17


Mạng thu thập dữ liệu và quang báo
MOVX

@DPTR, A

CTT3:
CJNE
MOV
MOVX

R2, #4, CTT4
DPTR, #0103H
@DPTR, A

CTT4:
CJNE
MOV

MOVX

R2, #5, CTT5
DPTR, #0104H
@DPTR, A

CTT5:
CJNE
MOV
MOVX

R2, #6, CTT6
DPTR, #0105H
@DPTR, A

GVHD: thầy Nguyễn Ngọc Khai

CTT6:
MOV
MOVX

DPTR, #0106H
@DPTR, A

MOV A, #7
CJNE A, CHECKDATAIN, NHAPTIEP
;Da nap xong vao o nho
;Tiep theo kiem tra dc, data xem co chinh gio hay thay doi addr khong
MOV CHECKDATAIN, #0
MOV DPTR, #TADDR

MOVX
A, @DPTR
CJNE A, RCADDR, THOATISR

; Kiem tra Addr CHU i

CALL CHINHDH
CALL THAYADDR
;CALL SENDADDR
THOATISR:
MOV DPTR, #TADDR
MOVX
A, @DPTR
MOV RCADDR, A
THOATCT:
MOV CHECKDATAIN, #0
NHAPTIEP:
RETI

SVTH: Nhan Minh Tiến

18


Mạng thu thập dữ liệu và quang báo

GVHD: thầy Nguyễn Ngọc Khai

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
; Ngat Timer 0 dung de quet tung con led moi con 2,5ms

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ISRT0:
;PUSH ACC
; Khoi tao lai Timer
CLR TR0
MOV TH0, #HIGH (-2501)
MOV TL0, #LOW (-2501)
SETB TR0
CALL

DONGHO

; Xac dinh vi tri led de xuat
MOV A, POSLED
;Quet Led 0
CJNE A, #0, SCANL1
CALL
DISL0
JMP
QSCAN
;Quet Led1
SCANL1:
CJNE A, #1, SCANL2
CALL
DISL1
JMP
QSCAN
;Quet Led2
SCANL2:
CJNE A, #2, SCANL3

CALL
DISL2
JMP
QSCAN
;Quet Led3
SCANL3:
CJNE A, #3, SCANL4
CALL
DISL3
JMP
QSCAN
;Quet Led 4
SCANL4:
CJNE A, #4, SCANL5
CALL

DISL4

SVTH: Nhan Minh Tiến

19


Mạng thu thập dữ liệu và quang báo

GVHD: thầy Nguyễn Ngọc Khai

JMP
QSCAN
;Quet Led1

SCANL5:
CJNE A, #5, SCANL6
CALL
DISL5
JMP
QSCAN
;Quet Led2
SCANL6:
CJNE A, #6, SCANL7
CALL
DISL6
JMP
QSCAN
;Quet Led3
SCANL7:
CJNE A, #7, QSCAN
CALL

DISL7

QSCAN:
INC
MOV
CJNE
MOV

POSLED
A, POSLED
A, #8, QISCAN
POSLED, #0


;86 MICRO SEC

QISCAN:
;POP ACC
RETI

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
; Goi ID den PC
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SENDDATA:

MOV
CALL
CALL
MOV

A, LEDT7
HTOA
OUTCHAR
A, LEDT6

SVTH: Nhan Minh Tiến

; ID 1
; ID 2

20



Mạng thu thập dữ liệu và quang báo
CALL
CALL
MOV
CALL
CALL
MOV
CALL
CALL
MOV
CALL
CALL
MOV
CALL
CALL
MOV
CALL
CALL
MOV
CALL
CALL

HTOA
OUTCHAR
A, LEDT5
HTOA
OUTCHAR
A, LEDT4
HTOA
OUTCHAR

A, LEDT3
HTOA
OUTCHAR
A, LEDT2
HTOA
OUTCHAR
A, LEDT1
HTOA
OUTCHAR
A, LEDT0
HTOA
OUTCHAR

GVHD: thầy Nguyễn Ngọc Khai

; ID 3
; ID 4
; ID 5
; ID 6
; ID 7
; ID 8

RET
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SENDADDR:
MOV A, #69H
CALL HTOA
MOV SBUF, A

JNB TI, $
CLR TI
RET
;~~~~~~~~~~~~~~~~~~~~~~~~~~
; Goi data ve PC
;~~~~~~~~~~~~~~~~~~~~~~~~~~
OUTCHAR:
MOV SBUF, A
JNB TI,$
CLR TI
RET
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
; Thay doi dia chi

SVTH: Nhan Minh Tiến

21


Mạng thu thập dữ liệu và quang báo

GVHD: thầy Nguyễn Ngọc Khai

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
THAYADDR:
MOV DPTR, #TCHANGEADDR ; Tro toi o nho chua addr tam
MOVX
A, @DPTR
CJNE A, #43H, CONCHANGE
; CHU C

MOV DPTR, #TDATA1
; Neu la chu C thi thay doi dia chi
MOVX
A, @DPTR
MOV RCADDR, A
CONCHANGE:
RET
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
; Chinh dong ho
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CHINHDH:
MOV DPTR, #TTURNTIME
MOVX
A, @DPTR
CJNE A, #54H, CONTURN ;Chu T
; Chinh dong ho
MOV DPTR, #TDATA1
MOVX
A, @DPTR
callatoh
MOV LTIME4, A
INC DPTR
MOVX
A, @DPTR
callatoh
MOV LTIME5, A
INC DPTR
MOVX
A, @DPTR
callatoh

MOV LTIME6, A
INC DPTR
MOVX
A, @DPTR
callatoh
MOV LTIME7, A
CONTURN:
RET
;~~~~~~~~~~~
; DONG HO
;~~~~~~~~~~~
DONGHO:
DJNZ LTIMEC, CONT

SVTH: Nhan Minh Tiến

22


Mạng thu thập dữ liệu và quang báo
;Duoc 0,5s
INC R4
CJNE R4, #6EH, THOAT
MOV R4, #0
INC LTIME7
MOV R2, LTIME7
CJNE R2, #0AH, THOAT
MOV LTIME7, #0
INC LTIME6
MOV R2, LTIME6

CJNE R2, #06H, THOAT
MOV LTIME6, #0

GVHD: thầy Nguyễn Ngọc Khai

; Duoc 60s

; Phut1

; Phut2

;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 LTIME5
MOV R2, LTIME5
CJNE R2, #4,CONHOUR2
MOV R2, LTIME4
CJNE R2, #2, CONHOUR2
; Khoi tao lai
MOV LTIME4, #0
MOV LTIME5, #0
MOV LTIME6, #0
MOV LTIME7, #0
JMP CONT
CONHOUR2:
CJNE
MOV
INC
JMP
THOAT:


R2, #0AH, THOAT
LTIME5, #0
LTIME4
THOAT

MOV LTIMEC, #201
MOV
CJNE
JC
MOV
MOV
CJNE
JC
MOV
CONT:
RET

R2, LTIME6
R2, #06H, $+3
CONT
LTIME6, #0
R2, LTIME4
R2, #03H, $+3
CONT
LTIME4, #0

SVTH: Nhan Minh Tiến

23



Mạng thu thập dữ liệu và quang báo

GVHD: thầy Nguyễn Ngọc Khai

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
; QUET LED
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DISL0:
MOV
MOV
MOVC
MOV
MOVX
MOV
MOV
MOVX
;CALL
RET

A, LEDT0
DPTR, #TAB
A, @A+DPTR
DPTR, #DATALED
@DPTR, A
DPTR, #COLLED
A, #08H
@DPTR, A
DELAY


DISL1:
MOV
MOV
MOVC
MOV
MOVX
MOV
MOV
MOVX
;CALL
RET

A, LEDT1
DPTR, #TAB
A, @A+DPTR
DPTR, #DATALED
@DPTR, A
DPTR, #COLLED
A, #04H
@DPTR, A
DELAY

DISL2:
MOV
MOV
MOVC
MOV
MOVX
MOV

MOV
MOVX
;CALL
RET

A, LEDT2
DPTR, #TAB
A, @A+DPTR
DPTR, #DATALED
@DPTR, A
DPTR, #COLLED
A, #02H
@DPTR, A
DELAY

DISL3:
MOV
MOV
MOVC

A, LEDT3
DPTR, #TAB
A, @A+DPTR

SVTH: Nhan Minh Tiến

24


Mạng thu thập dữ liệu và quang báo

MOV
MOVX
MOV
MOV
MOVX
;CALL
RET

DPTR, #DATALED
@DPTR, A
DPTR, #COLLED
A, #01H
@DPTR, A
DELAY

DISL4:
MOV
MOV
MOVC
MOV
MOVX
MOV
MOV
MOVX
;CALL
RET

A, LTIME4
DPTR, #TAB
A, @A+DPTR

DPTR, #DATALED
@DPTR, A
DPTR, #COLLED
A, #10H
@DPTR, A
DELAY

DISL5:
MOV
MOV
MOVC
MOV
MOVX
MOV
MOV
MOVX
;CALL
RET

A, LTIME5
DPTR, #TAB
A, @A+DPTR
DPTR, #DATALED
@DPTR, A
DPTR, #COLLED
A, #20H
@DPTR, A
DELAY

DISL6:

MOV
MOV
MOVC
MOV
MOVX
MOV
MOV
MOVX
;CALL
RET

A, LTIME6
DPTR, #TAB
A, @A+DPTR
DPTR, #DATALED
@DPTR, A
DPTR, #COLLED
A, #40H
@DPTR, A
DELAY

DISL7:
MOV

GVHD: thầy Nguyễn Ngọc Khai

A, LTIME7

SVTH: Nhan Minh Tiến


25


×