SlideShare a Scribd company logo
1 of 188
Download to read offline
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 1
;**************************************************************************
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 2
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7AD7
AD6
AD5
AD4
AD3
AD2
AD1
AD0
AD3
AD2
AD1
AD0QA
QB
QC
QD
QE
QF
QG
AD5
AD4
QA
QB
QC
QD
QE
QF
QG
QA
QB
QC
QD
QE
QF
QG
AD6
AD7
QA
QB
QC
QD
QE
QF
QG
AD6
AD7
AD5
AD4
QA
QB
QC
QD
QE
QF
QG
XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27
P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
U1
80C51
R0 10k
C103
10u
X1
12MHz
C101
30p
C102
30p
VCC
TUYEN DUONG A
A
7
B
1
C
2
D
6
LT
3
BI
4
LE/STB
5
QA
13
QB
12
QC
11
QD
10
QE
9
QF
15
QG
14
U2
4511
VCC VCC
2
3
4
5
6
7
8
9
1
DRT1
10K
VCC
2
3
4
5
6
7
8
9
1
DRT2
10K
Q6
2N2369
Q1
2N2369
Q2
2N2369
Q3
2N2369
Q4
2N2369
Q5
2N2369
TUYEN DUONG BEN B1 TUYEN DUONG BEN A2TUYEN DUONG BEN A1 TUYEN DUONG BEN B2
TUYEN DUONG B
VCC
R1
100
R2 4k7
R4 4k7
R3 4k7
R5 4k7
R6 4k7
R7 4k7
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 3
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 4
CHƯƠNG TRÌNH CHẠY HAI CHẾ ĐỘ AUTO VÀ HANDDY
;chuong trinh den giao thong 2 che do co hien thi thoi gian ra led 7 doan
;Nguoi viet :VUONG VAN HUNG
;Ngay viet :20/06/2008
;===================================================
TGA DATA 7CH
CHUCA DATA 2EH
DONVIA DATA 7DH
TGB DATA 7EH
DONVIB DATA 7FH
CHUCB DATA 2FH
;===================================================
ORG 0000H
INIT:
MOV TMOD,#01H
MOV P1,#00H
;===================================================
;Chuong trinh chinh
MAIN:
;****************************************************
; Do A va Xanh b sang
;***************************************************
DAXB_AUTO:
CLR P1.3
CLR P1.1
MOV TGA,#20
MOV TGB,#17
SETB P1.0
SETB P1.5
;==============================
LAPXB:
JNB P3.0,DAXB_HANDDY ; neu p3.0 o muc thap (0) thi chay Auto
CALL DELAY1S ; con p3.0 o muc cao (1) thi chay Handdy
DEC TGA
DJNZ TGB,LAPXB
;=================================================
; Do A va vang B sang
;************************************************
DAVB_AUTO:
CLR P1.5
SETB P1.4
MOV TGB,#3
;=====================================
LAPVB:
JNB P3.0,XADB_HANDDY ; neu p3.0 o muc thap (0) thi chay Auto
CALL DELAY1S ; con p3.0 o muc cao (1) thi chay Handdy
DEC TGA
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 5
DJNZ TGB,LAPVB
;=============================================
; Xanh A va Do B sang
;*************************************************
XADB_AUTO:
CLR P1.0
CLR P1.4
SETB P1.2
SETB P1.3
MOV TGA,#26
MOV TGB,#30
;==============================
LAPXA:
JNB P3.0,XADB_HANDDY ; neu p3.0 o muc thap (0) thi chay Handdy
CALL DELAY1S ; con p3.0 o muc cao (1) thi chay AuTo
DEC TGB
DJNZ TGA,LAPXA
;======================================
;Vang A va Do B sang
;*************************************************
VADB_AUTO:
CLR P1.2
SETB P1.1
MOV TGA,#4
;=============================
LAPVA:
JNB P3.0,DAXB_HANDDY ;|| neu p3.0 o muc cao (1) thi chay Auto
CALL DELAY1S ;|| con p3.0 o muc thap (0) thi chay Handdy
DEC TGB
DJNZ TGA,LAPVA
LJMP MAIN
;************************************************************
HANDDY:
;============================
DAXB_HANDDY:
MOV P0,#0FFH ; Khong cho hien thoi gian
SETB P1.0 ;Do A sang
SETB P1.5 ; Xanh B sang
CLR P1.3 ;Tat Do B
CLR P1.4 ;Tat Vang B
CLR P1.2 ;Tat Xanh A
JB P3.0,DAXB_AUTO ;||=>neu p3.0 = 0 thi Chay Handdy
JB P3.1,DAXB_HANDDY ;||=> neu p3.0 = 1 thi chay AUTO
;|| neu p3.1 = 0 thi nhay XADB_HANDDY
;|| neu p3.1 = 1 thi nhay DAXB_HANDDY
;====================================================================
XADB_HANDDY:
MOV P0,#0FFH
SETB P1.2
SETB P1.3
CLR P1.1
CLR P1.0
CLR P1.5
JB P3.0,XADB_AUTO ; ||=>neu p3.0 = 0 thi Chay Handdy
JNB P3.1,XADB_HANDDY ; ||=>neu p3.0 = 1 thi chay AUTO
JMP DAXB_HANDDY ;|| neu p3.1 = 1 thi nhay DAXB_HANDDY
;|| neu p3.1 = 0 thi nhay XADB_HANDDY
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 6
;=============================================
HIENTHI:
CALL MAHOA
MOV P0,CHUCA
CALL DELAY
MOV P0,DONVIA
CALL DELAY
MOV P0,CHUCB
CALL DELAY
MOV P0,DONVIB
CALL DELAY
RET
;================================================
MAHOA:
MOV A,TGA
MOV B,#10
DIV AB
ADD A,#10110000B
MOV CHUCA,A
MOV A,B
ADD A,#01110000B
MOV DONVIA,A
MOV A,TGB
MOV B,#10
DIV AB
ADD A,#11100000B
MOV CHUCB,A
MOV A,B
ADD A,#11010000B
MOV DONVIB,A
RET
;================================================
DELAY1S:
MOV R0,#40
LAPDELAY1S:
CALL HIENTHI
CALL DELAY50MS
DJNZ R0,LAPDELAY1S
RET
;===============================================
DELAY50MS:
MOV TH0,#HIGH(-25000)
MOV TL0,#LOW(-25000)
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
RET
;=======================================
DELAY:
LOOP1:
MOV R1,#10
LOOP2:
MOV R2,#200
DJNZ R2,$
DJNZ R1,LOOP2
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 7
RET
;===================================================
END
;===================================================
*****************************************************************
CHƯƠNG TRÌNH 2:
;chuong trinh den giao thong 2 che do co hien thi thoi gian ra led 7 doan
;Nguoi viet :VUONG VAN HUNG
;Ngay viet :20/06/2008
;===================================================
DOA BIT P1.0
VANGA BIT P1.1
XANHA BIT P1.2
DOB BIT P1.3
VANGB BIT P1.4
XANHB BIT P1.5
TGA DATA 7CH
CHUCA DATA 2EH
DONVIA DATA 7DH
TGB DATA 7EH
DONVIB DATA 7FH
CHUCB DATA 2FH
;===================================================
ORG 0000H
INIT:
MOV TMOD,#01H
MOV P1,#00H
;===================================================
;Chuong trinh chinh
MAIN:
;****************************************************
; Do A va Xanh b sang
;***************************************************
DAXB_AUTO:
CLR DOB
CLR VANGA
MOV TGA,#20
MOV TGB,#17
SETB DOA
SETB XANHB
;==============================
LAPXB:
JNB P3.0,DAXB_HANDDY ;|| neu p3.0 =1 thi chay Auto
CALL DELAY1S ;|| con p3.0 =0 thi chay Handdy
DEC TGA
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 8
DJNZ TGB,LAPXB
;=================================================
; Do A va vang B sang
;************************************************
DAVB_AUTO:
CLR XANHB
MOV TGB,#3
SETB VANGB
;=====================================
LAPVB:
JNB P3.0,XADB_HANDDY ;|| neu p3.0 =1 thi chay Auto
CALL DELAY1S ;|| con p3.0 =0 thi chay Handdy
DEC TGA
DJNZ TGB,LAPVB
;=============================================
; Xanh A va Do B sang
;*************************************************
XADB_AUTO:
CLR DOA
CLR VANGB
MOV TGA,#26
MOV TGB,#30
SETB XANHA
SETB DOB
;==============================
LAPXA:
JNB P3.0,XADB_HANDDY
CALL DELAY1S
DEC TGB
DJNZ TGA,LAPXA
;======================================
;Vang A va Do B sang
;*************************************************
VADB_AUTO:
CLR XANHA
MOV TGA,#4
SETB VANGA
;=============================
LAPVA:
JNB P3.0,DAXB_HANDDY
CALL DELAY1S
DEC TGB
DJNZ TGA,LAPVA
LJMP MAIN
;************************************************************
HANDDY:
;============================
DAXB_HANDDY:
MOV P0,#0FFH ; Khong cho hien thoi gian
SETB DOA ;Do A sang
SETB XANHB ; Xanh B sang
CLR DOB ;Tat Do B
CLR VANGB ;Tat Vang B
CLR XANHA ;Tat Xanh A
JB P3.0,DAXB_AUTO ; || neu p3.0 = 0 thi Chay Handdy
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 9
JB P3.1,DAXB_HANDDY ; || neu p3.0 = 1 thi chay AUTO
;|| =>neu p3.1 = 1 thi nhay DAXB_HANDDY
;|| =>neu p3.1 = 0 thi nhay XADB_HANDDY
;=======================================
XADB_HANDDY:
MOV P0,#0FFH
SETB XANHA
SETB DOB
CLR VANGA
CLR DOA
CLR XANHB ; || neu p3.0 = 1 thi chay AUTO
JB P3.0,XADB_AUTO ; || neu p3.0 = 0 thi Chay Handdy
JNB P3.1,XADB_HANDDY ; || =>neu p3.1 = 1 thi nhay DAXB_HANDDY
JMP DAXB_HANDDY ; || =>neu p3.1 = 0 thi nhay XADB_HANDDY
;=============================================
HIENTHI:
CALL MAHOA
MOV P0,CHUCA
CALL DELAY
MOV P0,DONVIA
CALL DELAY
MOV P0,CHUCB
CALL DELAY
MOV P0,DONVIB
CALL DELAY
RET
;================================================
MAHOA:
MOV A,TGA
MOV B,#10
DIV AB
ADD A,#10110000B
MOV CHUCA,A
MOV A,B
ADD A,#01110000B
MOV DONVIA,A
MOV A,TGB
MOV B,#10
DIV AB
ADD A,#11100000B
MOV CHUCB,A
MOV A,B
ADD A,#11010000B
MOV DONVIB,A
RET
;================================================
DELAY1S:
MOV R0,#40
LAPDELAY1S:
CALL HIENTHI
CALL DELAY50MS
DJNZ R0,LAPDELAY1S
RET
;===============================================
DELAY50MS:
MOV TH0,#HIGH(-25000)
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 10
MOV TL0,#LOW(-25000)
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
RET
;=======================================
DELAY:
LOOP1:
MOV R1,#10
LOOP2:
MOV R2,#200
DJNZ R2,$
DJNZ R1,LOOP2
RET
;===================================================
END
;====================================================
**************************************************************
CHƯƠNG TRÌNH CHẠY CHẾ ĐỘ AUTO
;CHUONG TRINH DEN GIAO THONG CHAY AUTO CO HIEN THI THOI GIAN
;Nguoi viet :VUONG VAN HUNG
;Ngay viet :20/06/2008
;===================================================
TGA DATA 7CH
CHUCA DATA 2EH
DONVIA DATA 7DH
TGB DATA 7EH
DONVIB DATA 7FH
CHUCB DATA 2FH
;===================================================
;Chuong trinh chinh
ORG 0000H
INIT:
MOV TMOD,#01H
MOV P1,#0H
MAIN:
MOV TGA,#30
MOV TGB,#25
SETB P1.0
SETB P1.5
;===============================
;Thoi gian cua Do A va Xanh B
LAPXB:
CALL DELAY1S
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 11
DEC TGA
DJNZ TGB,LAPXB
CLR P1.5
SETB P1.4
MOV TGB,#5
;==============================
;Thoi gian cua Do A va Vang B
LAPVB:
CALL DELAY1S
DEC TGA
DJNZ TGB,LAPVB
CLR P1.0
CLR P1.4
SETB P1.2
SETB P1.3
MOV TGA,#18
MOV TGB,#20
;==============================
;Thoi gian cua Do B va Xanh A
LAPXA:
CALL DELAY1S
DEC TGB
DJNZ TGA,LAPXA
CLR P1.2
SETB P1.1
MOV TGA,#2
;==============================
;Thoi gian cua Do B va Vang A
LAPVA:
CALL DELAY1S
DEC TGB
DJNZ TGA,LAPVA
CLR P1.1
CLR P1.3
LJMP MAIN
;=================================================
HIENTHI:
CALL MAHOA
MOV P0,CHUCA
CALL DELAY
MOV P0,DONVIA
CALL DELAY
MOV P0,CHUCB
CALL DELAY
MOV P0,DONVIB
CALL DELAY
RET
;================================================
MAHOA:
MOV A,TGA
MOV B,#10
DIV AB
ADD A,#10110000B
MOV CHUCA,A
MOV A,B
ADD A,#01110000B
MOV DONVIA,A
MOV A,TGB
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 12
MOV B,#10
DIV AB
ADD A,#11100000B
MOV CHUCB,A
MOV A,B
ADD A,#11010000B
MOV DONVIB,A
RET
;================================================
DELAY1S:
MOV R0,#40
LAPDELAY1S:
CALL HIENTHI
CALL DELAY40MS
DJNZ R0,LAPDELAY1S
RET
;===============================================
DELAY40MS:
MOV TH0,#HIGH(-25000)
MOV TL0,#LOW(-25000)
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
RET
;============================
DELAY:
LOOP1:
MOV R1,#10
LOOP2:
MOV R2,#200
DJNZ R2,$
DJNZ R1,LOOP2
RET
;===================================================
END
**********************************************************
CHƯƠNG TRÌNH HOÀN HIỆN HƠN 1:
;chuong trinh den giao thong 2 che do co hien thi thoi gian ra led 7 doan .
; khi TGA hay TGB nho hon 10 thi chi co LED hang don vi sang
;Nguoi viet :VUONG VAN HUNG
;Ngay viet :20/06/2008
;===================================================
TGA DATA 7CH
CHUCA DATA 2EH
DONVIA DATA 7DH
TGB DATA 7EH
DONVIB DATA 7FH
CHUCB DATA 2FH
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 13
;===================================================
ORG 0000H
INIT:
MOV TMOD,#01H
MOV P1,#00H
;===================================================
;Chuong trinh chinh
MAIN:
;****************************************************
; Do A va Xanh b sang
;***************************************************
DAXB_AUTO:
CLR P1.3 ;Tat Do B
CLR P1.1 ;Tat Vang A
MOV TGA,#20
MOV TGB,#17
MOV R6,#8
SETB P1.0 ; do a sang
SETB P1.5 ; Xanh B Sang
;==============================
LAPXB:
CALL DELAY1S_1
DEC TGA
DEC TGB
JNB P3.0,DAXB_HANDDY ;|| Neu p3.0 = 0 thi chay Handdy
DJNZ R6,LAPXB ;|| con p3.0 = 1 thi chay AUTO
MOV R6,#3
LAPXB1:
JNB P3.0,DAXB_HANDDY
CALL DELAY1S_3
DEC TGA
DEC TGB
DJNZ R6,LAPXB1
LAPXB2:
JNB P3.0,DAXB_HANDDY
CALL DELAY1S_4
DEC TGA
DJNZ TGB,LAPXB2
;=================================================
; Do A va vang B sang
;************************************************
DAVB_AUTO:
CLR P1.5
SETB P1.4
MOV TGB,#3
;=====================================
LAPVB:
JNB P3.0,XADB_HANDDY ;|| neu p3.0 o muc thap (0) thi chay Auto
CALL DELAY1S_4 ;|| con p3.0 o muc cao (1) thi chay Handdy
DEC TGA
DJNZ TGB,LAPVB
CALL DELAY1S_4
;=============================================
; Xanh A va Do B sang
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 14
;*************************************************
XADB_AUTO:
CLR P1.0
CLR P1.4
SETB P1.2
SETB P1.3
MOV TGA,#25
MOV TGB,#30
MOV R6,#16 ; THAY DOI KHI TGB VA TGA THAY DOI R6 = TGA - 9
;==============================
LAPXA:
JNB P3.0,XADB_HANDDY ; ||=>neu p3.0 o muc thap (0) thi chay Handdy
CALL DELAY1S_1 ; ||=>con p3.0 o muc cao (1) thi chay AuTo
DEC TGB
DEC TGA
DJNZ R6,LAPXA
MOV R6,#5 ; Thay Doi Khi TGB Va TGA Thay Doi R6 = TGB - TGA.
LAPXA1:
JNB P3.0,DAXB_HANDDY
CALL DELAY1S_2
DEC TGA
DEC TGB
DJNZ R6,LAPXA1
LAPXA2:
JNB P3.0,DAXB_HANDDY
CALL DELAY1S_4
DEC TGB
DJNZ TGA,LAPXA2
;======================================
;Vang A va Do B sang
;*************************************************
VADB_AUTO:
CLR P1.2
SETB P1.1
MOV TGA,#5
;=============================
LAPVA:
JNB P3.0,DAXB_HANDDY ;|| neu p3.0 = 1 thi chay Auto
CALL DELAY1S_4 ;|| con p3.0 = 0 thi chay Handdy
DEC TGB
DJNZ TGA,LAPVA
CALL DELAY1S_4
TIEP:
LJMP MAIN
;************************************************************
HANDDY:
;============================
DAXB_HANDDY:
MOV P0,#0FFH ; Khong cho hien thoi gian
SETB P1.0 ;Do A sang
SETB P1.5 ; Xanh B sang
CLR P1.3 ;Tat Do B
CLR P1.4 ;Tat Vang B
CLR P1.2 ;Tat xanh A
JB P3.0,TIEP ; || neu p3.0 = 0 thi Chay Handdy
JB P3.1,DAXB_HANDDY ; || neu p3.0 = 1 thi chay AUTO
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 15
; ||=> neu p3.1 = 1 thi nhay DAXB_HANDDY
;||=> neu p3.1 = 0 thi nhay XADB_HANDDY
;====================================================================
XADB_HANDDY:
MOV P0,#0FFH
SETB P1.2 ; Xanh A sang
SETB P1.3 ; Do B sang
CLR P1.1 ;Tat vang A
CLR P1.0 ;Tat do A
CLR P1.5 ; Tat Xanh B
JB P3.0,XADB_AUTO ; || neu p3.0 = 0 thi Chay Handdy
;|| neu p3.0 = 1 thi chay AUTO
JNB P3.1,XADB_HANDDY ;||=>neu p3.1 = 1 thi nhay DAXB_HANDDY
JMP DAXB_HANDDY ;||=>neu p3.1 = 0 thi nhay XADB_HANDDY
;=============================================
HIEN_THI1:
CALL MAHOA
MOV P0,CHUCA
CALL DELAY
MOV P0,DONVIA
CALL DELAY
MOV P0,CHUCB
CALL DELAY
MOV P0,DONVIB
CALL DELAY
RET
;================================================
HIEN_THI2:
CALL MAHOA
MOV P0,DONVIA
CALL DELAY
MOV P0,CHUCB
CALL DELAY
MOV P0,DONVIB
CALL DELAY
RET
;================================================
HIEN_THI3:
CALL MAHOA
MOV P0,CHUCA
CALL DELAY
MOV P0,DONVIA
CALL DELAY
MOV P0,DONVIB
CALL DELAY
RET
;================================================
HIEN_THI4:
CALL MAHOA
MOV P0,DONVIA
CALL DELAY
MOV P0,DONVIB
CALL DELAY
RET
;================================================
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 16
MAHOA:
MOV A,TGA
MOV B,#10
DIV AB
ADD A,#10110000B
MOV CHUCA,A
MOV A,B
ADD A,#01110000B
MOV DONVIA,A
MOV A,TGB
MOV B,#10
DIV AB
ADD A,#11100000B
MOV CHUCB,A
MOV A,B
ADD A,#11010000B
MOV DONVIB,A
RET
;================================================
DELAY1S_1:
MOV R0,#40
LAPDELAY1S_1:
CALL HIEN_THI1
CALL DELAY50MS
DJNZ R0,LAPDELAY1S_1
RET
;===============================================
DELAY1S_2:
MOV R0,#40
LAPDELAY1S_2:
CALL HIEN_THI2
CALL DELAY50MS
DJNZ R0,LAPDELAY1S_2
RET
;===============================================
DELAY1S_3:
MOV R0,#40
LAPDELAY1S_3:
CALL HIEN_THI3
CALL DELAY50MS
DJNZ R0,LAPDELAY1S_3
RET
;===============================================
DELAY1S_4:
MOV R0,#40
LAPDELAY1S_4:
CALL HIEN_THI4
CALL DELAY50MS
DJNZ R0,LAPDELAY1S_4
RET
;===============================================
DELAY50MS:
MOV TH0,#HIGH(-25000)
MOV TL0,#LOW(-25000)
SETB TR0
JNB TF0,$
CLR TR0
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 17
CLR TF0
RET
;=======================================
DELAY:
LOOP1:
MOV R1,#10
LOOP2:
MOV R2,#200
DJNZ R2,$
DJNZ R1,LOOP2
RET
;===================================================
END
;******************************************************
CHƯƠNG TRÌNH HOÀN HIỆN HƠN 2:
;chuong trinh den giao thong 2 che do co hien thi thoi gian ra led 7 doan
;Nguoi viet :VUONG VAN HUNG
;Ngay viet :20/06/2008
;===================================================
TGA DATA 7CH
CHUCA DATA 2EH
DONVIA DATA 7DH
TGB DATA 7EH
DONVIB DATA 7FH
CHUCB DATA 2FH
DOA BIT P1.0
VANGA BIT P1.1
XANHA BIT P1.2
DOB BIT P1.3
VANGB BIT P1.4
XANHB BIT P1.5
;===================================================
ORG 0000H
INIT:
MOV TMOD,#01H
MOV P1,#00H
;===================================================
;Chuong trinh chinh
MAIN:
;****************************************************
; Do A va Xanh b sang
;***************************************************
DAXB_AUTO:
CLR DOB
CLR VANGA
MOV TGA,#20
MOV TGB,#17
MOV R6,#8
SETB DOA
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 18
SETB XANHB
;==============================
LAPXB:
CALL DELAY1S_1
DEC TGA
DEC TGB
JNB P3.0,DAXB_HANDDY
DJNZ R6,LAPXB
MOV R6,#3
LAPXB1:
JNB P3.0,DAXB_HANDDY
CALL DELAY1S_3
DEC TGA
DEC TGB
DJNZ R6,LAPXB1
LAPXB2:
JNB P3.0,DAXB_HANDDY
CALL DELAY1S_4
DEC TGA
DJNZ TGB,LAPXB2
;=================================================
; Do A va vang B sang
;************************************************
DAVB_AUTO:
CLR XANHB
SETB VANGB
MOV TGB,#3
;=====================================
LAPVB:
JNB P3.0,XADB_HANDDY ; neu p3.0 =1 thi chay Auto
CALL DELAY1S_4 ; con p3.0 =0 thi chay Handdy
DEC TGA
DJNZ TGB,LAPVB
CALL DELAY1S_4
;=============================================
; Xanh A va Do B sang
;*************************************************
XADB_AUTO:
CLR DOA
CLR VANGB
SETB XANHA
SETB DOB
MOV TGA,#25
MOV TGB,#30
MOV R6,#16 ; thay doi khi TGB va TGA thay doi R6 = TGA - 9
;==============================
LAPXA:
JNB P3.0,XADB_HANDDY ;|| neu p3.0 =0 thi chay Handdy
CALL DELAY1S_1 ; || con p3.0 =1 thi chay AuTo
DEC TGB
DEC TGA
DJNZ R6,LAPXA
MOV R6,#5 ; thay doi khi TGB va TGA thay doi R6 = TGB - TGA
LAPXA1:
JNB P3.0,DAXB_HANDDY
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 19
CALL DELAY1S_2
DEC TGA
DEC TGB
DJNZ R6,LAPXA1
LAPXA2:
JNB P3.0,DAXB_HANDDY
CALL DELAY1S_4
DEC TGB
DJNZ TGA,LAPXA2
;======================================
;Vang A va Do B sang
;*************************************************
VADB_AUTO:
CLR XANHA
SETB VANGA
MOV TGA,#5
;=============================
LAPVA:
JNB P3.0,DAXB_HANDDY ;|| neu p3.0 = 1 thi chay Auto
CALL DELAY1S_4 ; || con p3.0 = 0 thi chay Handdy
DEC TGB
DJNZ TGA,LAPVA
CALL DELAY1S_4
TIEP:
LJMP MAIN
;************************************************************
;CHE DO HANDDY
;==================================
DAXB_HANDDY:
MOV P0,#0FFH ; Khong cho hien thoi gian
SETB DOA ;Do A sang
SETB XANHB ; Xanh B sang
CLR DOB ;Tat Do B
CLR VANGA ;Tat Vang A
CLR XANHA ;Tat Xanh A
JB P3.0,TIEP ;|=> neu p3.0 = 0 thi Chay Handdy
JB P3.1,DAXB_HANDDY ;|=>neu p3.0 = 1 thi chay AUTO
;|==>neu p3.1 = 1 thi nhay DAXB_HANDDY
;|==> neu p3.1 = 0 thi nhay XADB_HANDDY
;====================================================================
XADB_HANDDY:
MOV P0,#0FFH
SETB XANHA ;XANH A SANG
SETB DOB ; DO B SANG
CLR VANGB ; TAT VANG B
CLR DOA ; DO A TAT
CLR XANHB ; XANH B TAT
JB P3.0,XADB_AUTO ; neu p3.0 = 1 thi chay AUTO
JNB P3.1,XADB_HANDDY ; neu p3.0 = 0 thi Chay Handdy
JMP DAXB_HANDDY ;neu p3.1 = 1 thi nhay DAXB_HANDDY
; neu p3.1 = 0 thi nhay XADB_HANDDY
;=============================================
HIEN_THI1:
CALL MAHOA
MOV P0,CHUCA
CALL DELAY
MOV P0,DONVIA
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 20
CALL DELAY
MOV P0,CHUCB
CALL DELAY
MOV P0,DONVIB
CALL DELAY
RET
;================================================
HIEN_THI2:
CALL MAHOA
MOV P0,DONVIA
CALL DELAY
MOV P0,CHUCB
CALL DELAY
MOV P0,DONVIB
CALL DELAY
RET
;================================================
HIEN_THI3:
CALL MAHOA
MOV P0,CHUCA
CALL DELAY
MOV P0,DONVIA
CALL DELAY
MOV P0,DONVIB
CALL DELAY
RET
;================================================
HIEN_THI4:
CALL MAHOA
MOV P0,DONVIA
CALL DELAY
MOV P0,DONVIB
CALL DELAY
RET
;================================================
MAHOA:
MOV A,TGA
MOV B,#10
DIV AB
ADD A,#10110000B
MOV CHUCA,A
MOV A,B
ADD A,#01110000B
MOV DONVIA,A
MOV A,TGB
MOV B,#10
DIV AB
ADD A,#11100000B
MOV CHUCB,A
MOV A,B
ADD A,#11010000B
MOV DONVIB,A
RET
;================================================
DELAY1S_1:
MOV R0,#40
LAPDELAY1S_1:
CALL HIEN_THI1
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 21
CALL DELAY50MS
DJNZ R0,LAPDELAY1S_1
RET
;===============================================
DELAY1S_2:
MOV R0,#40
LAPDELAY1S_2:
CALL HIEN_THI2
CALL DELAY50MS
DJNZ R0,LAPDELAY1S_2
RET
;===============================================
DELAY1S_3:
MOV R0,#40
LAPDELAY1S_3:
CALL HIEN_THI3
CALL DELAY50MS
DJNZ R0,LAPDELAY1S_3
RET
;===============================================
DELAY1S_4:
MOV R0,#40
LAPDELAY1S_4:
CALL HIEN_THI4
CALL DELAY50MS
DJNZ R0,LAPDELAY1S_4
RET
;===============================================
DELAY50MS:
MOV TH0,#HIGH(-25000)
MOV TL0,#LOW(-25000)
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
RET
;=======================================
DELAY:
LOOP1:
MOV R1,#10
LOOP2:
MOV R2,#200
DJNZ R2,$
DJNZ R1,LOOP2
RET
;===================================================
END
;***********************************************************
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 22
AD0
AD1
AD2
AD3
QA1
QB1
QC1
QD1
QE1
QF1
QG1
QA2
QB2
QC2
QD2
QE2
QF2
QG2
QA3
QB3
QC3
QD3
QE3
QF3
QG3
QA4
QB4
QC4
QD4
QE4
QF4
QG4
AD3
AD2
AD1
AD0
AD0
AD1
AD2
AD3
AD0
AD1
AD2
AD3
AD0
AD1
AD2
AD3
QG1
QA1
QB1
QC1
QD1
QE1
QF1
QA2
QB2
QC2
QD2
QE2
QF2
QG2
QG3
QA4
QB4
QC4
QD4
QE4
QG4
QF4
QA3
QB3
QC3
QD3
QE3
QF3
AD6
AD7
AD5
AD4
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7 AD7
AD6
AD5
AD4
XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27
P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
U1
80C51
R0
10k
C1
1u
VCC
X1
12MHz
C2
27p
C3
27p
VCC
TUYEN DUONG A
A
7
B
1
C
2
D
6
LT
3
BI
4
LE/STB
5
QA
13
QB
12
QC
11
QD
10
QE
9
QF
15
QG
14
U2
4511
VCC
VCC
VCC
2
3
4
5
6
7
8
9
1
DRT2
10K
Q6
2N2369
Q1
2N2369
Q2
2N2369
Q3
2N2369
Q4
2N2369
Q5
2N2369
TUYEN DUONG B
CHUC A DON VI A
CHUC B DON VI B
R9
4k7
R10
4k7
R11
4k7
R12
4k7
R13
4k7
R14
4k7
A
7
B
1
C
2
D
6
LT
3
BI
4
LE/STB
5
QA
13
QB
12
QC
11
QD
10
QE
9
QF
15
QG
14
U3
4511
A
7
B
1
C
2
D
6
LT
3
BI
4
LE/STB
5
QA
13
QB
12
QC
11
QD
10
QE
9
QF
15
QG
14
U4
4511
A
7
B
1
C
2
D
6
LT
3
BI
4
LE/STB
5
QA
13
QB
12
QC
11
QD
10
QE
9
QF
15
QG
14
U5
4511
2
3
4
5
6
7
8
9
1
RP1
10K
BÀI 1: CHƯƠNG TRÌNH ĐÈN GIAO THÔNG
PHẦN 1: CHƯƠNG TRÌNH ĐÈN GIAO THÔNG TỰ ĐỘNG CÓ HIỂN THỊ THỜI GIAN
BẰNG LED 7 ĐOẠN :
;Nguoi viet :VUONG VAN HUNG
;Ngay viet :20/06/2008
;===================================================
TGA DATA 7CH
CHUCA DATA 2EH
DONVIA DATA 7DH
TGB DATA 7EH
DONVIB DATA 7FH
CHUCB DATA 2FH
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 23
;===================================================
;Chuong trinh chinh
ORG 0000H
INIT:
MOV TMOD,#01H
MOV P1,#0H
MAIN:
MOV TGA,#30
MOV TGB,#25
SETB P1.0
SETB P1.5
;===============================
;Thoi gian cua Do A va Xanh B
LAPXB:
CALL DELAY1S
DEC TGA
DJNZ TGB,LAPXB
CLR P1.5
SETB P1.4
MOV TGB,#5
;==============================
;Thoi gian cua Do A va Vang B
LAPVB:
CALL DELAY1S
DEC TGA
DJNZ TGB,LAPVB
CLR P1.0
CLR P1.4
SETB P1.2
SETB P1.3
MOV TGA,#25
MOV TGB,#30
;==============================
;Thoi gian cua Do B va Xanh A
LAPXA:
CALL DELAY1S
DEC TGB
DJNZ TGA,LAPXA
CLR P1.2
SETB P1.1
MOV TGA,#5
;==============================
;Thoi gian cua Do B va Vang A
LAPVA:
CALL DELAY1S
DEC TGB
DJNZ TGA,LAPVA
CLR P1.1
CLR P1.3
LJMP MAIN
;=================================================
HIENTHI:
CALL MAHOA
MOV P0,CHUCA
CALL DELAY
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 24
MOV P0,DONVIA
CALL DELAY
MOV P0,CHUCB
CALL DELAY
MOV P0,DONVIB
CALL DELAY
RET
;================================================
MAHOA:
MOV A,TGA
MOV B,#10
DIV AB
ADD A,#10110000B
MOV CHUCA,A
MOV A,B
ADD A,#01110000B
MOV DONVIA,A
MOV A,TGB
MOV B,#10
DIV AB
ADD A,#11100000B
MOV CHUCB,A
MOV A,B
ADD A,#11010000B
MOV DONVIB,A
RET
;================================================
DELAY1S:
MOV R0,#20
LAPDELAY1S:
CALL HIENTHI
CALL DELAY50MS
DJNZ R0,LAPDELAY1S
RET
;===============================================
DELAY50MS:
MOV TH0,#HIGH(-50000)
MOV TL0,#LOW(-50000)
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
RET
DELAY:
LOOP1:
MOV R1,#20
LOOP2:
MOV R2,#200
DJNZ R2,$
DJNZ R1,LOOP2
RET
;===================================================
END
;*********************************************************************
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 25
;DONG HO SO THE HIET PHUT VA GIAY
;Nguoi viet :VUONG VAN HUNG
;Ngay viet :20/06/2008
;===================================================
TGA DATA 7CH
CHUCA DATA 2EH
DONVIA DATA 7DH
TGB DATA 7EH
DONVIB DATA 7FH
CHUCB DATA 2FH
;===================================================
;Chuong trinh chinh
ORG 0000H
INIT:
MOV TMOD,#01H
MOV P1,#0H
MAIN:
MOV TGA,#30
MOV TGB,#25
SETB P1.0
SETB P1.5
;===============================
;Thoi gian cua Do A va Xanh B
LAPXB:
CALL DELAY1S
DEC TGA
DJNZ TGB,LAPXB
CLR P1.5
SETB P1.4
MOV TGB,#5
;==============================
;Thoi gian cua Do A va Vang B
LAPVB:
CALL DELAY1S
DEC TGA
DJNZ TGB,LAPVB
CLR P1.0
CLR P1.4
SETB P1.2
SETB P1.3
MOV TGA,#18
MOV TGB,#20
;==============================
;Thoi gian cua Do B va Xanh A
LAPXA:
CALL DELAY1S
DEC TGB
DJNZ TGA,LAPXA
CLR P1.2
SETB P1.1
MOV TGA,#2
;==============================
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 26
;Thoi gian cua Do B va Vang A
LAPVA:
CALL DELAY1S
DEC TGB
DJNZ TGA,LAPVA
CLR P1.1
CLR P1.3
LJMP MAIN
;=================================================
HIENTHI:
CALL MAHOA
MOV P0,CHUCA
CALL DELAY
MOV P0,DONVIA
CALL DELAY
MOV P0,CHUCB
CALL DELAY
MOV P0,DONVIB
CALL DELAY
RET
;================================================
MAHOA:
MOV A,TGA
MOV B,#10
DIV AB
ADD A,#10110000B
MOV CHUCA,A
MOV A,B
ADD A,#01110000B
MOV DONVIA,A
MOV A,TGB
MOV B,#10
DIV AB
ADD A,#11100000B
MOV CHUCB,A
MOV A,B
ADD A,#11010000B
MOV DONVIB,A
RET
;================================================
DELAY1S:
MOV R0,#50
LAPDELAY1S:
CALL HIENTHI
CALL DELAY40MS
DJNZ R0,LAPDELAY1S
RET
;===============================================
DELAY40MS:
MOV TH0,#HIGH(-20000)
MOV TL0,#LOW(-20000)
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
RET
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 27
;============================
DELAY:
LOOP1:
MOV R1,#10
LOOP2:
MOV R2,#200
DJNZ R2,$
DJNZ R1,LOOP2
RET
;===================================================
END
;***************************************************************
PHẦN 2: CHƯƠNG TRÌNH ĐÈN GIAO THÔNG CHẠY 2 CHẾ ĐỘ VÀ CÓ HIỂN THỊ THỜI GIAN
RA LED 7 ĐOẠN
;CHUONG TRINH DEN GIAO THONG 2 CHE DO CO HIEN THI THOI GIAN RA LED 7 DOAN
;Nguoi viet :VUONG VAN HUNG
;Ngay viet :20/06/2008
;===================================================
TGA DATA 7CH
CHUCA DATA 2EH
DONVIA DATA 7DH
TGB DATA 7EH
DONVIB DATA 7FH
CHUCB DATA 2FH
;===================================================
ORG 0000H
;=======================================
;Chuong trinh chinh
INIT:
MOV TMOD,#01H
MOV P1,#00H
MAIN:
;===================================
AUTO:
; Do A va Xanh b sang
DAXB_AUTO:
MOV P2,#1 ;xuat so 1 ra led 7 doan: dang chay che do tu dong
CLR P1.3
CLR P1.1
CLR P1.2
MOV TGA,#30
MOV TGB,#25
SETB P1.0
SETB P1.5
LAPXB:
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 28
JNB P3.0,DAXB_HANDDY ; neu p3.0 o muc thap (0) thi chay Auto
CALL DELAY1S ; con p3.0 o muc cao (1) thi chay Handdy
DEC TGA
DJNZ TGB,LAPXB
;======================================================================
; Do A va vang B sang
DAVB_AUTO:
CLR P1.5
SETB P1.4
MOV TGB,#5
LAPVB:
JNB P3.0,DAXB_HANDDY ; neu p3.0 o muc thap (0) thi chay Auto
CALL DELAY1S ; con p3.0 o muc cao (1) thi chay Handdy
DEC TGA
DJNZ TGB,LAPVB
;=======================================================================
; Xanh A va Do B sang
XADB_AUTO:
MOV P2,#1
CLR P1.0
CLR P1.4
SETB P1.2
SETB P1.3
MOV TGA,#25
MOV TGB,#30
LAPXA:
JNB P3.0,XADB_HANDDY ; neu p3.0 o muc thap (0) thi chay Auto
CALL DELAY1S ; con p3.0 o muc cao (1) thi chay Handdy
DEC TGB
DJNZ TGA,LAPXA
;======================================
;Vang A va Do B sang
VADB_AUTO:
CLR P1.2
SETB P1.1
MOV TGA,#5
LAPVA:
JNB P3.0,XADB_HANDDY ; neu p3.0 o muc thap (0) thi chay Auto
CALL DELAY1S ; con p3.0 o muc cao (1) thi chay Handdy
DEC TGB
DJNZ TGA,LAPVA
LJMP MAIN
;=================================================
HANDDY:
DAXB_HANDDY:
CLR TR0 ; Khong cho hien thoi gian
MOV P0,#00H ; Khong cho hien thoi gian
MOV P2,#0 ; xuat gia tri 0 ra led 7 doan: chay che do Handdy
SETB P1.0 ;Do A sang
SETB P1.5 ; Xanh B sang
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 29
CLR P1.3 ;Tat Do B
CLR P1.4 ;Tat Vang B
CLR P1.2 ; Tat Xanh A
JB P3.0,DAXB_AUTO ; neu p3.0 o muc thap (0) thi chay Auto
JB P3.1,DAXB_HANDDY ; Neu p3.1 muc 0 cho XADB_HANDDY sang
;Neu p3.1 muc 1 cho DAXB_HANDDY sang
;====================================================================
XADB_HANDDY:
CLR TR0
MOV P0,#00H
MOV P2,#0
SETB P1.2
SETB P1.3
CLR P1.1
CLR P1.0
CLR P1.5
JB P3.0,XADB_AUTO
JNB P3.1,XADB_HANDDY ; Neu p3.1 muc 0 cho XADB_HANDDY sang
JMP DAXB_HANDDY ;Neu p3.1 muc 1 cho DAXB_HANDDY sang
;=============================================
HIENTHI:
CALL MAHOA
MOV P0,CHUCA
CALL DELAY
MOV P0,DONVIA
CALL DELAY
MOV P0,CHUCB
CALL DELAY
MOV P0,DONVIB
CALL DELAY
RET
;================================================
MAHOA:
MOV A,TGA
MOV B,#10
DIV AB
ADD A,#10110000B
MOV CHUCA,A
MOV A,B
ADD A,#01110000B
MOV DONVIA,A
MOV A,TGB
MOV B,#10
DIV AB
ADD A,#11100000B
MOV CHUCB,A
MOV A,B
ADD A,#11010000B
MOV DONVIB,A
RET
;================================================
DELAY1S:
MOV R0,#20
LAPDELAY1S:
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 30
CALL HIENTHI
CALL DELAY50MS
DJNZ R0,LAPDELAY1S
RET
;===============================================
DELAY50MS:
MOV TH0,#HIGH(-50000)
MOV TL0,#LOW(-50000)
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
RET
DELAY:
LOOP1:
MOV R1,#20
LOOP2:
MOV R2,#200
DJNZ R2,$
DJNZ R1,LOOP2
RET
;===================================================
END
;**********************************************************************
BÀI 2: CHƯƠNG TRÌNH ĐỌC ENCODER
PHẦN 1: CHƯƠNG TRÌNH ĐỌC ENCODER VA XUAT XUNG ĐIỀU KHIỂN ĐÔNG CƠ
CÁCH 1:
;===================================================
;Khai bao bien / hang so / dau vao/ra
DEM DATA 7EH
;===================================================
;Khai bao ngat ngoai
;===================================================
ORG 0000H
LJMP INIT
ORG 001BH
LJMP NGATTTIMER1
;===================================================
;Chuong trinh chinh
INIT:
MOV IE,#88H ; NGAT COUNTER 1
MOV TMOD,#61H ;TIMER 1 HD CHE DO COUNTER1
MOV TH1,#(-20)
MOV TL1,#(-20)
SETB TR1
MOV DEM,#0
MOV P2,DEM
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 31
;==================================
MAIN:
CALL XUATXUNG
MOV A,DEM
CJNE A,#5,MAIN
MOV DEM,#0
SETB P1.7
SJMP $
;=======================================
XUATXUNG:
WAIT:
CLR P1.7
MOV TH0,#HIGH(-8000)
MOV TL0,#LOW(-8000)
SETB TR0
WAIT1:
JNB TF0,WAIT1
CLR TF0
CLR TF0
SETB P1.7
MOV TH0,#HIGH(-2000)
MOV TL0,#LOW(-2000)
SETB TR0
WAIT2:
JNB TF0,WAIT2
CLR TF0
CLR TR0
RET
;==================================
NGATTTIMER1:
INC DEM
MOV P2,DEM
RETI
;===================================================
END
;**********************************************************************
CÁCH 2:
;===================================================
ORG 0000H
LJMP MAIN
ORG 001BH
LJMP NGATTTIMER1
;===================================================
;Chuong trinh chinh
MAIN:
MOV IE,#88H
MOV TMOD,#51H
MOV TH1,#HIGH(-12800) ; encoder 128 xung/vong
MOV TL1,#LOW(-12800) ;tuong ung voi 100 vong quay cua Dong Co
SETB TR1
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 32
NHANSTART:
JB P3.7,$
WAIT:
CLR P1.7
MOV TH0,#HIGH(-8000)
MOV TL0,#LOW(-8000)
SETB TR0
WAIT1:
JNB TF0,WAIT1
CLR TF0
CLR TF0
SETB P1.7
MOV TH0,#HIGH(-2000)
MOV TL0,#LOW(-2000)
SETB TR0
WAIT2:
JNB TF0,WAIT2
CLR TF0
CLR TR0
SJMP WAIT
;====================================
NGATTTIMER1:
SETB P1.7
SJMP $
RETI
;===================================================
END
;**************************************************
CÁCH 3:
;Ngay viet :26/06/2008
;===================================================
;Khai bao bien / hang so / dau vao/ra
DEM DATA 7EH
;===================================================
;Khai bao ngat ngoai
;===================================================
ORG 0000H
LJMP INIT
ORG 001BH
INC DEM
RETI
;===================================================
;Chuong trinh chinh
INIT:
MOV IE,#88H
MOV TMOD,#61H
MOV TH1,#(-128)
MOV TL1,#(-128)
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 33
MOV DEM,#0
MOV P2,DEM
SETB TR1
; ============================
NHANSTART:
JB P3.7,$
; ==========================
MAIN:
CALL XUAT_XUNG
MOV P2,DEM
MOV A,DEM
CJNE A,#10,MAIN ; tuong ung voi dong co quay 10 vong
SETB P1.7
SJMP $
;===============================================
; Chuong trinh xuat xung 100hz co do rong 80% dieu khien dong co
XUAT_XUNG:
WAIT:
CLR P1.7
MOV TH0,#HIGH(-8000)
MOV TL0,#LOW(-8000)
SETB TR0
WAIT1:
JNB TF0,WAIT1
CLR TF0
CLR TF0
SETB P1.7
MOV TH0,#HIGH(-2000)
MOV TL0,#LOW(-2000)
SETB TR0
WAIT2:
JNB TF0,WAIT2
CLR TF0
CLR TR0
RET
;===================================================
END
;***********************************************************
CÁCH 4:
;CHUONG TRINH SU DUNG NGAT COUNTER
;===================================================
;Khai bao bien / hang so / dau vao/ra
;==================================================
DEM DATA 7EH
CHUC DATA 7AH
DONVI DATA 7BH
;===================================================
;Khai bao ngat ngoai
;===================================================
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 34
ORG 0000H
LJMP INIT
ORG 001BH
LJMP NGATCOUNTER1
;===================================================
;Chuong trinh chinh
;====================================================
ORG 0030H
INIT:
MOV IE,#88H ; NGAT COUNTER 1
MOV TMOD,#61H ;TIMER 1 HD CHE DO COUNTER1
MOV TH1,#(-5)
MOV TL1,#(-5)
SETB TR1
MOV DEM,#0
;==================================
MAIN:
CALL HIENTHI
MOV A,DEM
CJNE A,#100,MAIN
MOV DEM,#0
SJMP $
;=======================================
NGATCOUNTER1:
INC DEM
MOV P2,DEM
RETI
;=============================================
HIENTHI:
CALL MAHOA
MOV P0,CHUC
CALL DELAY
MOV P0,DONVI
CALL DELAY
RET
;================================================
MAHOA:
MOV A,DEM
MOV B,#10
DIV AB
ADD A,#10110000B
MOV CHUC,A
MOV A,B
ADD A,#01110000B
MOV DONVI,A
RET
;================================================
DELAY1S:
MOV R0,#20
LAPDELAY1S:
CALL DELAY50MS
DJNZ R0,LAPDELAY1S
RET
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 35
;===============================================
DELAY50MS:
MOV TH0,#HIGH(-50000)
MOV TL0,#LOW(-50000)
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
RET
;==================================================
DELAY:
MOV R1,#10
LOOP2:
MOV R2,#200
DJNZ R2,$
DJNZ R1,LOOP2
RET
;===================================================
END
;*******************************************************************
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 36
PHẦN 2: CHƯƠNG TRÌNH ĐỌC ENCODER CỦA ĐÔNG CƠ
;=============================================================
;Khai Bao Bien/Hang So/ Dau Vao Ra
DEM DATA 7EH
TRAM DATA 7FH
CHUC DATA 7AH
DONVI DATA 7BH
TOCDO DATA 7CH
;============================================================
ORG 0000H
LJMP INIT
;===========================================================
;KHAI BAO NGAT
ORG 0003H
LJMP NHANSTART
;===========================================================
;CHUONG TRINH CHINH
ORG 0030H
INIT:
SETB IT0 ;Ngat Canh Xuong
MOV TMOD,#01010001B ;Timer1 Dem 16bit, Timer0 Dinh Thoi 8bit Nap Lai
MOV TOCDO,TH1
MOV TH0,#(-200)
SETB TR0
CLR TF1
MOV IE,#10000001B
SETB IT0 ;Cho Phep Ngat Ngoai0 Va Ngat Tiemr0
SETB TR1 ; Cho Phep Doc Encoder
MOV P1,#0FFH
MOV DEM,#0
MAIN:
JB TF0,HIENTHILED
SJMP MAIN
;=============================================================
;Cac Chuong Trinh Con Va Phuc Vu Ngat
NHANSTART:
CLR P1.7
INC DEM
MOV P2,DEM
MOV A,DEM
CJNE A,#10,THOATNHANSTART
MOV A,#0
MOV DEM,A
SETB P1.7
CLR TF1
THOATNHANSTART:
RETI
;========================================================
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 37
HEXTOBCD:
MOV A,TOCDO
MOV B,#100
DIV AB
ADD A,#11010000B
MOV TRAM,A
MOV A,B
MOV B,#10
DIV AB
ADD A,#10110000B
MOV CHUC,A
MOV A,B
ADD A,#01110000B
MOV DONVI,A
RET
;==========================================================
HIENTHILED:
CLR TF0
MOV TOCDO,TH1
CALL HEXTOBCD
CALL XUATLED
SJMP MAIN
;==========================================================
XUATLED:
MOV P0,TRAM
CALL DELAY
MOV P0,CHUC
CALL DELAY
MOV P0,DONVI
CALL DELAY
RET
;=========================================================
DELAY:
LOOP1:
MOV R1,#10
LOOP2:
MOV R2,#100
DJNZ R2,$
DJNZ R1,LOOP2
RET
;===========================================================
END
;****************************************************************
PHẦN 3: CHƯƠNG TRÌNH ĐỌC ENCODER CỦA ĐÔNG CƠ VÀ XUẤT XUNG ĐIỀU KHIỂN
ĐỘNG CƠ :
;Doc encoder + xuat xung dieu khien dong co DC
;===================================================
;Khai bao bien / hang so / dau vao/ra
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 38
TOCDO DATA 7FH
TRAM DATA 7EH
CHUC DATA 7DH
DONVI DATA 7CH
DONGCO BIT P1.7
;===================================================
ORG 0000H
LJMP INIT
;===================================================
;Khai bao ngat
ORG 0003H
LJMP DEMTOCDO
ORG 000BH
LJMP XUATXUNG
ORG 0030H
;===================================================
;Chuong trinh chinh
INIT:
SETB IT0 ; NGAT CANH XUONG
MOV TMOD,#01010010B ; TIMER 1 DEM 16 BIT, TIMER 0 DINH THOI 8 BIT NAP LAI
MOV TH1,#0
MOV TL1,#0
MOV TH0,#5
MOV TL0,#5
CLR TF0
CLR TF1
MOV TOCDO,#0
MOV R0,#1
MOV R7,#40
JB P3.0,$ ; DOI DEN KHI NHAN NUT MOI BAT DAU CHAY
JNB P3.0,$
MOV IE,#10000011B ; CHO PHEP NGAT NGOAI 0 VA TIMER 0
SETB TR1 ; CHO PHEP DOC ENCODER
MAIN:
CALL KIEMTRATOCDO
CALL HEXTOBCD ;
CALL XUATLED
SJMP MAIN
;===================================================
KIEMTRATOCDO:
MOV P2,TOCDO
MOV A,TOCDO
CJNE A,#0,TIEP
CLR TR0 ; NGUNG DONG CO
SETB DONGCO
SJMP THOATKIEMTRA
TIEP:
SETB TR0 ; CHO XUAT XUNG
THOATKIEMTRA:
RET
;===================================================
HEXTOBCD:
MOV A,TH1
MOV B,#100
DIV AB
ADD A,#11010000B
MOV TRAM,A
MOV A,B
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 39
MOV B,#10
DIV AB
ADD A,#10110000B
MOV CHUC,A
MOV A,B
ADD A,#01110000B
MOV DONVI,A
RET
;===================================================
XUATLED:
MOV P0,TRAM
CALL DELAY10MS
MOV P0,CHUC
CALL DELAY10MS
MOV P0,DONVI
CALL DELAY10MS
RET
;===================================================
DELAY:
LOOP1:
MOV R1,#20
LOOP2:
MOV R2,#200
DJNZ R2,$
DJNZ R1,LOOP2
RET
DELAY10MS:
DELAY1:
MOV R1,#10
DELAY2:
MOV R2,#50
DJNZ R2,$
DJNZ R1,DELAY2
RET
;===================================================
DEMTOCDO:
INC TOCDO
MOV A,TOCDO
CJNE A,#10,THOATNGATNGOAI
MOV TOCDO,#0
THOATNGATNGOAI:
RETI
;===================================================
XUATXUNG:
DJNZ R7,THOAT
MOV R7,#40
JB DONGCO,DANGLEN ; BIT DONGCO DANG O MUC 1 : TAT
DJNZ R0,THOAT
SETB DONGCO
MOV A,#10
CLR C
SUBB A,TOCDO
MOV R0,A
SJMP THOAT
DANGLEN:
DJNZ R0,THOAT
CLR DONGCO
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 40
MOV R0,TOCDO
THOAT:
RETI
;===================================================
END
;*************************************************************************
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 41
A8
A9
A10
A11
A12
A13
A14
A15
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
AD7
AD6
AD5
AD4
AD3
AD2
AD1
AD0
B7
B6
B5
B4
B3
B2
B1
A15
A14
A13
A12
A11
A10
A9
A8
B0
B0
B1
B2
B3
B4
B5
B6
B7
XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27
P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
U1
80C51
R0
10k
C1
1u
VCC
RES
RES
X1
11.059MHz
C2
27p
C3
27p
VCC
VCC
D7
14
D6
13
D5
12
D4
11
D3
10
D2
9
D1
8
D0
7
E
6
RW
5
RS
4
VSS
1
VDD
2
VEE
3
LCD1
LM016L
123
6 5 4
89
=
7
++ C
ON
0
A
B
C
D
1
2
4
3
BÀI 3: CHƯƠNG TRÌNH HIỂN THỊ LED MA TRẬN
PHẦN 1 : CHƯƠNG TRÌNH XUẤT CHỮ A RA LED MA TRẬN :
; HIEN THI LED MATRAN
;===================================================
;Khai bao bien / hang so / dau vao/ra
DEM DATA 7EH
QUAY DATA 7BH
;===================================================
;Khai bao ngat ngoai o
ORG 0000H
JMP MAIN
;===================================================
MAIN:
MOV DPTR,#MAA
MOV DEM,#8
MOV QUAY,#0FEH
LAP:
MOV P1,QUAY
MOV A,DEM
DEC A
MOVC A,@A+DPTR
MOV P2,A
MOV A,QUAY
RL A
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 42
MOV QUAY,A
CALL DELAY
DJNZ DEM,LAP
JMP MAIN
DELAY:
MOV R0,#10
LOOP: MOV R1,#100
DJNZ R1,$
DJNZ R0,LOOP
RET
ORG 4000H
MAA: DB 20H,50H,88H,88H,0F8H,88H,88H,88H
MAH: DB 88H,88H,88H,0F8H,88H,88H,88H,88H
END
;********************************************************************************
PHẦN 2 : CHƯƠNG TRÌNH QUÉT BÀN PHÍM MA TRẬN VÀ HIỂN THỊ RA LED MAT TRẬN
;===================================================
;Khai bao bien / hang so / dau vao/ra
DEM DATA 7EH
QUAY DATA 7BH
MAPHIM DATA 7AH
;===================================================
;Khai bao ngat ngoai o
ORG 0000H
;===================================================
INIT:
MOV DPTR,#XOA
MAIN:
CALL QUET_PHIM
CALL XET_PHIM
CALL XUAT_LED_MATRAN
CALL DELAY
JMP MAIN
;===================================
QUET_PHIM:
MOV DEM,#4
MOV QUAY,#11111110B
LAP_QUET_PHIM:
MOV P3,QUAY
MOV A,P3
ANL A,#0F0H
CJNE A,#0F0H,COPHIM
MOV A,QUAY
RL A
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 43
MOV QUAY,A
DJNZ DEM,LAP_QUET_PHIM
MOV MAPHIM,#0
SJMP THOAT_QUET_PHIM
COPHIM:
MOV MAPHIM,P3
THOAT_QUET_PHIM:
RET
;=================================
XUAT_LED_MATRAN:
MOV DEM,#8
MOV QUAY,#0FEH
LAP:
MOV P1,QUAY
MOV A,DEM
DEC A
MOVC A,@A+DPTR
MOV P2,A
MOV A,QUAY
RL A
MOV QUAY,A
CALL DELAY
DJNZ DEM,LAP
RET
;======================================
XET_PHIM:
MOV A,MAPHIM
CJNE A,#0,XETPHIM_0
LJMP THOAT_XET_PHIM
XETPHIM_0:
CJNE A,#01111110B,XETPHIM_1
MOV DPTR,#MACHIA
LJMP THOAT_XET_PHIM
XETPHIM_1:
CJNE A,#01111101B,XETPHIM_2
MOV DPTR,#MANHAN
LJMP THOAT_XET_PHIM
XETPHIM_2:
CJNE A,#01111011B,XETPHIM_3
MOV DPTR,#MATRU
LJMP THOAT_XET_PHIM
XETPHIM_3:
CJNE A,#01110111B,XETPHIM_4
MOV DPTR,#MACONG
LJMP THOAT_XET_PHIM
XETPHIM_4:
CJNE A,#10111110B,XETPHIM_5
MOV DPTR,#SOCHIN
LJMP THOAT_XET_PHIM
XETPHIM_5:
CJNE A,#10111101B,XETPHIM_6
MOV DPTR,#SOSAU
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 44
LJMP THOAT_XET_PHIM
XETPHIM_6:
CJNE A,#10111011B,XETPHIM_7
MOV DPTR,#SOBA
LJMP THOAT_XET_PHIM
XETPHIM_7:
CJNE A,#10110111B,XETPHIM_8
MOV DPTR,#MABANG
LJMP THOAT_XET_PHIM
XETPHIM_8:
CJNE A,#11011110B,XETPHIM_9
MOV DPTR,#SOTAM
LJMP THOAT_XET_PHIM
XETPHIM_9:
CJNE A,#11011101B,XETPHIM_10
MOV DPTR,#SONAM
LJMP THOAT_XET_PHIM
XETPHIM_10:
CJNE A,#11011011B,XETPHIM_11
MOV DPTR,#SOHAI
LJMP THOAT_XET_PHIM
XETPHIM_11:
CJNE A,#11010111B,XETPHIM_12
MOV DPTR,#SOKHONG
LJMP THOAT_XET_PHIM
XETPHIM_12:
CJNE A,#11101110B,XETPHIM_13
MOV DPTR,#SOBAY
LJMP THOAT_XET_PHIM
XETPHIM_13:
CJNE A,#11101101B,XETPHIM_14
MOV DPTR,#SOBON
LJMP THOAT_XET_PHIM
XETPHIM_14:
CJNE A,#11101011B,XETPHIM_15
MOV DPTR,#SOMOT
LJMP THOAT_XET_PHIM
XETPHIM_15:
CJNE A,#11100111B,XETPHIM_16
MOV DPTR,#XOA
LJMP THOAT_XET_PHIM
XETPHIM_16:
NOP
THOAT_XET_PHIM:
RET
;==========================================
DELAY:
MOV R0,#10
LOOP: MOV R1,#100
DJNZ R1,$
DJNZ R0,LOOP
RET
;===========================================
;NHAN CUA CAC PHIM MA TRAN
ORG 4000H
MANHAN : DB 0C3H ,0E7H,7EH,3CH,3CH,7EH,0E7H,0C3H
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 45
MACHIA : DB 18H,18H,00H,0FFH,0FFH,00H,18H,18H
MACONG: DB 18H,18H,18H,0FFH,0FFH,18H,18H,18H
MATRU : DB 00H,00H,00H,0FFH,0FFH,00H,00H,00H
SOKHONG: DB 70H,88H,88H,88H,88H,88H,88H,70H
SOMOT: DB 60H,0E0H,60H,60H,60H,60H,60H,60H
SOHAI: DB 70H,88H,08H,08H,10H,20H,40H,0F8H
SOBA: DB 0F8H,08H,10H,20H,70H,08H,08H,0F0H
SOBON: DB 88H,88H,88H,0F8H,08H,08H,08H,08H
SONAM: DB 0F8H,80H,80H,0F8H,08H,08H,08H,0F8H
SOSAU: DB 70H,88H,80H,0F0H,88H,88H,88H,70H
SOBAY: DB 078H,88H,08H,08H,08H,08H,08H,08H
SOTAM: DB 70H,88H,88H,70H,88H,88H,88H,70H
SOCHIN: DB 0F8H,88H,88H,0F8H,08H,08H,08H,0F8H
MABANG: DB 0FFH,0FFH,0H,0H,0H,0H,0FFH,0FFH
XOA : DB 0H,0H,0H,0H,0H,0H,0H,0H
TEST : DB 1H,2H,3H,4H,5H,6H,7H,8H
MAA: DB 20H,50H,88H,88H,0F8H,88H,88H,88H
;===================================================
END
;*****************************************************
A15
A14
A13
A12
A11
A10
A9
A8
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
AD4
AD5
AD6
AD7
A8
A9
A10
A11
AD7
AD6
AD5
AD4
AD3
AD2
AD1
AD0
AD3
AD2
AD1
AD0
XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27
P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
U1
80C51
R0
10k
C1
1u
VCC
X1
11.059MHz
C2
27p
C3
27p
VCC
A
7
B
1
C
2
D
6
LT
3
BI
4
LE/STB
5
QA
13
QB
12
QC
11
QD
10
QE
9
QF
15
QG
14
U2
4511
VCC
+88.8
DC2
Q1
2N2905
VCC
VCC
A
7
B
1
C
2
D
6
LT
3
BI
4
LE/STB
5
QA
13
QB
12
QC
11
QD
10
QE
9
QF
15
QG
14
U21
4511
2
3
4
5
6
7
8
9
1
DRT1
10K
VCC
2
3
4
5
6
7
8
9
1
DRT2
10K
+88.8
DC1
Q2
2N2905
VCC
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 46
BÀI 4: CHƯƠNG TRÌNH BĂNG CHUYỀN :
PHẦN 1 : CHƯƠNG TRÌNH BĂNG CHYỀN SẢN PHẨM :
CÁCH 1:
;Ngay viet :09/06/2008
;===================================================
;Khai bao bien / hang so / dau vao/ra
DEM DATA 7AH
;===================================================
ORG 0000H
LJMP INIT
ORG 0003H
LJMP TACDONGCAMBIEN
;===================================================
;Khai bao ngat
;===================================================
;Chuong trinh chinh
INIT:
MOV IE,#81H
SETB IT0
MOV DEM,#0
MOV P2,DEM
SETB P1.6
SETB P1.7
MAIN:
JNB P3.0,MUCTHAP
CLR P1.7
SJMP MAIN
MUCTHAP:
JB P3.1,THUNGNHO
THUNGLON:
CLR P1.6
SETB P1.7
MOV A,DEM
CJNE A,#10,THUNGLON
MOV DEM,#0
MOV P2,DEM
CLR P1.7
SETB P1.6
JMP MAIN
THUNGNHO:
CLR P1.6
SETB P1.7
MOV A,DEM
CJNE A,#5,THUNGNHO
MOV DEM,#0
MOV P2,DEM
CLR P1.7
SETB P1.6
JMP MAIN
TACDONGCAMBIEN:
INC DEM
MOV P2,DEM
MOV A,DEM
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 47
RETI
;===================================================
END
;***********************************************************
CÁCH 2:
;Ngay viet :23/06/2008
;===================================================
;Khai bao bien / hang so / dau vao/ra
DEM DATA 7AH
;===================================================
ORG 0000H
LJMP INIT
ORG 0003H
LJMP TACDONGCAMBIEN
;===================================================
ORG 0030H
;Chuong trinh chinh
INIT:
MOV IE,#81H
SETB IT0
MOV DEM,#0
MOV P2,DEM
;=============================
MAIN:
NHANSTART:
JB P3.4,NHANSTART
NHANSTOP:
JNB P3.5,EXIT
JNB P3.0, MUCTHAP ; khi co thung chua sp cam bien tich cuc muc thap.
CLR P1.7 ; cho bang tai mang thung chua san pham hoat dong.
SJMP NHANSTOP
MUCTHAP:
JB P3.1,THUNGNHO
;==============================
THUNGLON:
CLR P1.6
SETB P1.7
MOV A,DEM
CJNE A,#10,NHANSTOP
MOV DEM,#0
MOV P2,DEM
SETB P1.6
CLR P1.7
SJMP NHANSTOP
;=====================================
THUNGNHO:
CLR P1.6
SETB P1.7
MOV A,DEM
CJNE A,#5,NHANSTOP
MOV DEM,#0
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 48
MOV P2,DEM
SETB P1.6
CLR P1.7
JMP NHANSTOP
;===========================================
TACDONGCAMBIEN:
INC DEM
MOV P2,DEM
MOV A,DEM
RETI
EXIT:
SETB P1.6
SETB P1.7
;===================================================
END
;********************************************************
CÁCH 3:
;===================================================
;Khai bao bien / hang so / dau vao/ra
DEM DATA 7AH
;===================================================
ORG 0000H
LJMP INIT
ORG 0003H
LJMP TACDONGCAMBIEN
;===================================================
;Khai bao ngat
;===================================================
;Chuong trinh chinh
INIT:
MOV IE,#81H
SETB IT0
MOV DEM,#0
MOV P2,DEM
;============================================
NHANSTART:
JB P3.4,NHANSTART
MAIN:
NHANSTOP:
JNB P3.5,EXIT
JB P3.0, MAIN
MUCTHAP:
JB P3.1,THUNGNHO
;======================================
THUNGLON:
CLR P1.6
SETB P1.7
MOV A,DEM
CJNE A,#9,MAIN
MOV DEM,#0
MOV P2,DEM
SETB P1.6
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 49
CLR P1.7
JMP MAIN
;=====================================
THUNGNHO:
CLR P1.6
SETB P1.7
MOV A,DEM
CJNE A,#5,MAIN
MOV DEM,#0
MOV P2,DEM
SETB P1.6
CLR P1.7
JMP MAIN
;===================================
TACDONGCAMBIEN:
INC DEM
MOV P2,DEM
MOV A,DEM
RETI
EXIT:
SETB P1.6
SETB P1.7
;===================================================
END
;********************************************************
BÀI 5: CHƯƠNG TRÌNH HIỂN THỊ LED 7 ĐOẠN
PHẦN 1 : CHƯƠNG TRÌNH HIỆN THỊ LED 7 ĐOẠN VỚI SỐ : 250 GIẢM VỀ 0 :
; CHUONG TRINH XUET LED HANG TRAM
;===================================================
TRAM DATA 2AH
CHUC DATA 2BH
DONVI DATA 2CH
DEM DATA 2DH
;===================================================
;Chuong trinh chinh
ORG 0000H
MAIN:
MOV TMOD,#21H
MOV TH0,#HIGH(-1000)
MOV TL0,#LOW(-1000)
MOV TH1,#HIGH(-100)
SETB TR1
SETB TR0
MOV DEM,#250
LAP:
MOV R7,#10
WAIT: JB TF0,TANSO1
JB TF1,TANSO2
SJMP WAIT
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 50
TANSO1:
CLR TR0
CLR TF0
MOV TH0,#HIGH(-1000)
MOV TL0,#LOW(-1000)
SETB TR0
DJNZ R7,WAIT
DJNZ DEM,LAP
CLR TR0
CLR TF0
SJMP WAIT
TANSO2:
CLR TF1
CALL HEXTOBCD
CALL XUATLED
SJMP WAIT
HEXTOBCD:
MOV A,DEM
MOV B,#100
DIV AB
ADD A,#11010000B
MOV TRAM,A
MOV A,B
MOV B,#10
DIV AB
ADD A,#10110000B
MOV CHUC,A
MOV A,B
ADD A,#01110000B
MOV DONVI,A
RET
;==========================================================
XUATLED:
MOV P0,TRAM
CALL DELAY
MOV P0,CHUC
CALL DELAY
MOV P0,DONVI
CALL DELAY
DELAY:
MOV R1,#100
LOOP:
MOV R2,#250
DJNZ R2,$
DJNZ R1,LOOP
RET
END
;***********************************************************
CACH 2:
; CHUONG TRINH XUET LED HANG TRAM
;===================================================
TRAM DATA 2AH
CHUC DATA 2BH
DONVI DATA 2CH
DEM DATA 2DH
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 51
;===================================================
;khai bao ngat
ORG 0000H
LJMP INIT
ORG 000BH
DJNZ R0,THOATNGAT
DEC DEM
MOV R0,#20
MOV A,DEM
THOATNGAT:
RETI
;==================================================
ORG 0030H
;Chuong trinh chinh
INIT: MOV IE,#82H
MOV TMOD,#01H
MOV DEM,#250
MOV TH0,#HIGH(-50000)
MOV TL0,#LOW(-50000)
SETB TR0
MOV R0,#20
MAIN:
CALL HEXTOBCD
CALL XUATLED
CJNE A,#0,MAIN
SJMP $
;=====================================
HEXTOBCD:
MOV A,DEM
MOV B,#100
DIV AB
ADD A,#11010000B
MOV TRAM,A
MOV A,B
MOV B,#10
DIV AB
ADD A,#10110000B
MOV CHUC,A
MOV A,B
ADD A,#01110000B
MOV DONVI,A
RET
;==========================================================
XUATLED:
MOV P0,TRAM
CALL DELAY
MOV P0,CHUC
CALL DELAY
MOV P0,DONVI
CALL DELAY
;============================
DELAY:
MOV R1,#100
LOOP:
MOV R2,#200
DJNZ R2,$
DJNZ R1,LOOP
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 52
RET
;======================================
END
;***********************************************************************************
PHẦN 2 : CHƯƠNG TRÌNH HIỆN THỊ LED 7 ĐOẠN VỚI SỐ ĐỒNG HỒ SỐ :
;Ngay viet :20/06/2008
;===================================================
GIAY DATA 7CH
DONVIPHUT DATA 7DH
PHUT DATA 7EH
DONVIGIAY DATA 7FH
CHUCPHUT DATA 2EH
CHUCGIAY DATA 2FH
;===================================================
;Chuong trinh chinh
ORG 0000H
INIT:
MOV TMOD,#01H
MOV GIAY,#0
MOV PHUT,#0
;======================================================
MAIN:
CALL DELAY1S
INC GIAY
MOV A,GIAY
CJNE A,#60,MAIN
MOV GIAY,#0
INC PHUT
MOV A,PHUT
CJNE A,#60,MAIN
MOV PHUT,#0
SJMP MAIN
;=================================================
HIENTHI:
CALL MAHOA
MOV P0,CHUCGIAY
CALL DELAY
MOV P0,DONVIGIAY
CALL DELAY
MOV P0,CHUCPHUT
CALL DELAY
MOV P0,DONVIPHUT
CALL DELAY
RET
;================================================
MAHOA:
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 53
MOV A,GIAY
MOV B,#10
DIV AB
ADD A,#10110000B
MOV CHUCGIAY,A
MOV A,B
ADD A,#01110000B
MOV DONVIGIAY,A
MOV A,PHUT
MOV B,#10
DIV AB
ADD A,#11100000B
MOV CHUCPHUT,A
MOV A,B
ADD A,#11010000B
MOV DONVIPHUT,A
RET
;================================================
DELAY1S:
MOV R0,#20
LAPDELAY1S:
CALL HIENTHI
CALL DELAY50MS
DJNZ R0,LAPDELAY1S
RET
;===============================================
DELAY50MS:
MOV TH0,#HIGH(-50000)
MOV TL0,#LOW(-50000)
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
RET
DELAY:
LOOP1:
MOV R1,#10
LOOP2:
MOV R2,#50
DJNZ R2,$
DJNZ R1,LOOP2
RET
;===================================================
END
;***************************************************************
BÀI 6: CHƯƠNG TRÌNH HIỂN THỊ LED 7 ĐOẠN
PHẦN 2 : CHƯƠNG TRÌNH MỖI KHI CÓ NGẮT NGOÀI THÌ TĂNG BIẾN ĐẾM HIỂN THỊ RA
LED 7 ĐOẠN GIÁ TRỊ TỪ 0 ĐẾN 9 . ĐỒNG THỜI XUẤT XUNG CÓ TẦN SỐ 100HZ VÀ CÓ ĐỘ
RỘNG ĐẾM /10 :
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 54
;==============================================
;Khai bao bien / hang so / dau vao/ra
DEM DATA 7EH
;===================================================
ORG 0000H
LJMP INIT
;===================================================
;Khai bao ngat ngoai o
ORG 0003H
LJMP NGATNGOAI0
;===================================================
;Chuong trinh chinh
INIT:
MOV DEM,#0
SETB EA
SETB EX0
SETB IT0
MOV A,DEM
;==================================================
MAIN:
BANG0:
CJNE A,#0,KHAC0
MOV P2,#01111110B
JMP MAIN
KHAC0:
CJNE A,#1,KHAC1
MOV P2,#00110000B
SETB P1.7
CALL DELAY10MS
CLR P1.7
CALL DELAY20MS
CALL DELAY20MS
CALL DELAY50MS
LJMP MAIN
KHAC1:
CJNE A,#2,KHAC2
MOV P2,#01101101B
SETB P1.7
CALL DELAY20MS
CLR P1.7
CALL DELAY20MS
CALL DELAY10MS
CALL DELAY50MS
LJMP MAIN
KHAC2:
CJNE A,#3,KHAC3
MOV P2,#01111001B
SETB P1.7
CALL DELAY20MS
CALL DELAY10MS
CLR P1.7
CALL DELAY20MS
CALL DELAY50MS
LJMP MAIN
KHAC3:
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 55
CJNE A,#4,KHAC4
MOV P2,#00110011B
SETB P1.7
LCALL DELAY20MS
LCALL DELAY20MS
CLR P1.7
CALL DELAY10MS
CALL DELAY50MS
LJMP MAIN
KHAC4:
CJNE A,#5,KHAC5
MOV P2,#01011011B
SETB P1.7
CALL DELAY50MS
CLR P1.7
CALL DELAY50MS
LJMP MAIN
KHAC5:
CJNE A,#6,KHAC6
MOV P2,#01011111B
SETB P1.7
CALL DELAY10MS
CALL DELAY50MS
CLR P1.7
CALL DELAY20MS
CALL DELAY20MS
LJMP MAIN
KHAC6:
CJNE A,#7,KHAC7
MOV P2,#01110000B
SETB P1.7
CALL DELAY50MS
CALL DELAY20MS
CLR P1.7
CALL DELAY10MS
CALL DELAY20MS
LJMP MAIN
KHAC7:
CJNE A,#8,KHAC8
MOV P2,#01111111B
SETB P1.7
CALL DELAY20MS
CALL DELAY10MS
CALL DELAY50MS
CLR P1.7
LCALL DELAY20MS
LJMP MAIN
KHAC8:
MOV P2,#01111011B
SETB P1.7
CALL DELAY50MS
CALL DELAY20MS
CALL DELAY20MS
CLR P1.7
LCALL DELAY10MS
LJMP MAIN
;===============================
NGATNGOAI0:
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 56
INC DEM
MOV A,DEM
CJNE A,#10,THOATNGAT
MOV DEM,#0
MOV A,DEM
THOATNGAT:
RETI
;================================
DELAY20MS:
MOV R1,#100
LOOP:
MOV R2,#100
DJNZ R2,$
DJNZ R1,LOOP
RET
;===================================
DELAY10MS:
MOV R1,#100
LOOP1:
MOV R2,#50
DJNZ R2,$
DJNZ R1,LOOP1
RET
;=================================
DELAY50MS:
MOV R1,#100
LOOP2:
MOV R2,#250
DJNZ R2,$
DJNZ R1,LOOP2
RET
END
;****************************************************************************
PHẦN 3 : CHƯƠNG TRÌNH MỖI KHI CÓ NGẮT NGOÀI THÌ TĂNG BIẾN ĐẾM HIỂN THỊ RA
LED 7 ĐOẠN GIÁ TRỊ TỪ 0 ĐẾN 9 . ĐỒNG THỜI XUẤT XUNG CÓ TẦN SỐ 100HZ VÀ CÓ ĐỘ
RỘNG ĐẾM /10 . CÓ ĐỌC ENCODER :
;======================================
;Khai bao bien / hang so / dau vao/ra
DEM DATA 7EH
TRAM DATA 7FH
CHUC DATA 7AH
DONVI DATA 7BH
;===================================================
;Khai bao ngat ngoai o
ORG 0000H
LJMP INIT
;===================================================
ORG 0003H
LJMP NGATNGOAI0
;===================================================
;Chuong trinh chinh
ORG 0030H
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 57
INIT:
SETB IT0 ;Ngat Canh Xuong
MOV TMOD,#50H ;Timer1 Dem 16bit, Hoat Dong Che Do Counter
MOV TH1,#0
MOV TL1,#0
MOV IE,#10000001B
MOV DEM,#0
MOV A,DEM
CLR TR1
MAIN:
CALL HEXTOBCD
CALL XUATLED
;===============================
KIEM_TRA:
BANG0:
CJNE A,#0,KHAC0
MOV P2,#0
LJMP MAIN
KHAC0:
CJNE A,#1,KHAC1
SETB P1.7
CALL DELAY10MS
CLR P1.7
CALL DELAY20MS
CALL DELAY20MS
CALL DELAY50MS
LJMP MAIN
KHAC1:
CJNE A,#2,KHAC2
SETB P1.7
CALL DELAY20MS
CLR P1.7
CALL DELAY20MS
CALL DELAY10MS
CALL DELAY50MS
LJMP MAIN
KHAC2:
CJNE A,#3,KHAC3
SETB P1.7
CALL DELAY20MS
CALL DELAY10MS
CLR P1.7
CALL DELAY20MS
CALL DELAY50MS
LJMP MAIN
KHAC3:
CJNE A,#4,KHAC4
SETB P1.7
LCALL DELAY20MS
LCALL DELAY20MS
CLR P1.7
CALL DELAY10MS
CALL DELAY50MS
LJMP MAIN
KHAC4:
CJNE A,#5,KHAC5
SETB P1.7
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 58
CALL DELAY50MS
CLR P1.7
CALL DELAY50MS
LJMP MAIN
KHAC5:
CJNE A,#6,KHAC6
SETB P1.7
CALL DELAY10MS
CALL DELAY50MS
CLR P1.7
CALL DELAY20MS
CALL DELAY20MS
LJMP MAIN
KHAC6:
CJNE A,#7,KHAC7
SETB P1.7
CALL DELAY50MS
CALL DELAY20MS
CLR P1.7
CALL DELAY10MS
CALL DELAY20MS
LJMP MAIN
KHAC7:
CJNE A,#8,KHAC8
SETB P1.7
CALL DELAY20MS
CALL DELAY10MS
CALL DELAY50MS
CLR P1.7
LCALL DELAY20MS
LJMP MAIN
KHAC8:
SETB P1.7
CALL DELAY50MS
CALL DELAY20MS
CALL DELAY20MS
CLR P1.7
LCALL DELAY10MS
LJMP MAIN
;============================
NGATNGOAI0:
INC DEM
MOV P2,DEM
MOV A,DEM
CJNE A,#10,THOATNGAT
MOV DEM,#0
MOV P2,DEM
MOV A,DEM
THOATNGAT:
RETI
;======================================
HEXTOBCD:
MOV A,TH1
MOV B,#100
DIV AB
ADD A,#11010000B
MOV TRAM,A
MOV A,B
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 59
MOV B,#10
DIV AB
ADD A,#10110000B
MOV CHUC,A
MOV A,B
ADD A,#01110000B
MOV DONVI,A
RET
;==========================================================
XUATLED:
MOV P0,TRAM
CALL DELAY10MS
MOV P0,CHUC
CALL DELAY10MS
MOV P0,DONVI
CALL DELAY10MS
RET
;====================================
DELAY10MS:
MOV R1,#100
LOOP1:
MOV R2,#50
DJNZ R2,$
DJNZ R1,LOOP1
RET
;======================================
DELAY20MS:
MOV R1,#100
LOOP:
MOV R2,#100
DJNZ R2,$
DJNZ R1,LOOP
RET
DELAY50MS:
MOV R1,#100
LOOP2:
MOV R2,#250
DJNZ R2,$
DJNZ R1,LOOP2
RET
;===================================================
END
;**********************************************************
BÀI 7: CHƯƠNG TRÌNH CÁC BỘ ĐỊNH THỜI TIMER
PHẦN 1 : CHƯƠNG TRÌNH TẠO XUNG VUÔNG TẦN SỐ 20KHZ TRÊN CHÂN P1.0
;===================================================
ORG 0000H
;===================================================
;Chuong trinh chinh
MAIN:
MOV TMOD,#20H
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 60
MOV TH1,#HIGH(-25)
SETB TR1
WAIT: JNB TF1,WAIT
CLR TF1
CPL P1.0
SJMP WAIT
;===================================================
END
;************************************************
PHẦN 2 : CHƯƠNG TRÌNH TẠO XUNG VUÔNG TẦN SỐ 8KHZ TRÊN CHÂN P1.2
;===================================================
;Khai bao bien / hang so / dau vao/ra
;8KHZ CO 125 CKM VOI MUC CAO 62CKM , MUC THAP 62CKM
;===================================================
ORG 0000H
;===================================================
;Chuong trinh chinh
MAIN:
MOV TMOD,#20H
MOV TH1,#HIGH(-62)
SETB TR1
WAIT: JNB TF1,WAIT
CLR TF1
CPL P1.2
SJMP WAIT
;===================================================
END
;***************************************************************
PHẦN 3 : CHƯƠNG TRÌNH TẠO XUNG VUÔNG TẦN SỐ 1KHZ TRÊN CHÂN P1.2
;===================================================
;Khai bao bien / hang so / dau vao/ra
;1KHZ CO 1000 CKM VOI MUC CAO 500 CKM , MUC THAP 500 CKM
;===================================================
ORG 0000H
;===================================================
;Chuong trinh chinh
MAIN:
MOV TMOD,#10H
AGAIN:
MOV TH1,#HIGH(-500)
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 61
MOV TL1,#LOW(-500)
SETB TR1
WAIT: JNB TF1,WAIT
CLR TF1
CLR TR1
CPL P1.2
SJMP AGAIN
;===================================================
END
;************************************************************
PHẦN 4 : CHƯƠNG TRÌNH TẠO XUNG VUÔNG TẦN SỐ 20KHZ TRÊN CHÂN
P1. 3 VÀ 1KHZ TRÊN CHÂN P1.0
;===================================================
ORG 0000H
;===================================================
;Chuong trinh chinh
MAIN:
MOV TMOD,#21H
MOV TH0,#HIGH(-5000)
MOV TL0,#LOW(-5000)
MOV TH1,#HIGH(-25)
SETB TR1
SETB TR0
MOV R0,#100
MOV R1,#10
WAIT: JB TF0,TANSO1
JB TF1,TANSO2
SJMP WAIT
TANSO1:
CLR TR0
CLR TF0
MOV TH0,#HIGH(-5000)
MOV TL0,#LOW(-5000)
SETB TR0
DJNZ R0,WAIT
CPL P1.0
SJMP WAIT
TANSO2:
CLR TF1
DJNZ R1,WAIT
CPL P1.3
SJMP WAIT
;===================================================
END
;****************************************************************
PHẦN 5 : CHƯƠNG TRÌNH TẠO XUNG VUÔNG TẦN SỐ 10KHZ TRÊN CHÂN P1.0
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 62
VỚI MỨC CAO 75 CKM MỨC THẤP 25 CKM
CÁCH 1 :
;===================================================
ORG 0000H
;===================================================
;Chuong trinh chinh
MAIN:
MOV TMOD,#22H
MOV TH0,#(-75)
MOV TH1,#(-100)
SETB TR0
SETB TR1
WAIT:
JB TF0,LOOP1
JB TF1,LOOP2
SJMP WAIT
LOOP1:
CLR TF0
CLR P1.1
SJMP WAIT
LOOP2:
CLR TF1
SETB P1.1
SJMP WAIT
;===================================================
END
;***************************************************
CÁCH 2:
;===================================================
ORG 0000H
;===================================================
;Chuong trinh chinh
MAIN:
MOV TMOD,#02H
WAIT:
MOV TH0,#HIGH(-75)
SETB TR0
WAIT1:
JNB TF0,WAIT1
CLR TF0
CLR P1.0
MOV TH0,#HIGH(-25)
SETB TR0
WAIT2:
JNB TF0,WAIT2
SETB P1.0
SJMP WAIT
;===================================================
END
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 63
;***************************************************************
PHẦN 6 : CHƯƠNG TRÌNH TẠO XUNG VUÔNG TẦN SỐ 2KHZ TRÊN CHÂN P1.3
VỚI MỨC CAO 400 CKM MỨC THẤP 100 CKM
;===================================================
ORG 0000H
;===================================================
;Chuong trinh chinh
MAIN:
MOV TMOD,#11H
LAP:
MOV TH0,#HIGH(-400)
MOV TL0,#LOW(-400)
MOV TH1,#HIGH(-500)
MOV TL1,#LOW(-500)
SETB TR0
SETB TR1
SETB P1.3
WAIT:
JB TF0,LOOP1
JB TF1,LOOP2
SJMP WAIT
LOOP1:
CLR TF0
CLR P1.3
SJMP WAIT
LOOP2:
CLR TF1
SETB P1.3
SJMP LAP
;===================================================
END
;***********************************************
BÀI 8: CHƯƠNG TRÌNH NGẮT NGOÀI :
PHẦN 1 : CHƯƠNG TRÌNH NHẤN START (P3.2) ĐÈN SÁNG SAU 15S THÌ TẮT , TRONG QUÁ
TRÌNH ĐÈN SÁNG NẾU NHẤN START KHÔNG CÓ TÁC DỤNG
;===================================================
;Khai bao ngat ngoai o
;===================================================
ORG 0000H
JMP MAIN
ORG 0003H
JMP NGATNGOAIO
ORG 000BH
JMP NGATTIMER0
;===================================================
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 64
;Chuong trinh chinh
MAIN:
MOV IE,#83H
MOV TMOD,#01H
MOV TH0,#HIGH(-60000)
MOV TL0,#LOW(-60000)
CLR P1.1
SJMP $
;==============================
NGATNGOAIO:
SETB P1.1
MOV R0,#0
SETB TF0
RETI
;==============================
NGATTIMER0:
CLR EX0
INC R0
CLR TR0
MOV TH0,#HIGH(-60000)
MOV TL0,#LOW(-60000)
SETB TR0
CJNE R0,#250,EXIT
CLR P1.1
SETB EX0
CLR TR0
EXIT:
RETI
;===================================================
END
;*************************************************************
PHẦN 2 : CHƯƠNG TRÌNH NHẤN START (P3.2) ĐÈN SÁNG SAU 15S THÌ TẮT , TRONG QUÁ
TRÌNH ĐÈN SÁNG NẾU NHẤN START THÌ ĐÈN SÁNG THÊM 15S NỮA :
;===================================================
ORG 0000H
LJMP MAIN
;===================================================
;Khai bao ngat
ORG 0003H
LJMP NGATNGOAIO
ORG 000BH
LJMP NGATTIMER0
;===================================================
;Chuong trinh chinh
MAIN:
MOV IE,#83H
MOV TMOD,#01H
MOV TH0,#HIGH(-50000)
MOV TL0,#LOW(-50000)
MOV P0,#0FFH
CLR P1.1
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 65
SJMP $
;==============================
NGATNGOAIO:
SETB P1.1
MOV R0,#0
SETB TF0
RETI
;==============================
NGATTIMER0:
INC R0
CLR TR0
MOV TH0,#HIGH(-60000)
MOV TL0,#LOW(-60000)
SETB TR0
CJNE R0,#250,EXIT
CLR P1.1
CLR TR0
EXIT:
RETI
;===================================================
END
;***********************************************************
PHẦN 3 : CHƯƠNG TRÌNH NHẤN VÀ DỮ START (P3.2) ĐÈN SÁNG. KHI NHẢ TAY RA ĐÈN
SANG SAU 15S THÌ TẮT , TRONG QUÁ TRÌNH ĐÈN SÁNG NẾU NHẤN START THÌ KHÔNG
CÓ TÁC DỤNG :
;===================================================
ORG 0000H
LJMP MAIN
;===================================================
;Khai bao ngat
ORG 0003H
LJMP NHANSTART
ORG 000BH
LJMP NGATTIMER0
;===================================================
;Chuong trinh chinh
MAIN:
MOV IE,#83H
MOV TMOD,#01H
MOV TH0,#HIGH(-60000)
MOV TL0,#LOW(-60000)
CLR P1.1
SJMP $
;=================================
NHANSTART:
SETB P1.1
MOV R0,#0
JNB P3.2,$
SETB TF0
RETI
;==================================
NGATTIMER0:
CLR EX0
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 66
INC R0
CLR TR0
MOV TH0,#HIGH(-50000)
MOV TL0,#LOW(-50000)
SETB TR0
CJNE R0,#250,EXIT
CLR P1.1
CLR TR0
SETB EX0
EXIT:
RETI
;===================================================
END
;*****************************************************************
BÀI 9: CHƯƠNG TRÌNH NGẮT BỘ ĐỊNH THỜI TIMER
PHẦN 1 : CHƯƠNG TRÌNH TẠO XUNG VUÔNG TẦN SỐ 2KHZ TRÊN CHÂN P1.1
SỬ DỤNG NGẮT TIMER1
;2KHZ CO 500 CKM VOI MUC CAO 250CKM , MUC THAP 250 CKM
;===================================================
ORG 0000H
LJMP MAIN
;===================================================
;Khai bao ngat ngoai
ORG 001BH
CPL P1.1
RETI
;===================================================
ORG 0030H
;Chuong trinh chinh
MAIN:
MOV IE,#88H
MOV TMOD,#20H
MOV TH1,#HIGH(-250)
SETB TR1
JMP $
;===================================================
END
;*****************************************************
PHẦN 2 : CHƯƠNG TRÌNH TẠO XUNG VUÔNG TẦN SỐ 500HZ TRÊN CHÂN P1.1
SỬ DỤNG NGẮT TIMER1
;500HZ CO 2000 CKM VOI MUC CAO 1000CKM , MUC THAP 1000 CKM
;===================================================
ORG 0000H
LJMP MAIN
;===================================================
;Khai bao ngat ngoai
ORG 001BH
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 67
CPL P1.1
CLR TR1
MOV TH1,#HIGH(-1000)
MOV TL1,#LOW(-1000)
SETB TR1
RETI
;===================================================
ORG 0030H
;Chuong trinh chinh
MAIN:
MOV IE,#88H
MOV TMOD,#10H
MOV TH1,#HIGH(-1000)
MOV TL1,#LOW(-1000)
SETB TR1
JMP $
;===================================================
END
;*********************************************************
PHẦN 3 : CHƯƠNG TRÌNH TẠO XUNG VUÔNG TẦN SỐ 10KHZ TRÊN CHÂN P1.0
VỚI MỨC CAO 75 CKM MỨC THẤP 25 CKM . SỬ DỤNG NGẮT TIMER
;===================================================
ORG 0000H
LJMP MAIN
;===================================================
;Khai bao ngat ngoai
ORG 001BH
LJMP NGATTIMER1
ORG 000BH
LJMP NGATTIMER0
;===================================================
ORG 0030H
;Chuong trinh chinh
MAIN:
MOV IE,#8AH
MOV TMOD,#22H
MOV TH1,#(-100)
MOV TH0,#(-75)
SETB TR0
SETB TR1
SJMP $
NGATTIMER0:
CLR TF0
CLR P1.0
CLR ET0 ;Ngung Ngat Timer0
CLR TR0 ;Ngung Hoat Dong Timer0
RETI
NGATTIMER1:
CLR TF1
SETB P1.0
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 68
SETB ET0 ;Cho phep Ngat Timer0
SETB TR0 ;Cho Timer0 Hoat Dong
RETI
;===================================================
END
;***********************************************************************
PHẦN 4 : CHƯƠNG TRÌNH TẠO XUNG VUÔNG TẦN SỐ 1KHZ TRÊN CHÂN P1.0
VỚI MỨC CAO 750 CKM MỨC THẤP 250 CKM
;===================================================
ORG 0000H
LJMP MAIN
;===================================================
;Khai bao ngat ngoai
ORG 001BH
LJMP NGATTIMER1
ORG 000BH
LJMP NGATTIMER0
;===================================================
ORG 0030H
;Chuong trinh chinh
MAIN:
MOV IE,#8AH
MOV TMOD,#21H
MOV TH1,#(-250)
MOV TH0,#HIGH(-1000)
MOV TL0,#LOW(-1000)
SETB TR0
SETB TR1
SJMP $
NGATTIMER0:
CLR TR0
CLR P1.0
MOV TH0,#HIGH(-1000)
MOV TL0,#LOW(-1000)
SETB TR0
SETB ET1 ;Ngung Ngat Timer0
SETB TR1 ;Ngung Hoat Dong Timer0
RETI
NGATTIMER1:
SETB P1.0
CLR ET1 ;Cho phep Ngat Timer0
CLR TR1 ;Cho Timer0 Hoat Dong
RETI
;===================================================
END
;***************************************************************
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 69
PHẦN 5 : CHƯƠNG TRÌNH TẠO XUNG VUÔNG TẦN SỐ 10KHZ TRÊN CHÂN P1.0
VỚI MỨC CAO 400 CKM MỨC THẤP 100 CKM
;===================================================
ORG 0000H
LJMP MAIN
;===================================================
;Khai bao ngat ngoai
ORG 001BH
LJMP NGATTIMER1
ORG 000BH
LJMP NGATTIMER0
;===================================================
ORG 0030H
;Chuong trinh chinh
MAIN:
MOV IE,#8AH
MOV TMOD,#11H
MOV TH0,#HIGH(-400)
MOV TL0,#LOW(-400)
MOV TH1,#HIGH(-500)
MOV TL1,#LOW(-500)
SETB TR0
SETB TR1
CLR P1.0
SJMP $
;===================================
NGATTIMER1:
CLR TR1
CLR P1.0
MOV TH0,#HIGH(-400)
MOV TL0,#LOW(-400)
MOV TH1,#HIGH(-500)
MOV TL1,#LOW(-500)
SETB TR1
SETB ET0 ;Cho phep Ngat Timer0
SETB TR0 ;Cho Timer0 Hoat Dong
RETI
;=============================================
NGATTIMER0:
SETB P1.0
CLR ET0 ;Ngung Ngat Timer0
CLR TR0 ;Ngung Hoat Dong Timer0
RETI
;===================================================
END
;****************************************************
PHẦN 6A : CHƯƠNG TRÌNH TẠO XUNG VUÔNG TẦN SỐ 1KHZ TRÊN CHÂN P1.0
VỚI MỨC CAO 500 CKM ( KHI Ở MỨC CAO LÀ 1 XUNG VUÔNG NHỎ CÓ MỨC CAO 25 MỨC
THẤP 25 ) MỨC THẤP 500 CKM
;===================================================
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 70
ORG 0000H
LJMP MAIN
;===================================================
;Khai bao ngat ngoai
ORG 001BH
LJMP NGATTIMER1
ORG 000BH
LJMP NGATTIMER0
;===================================================
ORG 0030H
;Chuong trinh chinh
MAIN:
MOV IE,#8AH
MOV TMOD,#12H
MOV TH0,#HIGH(-25)
MOV TH1,#HIGH(-500)
MOV TL1,#LOW(-500)
SETB TR0
SETB TR1
CLR P1.0
SJMP $
;=======================================
NGATTIMER1:
CLR TR1
MOV TH1,#HIGH(-500)
MOV TL1,#LOW(-500)
CPL P1.0
SETB TR1
RETI
;=============================================
NGATTIMER0:
CPL P1.1
RETI
;===================================================
END
;***********************************************
PHẦN 6B : CHƯƠNG TRÌNH TẠO XUNG VUÔNG TẦN SỐ 1KHZ TRÊN CHÂN P1.0
VỚI MỨC CAO 10S ( KHI Ở MỨC CAO LÀ 1 XUNG VUÔNG NHỎ CÓ MỨC CAO 100CKM MỨC
THẤP 100CKM ) MỨC THẤP 10S
;===================================================
ORG 0000H
LJMP MAIN
;===================================================
;Khai bao ngat ngoai
ORG 001BH
LJMP NGATTIMER1
ORG 000BH
LJMP NGATTIMER0
;===================================================
ORG 0030H
;Chuong trinh chinh
MAIN:
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 71
MOV IE,#8AH
MOV TMOD,#21H
MOV TH1,#(-100)
MOV TH0,#HIGH(-50000)
MOV TL0,#LOW(-50000)
SETB TR1
SETB TR0
MOV R7,#200
SJMP $
;=================================
NGATTIMER0:
CLR TR0
MOV TH0,#HIGH(-50000)
MOV TL0,#LOW(-50000)
SETB TR0
DJNZ R7,THOAT
CPL TR1
CPL ET1
CPL P1.0
THOAT:
RETI
;==============================================
NGATTIMER1:
CPL P1.0
RETI
;===================================================
END
;**********************************************************
BÀI 10: CHƯƠNG TRÌNH ĐIỀU KHIỂN LED ĐƠN
Bài 1: "sáng lần lượt"
Phần cứng: 8 led nối với Port 1, được định vị trí như sau: led 1 nối với
P1.0, lần lượt cho đến led 8 (nối với P1.7). Biết led sáng khi tín hiệu xuất ở các
chân Port 1 ở giá trị 1. Viết chương trình để các led nối với Port 1 sáng lần
lượt từng led từ led 1 đến led 8. Các quá trình trên được lặp lại không ngừng.
Minh hoạ:
•
Cách 1: Cách này đơn giản là làm cho các led sáng bằng cách thiết đặt các
giá trị thích hợp cho các bit của Port để làm led sáng theo từng trạng thái, cách
này đơn giản nhưng cần viết dài và tốn dung lượng bộ nhớ Rom.
Chương trình :
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 72
;*******************Chuong trình;*************************************
;**************/////--- LED SANG LAN LUOT -CACH DON GIAN --- ***********
;**////////___ led sang lan luot tu led 1 den led 8-P1___________
;**//////////___ sang o muc 1 va tat o muc 0__________________
;**////////____ lap di lap lai khong gioi han____________________
;** ------- nap gia tri cho tung trang thai ----------////
ORG 000H ; khai bao dia chi de bat dau chuong trinh tren Rom
MOV P1,#00000000B ;===>>>> lam 8 led noi P1 tat
LCALL DELAY ;===>>>>goi chuong trinh con Delay
XUAT:
MOV P1,#00000001B ;===>>>> lam led 1 sang
LCALL DELAY
MOV P1,#00000010B ;===>>>> lam led 2 sang
LCALL DELAY
MOV P1,#00000100B ;===>>>> lam led 3 sang
LCALL DELAY
MOV P1,#00001000B ;===>>>> lam led 4 sang
LCALL DELAY
MOV P1,#00010000B ;===>>>> lam led 5 sang
LCALL DELAY
MOV P1,#00100000B ;===>>>> lam led 6 sang
LCALL DELAY
MOV P1,#01000000B ;===>>>> lam led 7 sang
LCALL DELAY
MOV P1,#10000000B ;===>>>> lam led 8 sang
LCALL DELAY
SJMP XUAT ;===>>>> nhay ve thuc hien tu dau
;**>>>>>>>>>>>>>> delay <<<<<<<<<<<<<<<<<<<<<<<<<<<<
DELAY:
MOV R7,#0FFH ;===>>>> ga'n R7=#0FFH, 1 chu ki may
KT2: MOV R6,#0FFH ;===>>>> ga'n R6=#0FFH, 1 chu ki may
KT1: DJNZ R6,KT1 ;===>>>> giam R6 xuong 1, R6 khac 0->giam tiep,2ckm
DJNZ R7 ,KT2 ;===>>>> giam R7 xuong 1, R6 khac 0-> ve Kt2,2ckm
RET ;===>>>> ket thuc chuong trinh con Delay
;________________________________________________________________________________
END ;===>>>> ket thuc chuong trinh
;*************************************************************
Cách2: Để led sáng lần lượt, cần làm cho tín hiệu xuất ra giá trị 1 một
khoảng thời gian để có thể nhận biết được. Đầu tiên cho P1 tắt, sau đó làm cho
bit A.0 lên 1, sử dụng lệnh xoay trái dữ liệu trên thanh Ram A, mỗi lần xoay giá
trị 1 sẽ chuyển lần lượt qua A.1 - A.2 - A.3 -A.4 - A.5 -A.6 - A.7 - A.0, mỗi lần
xoay xuất tín hiệu ra P1 sẽ thấy led sáng lần lượt từ led 1 đến led 8.
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 73
Chương trình:
;****** **********Chuong trình:;******************************
;**************/////--- LED SANG LAN LUOT --- *********************
;**------------------------------------------ ---------------
;**////////////////___ led sang lan luot tu led 1 den led 8___________
;**///////////////___ sang o muc 1 va tat o muc 0__________________
;**//////////////____ lap di lap lai khong gioi han____________________
;**<<<<<< <<<<<<<<---------------------------------->>>>>>>>>>>>>>
;** ------- nap thanh Ram A=#00000001B--------------------////////////////
;**--------ket hop xoay phai thanh Ram A va xuat du lieu---------------////////////////
;*******************************************
ORG 000H ; khai bao dia chi de bat dau chuong trinh tren Rom
MOV P1,#0 ;===>>>> lam 8 led noi P1 tat
LCALL DELAY ;===>>>>goi chuong trinh con Delay
MOV A,#00000001B ;===>>>> A co gia tri 00000001B
XUAT:
MOV P1,A ;===>>>> xuat du lieu A ra P1 dieu khien led
LCALL DELAY ;===>>>>goi chuong trinh con Delay
RL A
SJMP XUAT ;===>>>> nhay ve thuc hien tu dau
;**>>>> >>>>>>>>>>>> delay <<<<<<<<<<<<<<<<<<<<<<<<<<<<
DELAY:
MOV R7,#0FFH ;===>>>> ga'n R7=#0FFH, 1 chu ki may
KT2: MOV R6,#0FFH ;===>>>> ga'n R6=#0FFH, 1 chu ki may
KT1: DJNZ R6,KT1 ;===>>>> giam R6 xuong 1, R6 khac 0->giam tiep,2ckm
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 74
DJNZ R7 ,KT2 ;===>>>> giam R7 xuong 1, R6 khac 0-> ve Kt2,2ckm
RET ;===>>>> ket thuc chuong trinh con Delay
;_______________________________________________________
END ;===>>>> ket thuc chuong trinh
;***********************************************************
Giải thích: ORG 000H là lệnh chỉ dẫn: chương trình này được lưu vào ROM bắt đầu từ
địa chỉ 000H.
Khi mới bắt đầu chương trình, Mov P1,#0 làm tất cả các led đều tắt,
LCall Delay làm cho thời gian tắt đủ để mắt người nhận ra.
Mov A,#00000001B làm cho bit A.0 của thanh ghi A được set lên 1, các bit còn lại ở
giá trị 0.
Tiếp theo trong chương trình là nhãn Xuat: vị trí trở về, trên lưu đồ giải thuật là điểm mũi
tên trở về.
Mov P1,A xuất tín hiệu ra P1, lúc này led 1 sáng lên.
Tiếp theo là lệnh gọi chương trình con LCall Delay.
Câu lệnh RL A làm trạng thái các bit dịch sang trái 1 bit, trước đó chỉ có A.0 ở giá trị
1, sau câu lệnh A.1 mang giá trị 1, còn bit A.0 bây giờ mang giá trị 0 do bit A.7 có giá trị 0
chuyển sang.
Sjmp Xuat chương trình nhảy đến đoạn chương trình được đánh dấu bằng nhãn Xuat,
nên nhớ rằng chương lệnh gọi Sjmp chỉ nhảy được đến vị trí cách lệnh gọi không quá 128
byte, nếu vượt qua giới hạn này chương trình dịch sẽ báo lỗi, khi đó cần thay Sjmp bằng
Ljmp vì Ljmp có thể nhảy đến vị trí bất kì trên ROM.
Lúc này chương trình bắt đầu từ nhãn Xuat:
Sau nhãn Xuat: là câu lệnh Mov P1,A tín hiệu được xuất ra P1, lúc này
P1.1 lên giá trị 1, led thứ hai sáng, các led còn lại không sáng. Câu lệnh RL A làm trạng
thái các bit dịch sang trái 1 bit: A.2 lên 1, các bit khác mang giá trị 0.
Các quá trình trên được lặp lại liên tục (với câu lệnh Sjmp Xuat và nhãn Xuat: ). Kết
quả cuối cùng như trên hình minh họa phía trên.
Bài 2: "sáng lần lượt"
Phần cứng: 32 led nối với Port 0,1,2,3, được định vị trí như sau: led 1 nối
với P0.0, lần lượt cho đến led 32 (nối với P3.7). Biết led sáng khi tín hiệu xuất
ở giá trị 1.Viết chương trình để các led nối với Port 0,1,2,3 sáng lần lượt từng
led từ led 1 đến led 32. Các quá trình được lặp lại không giới hạn.
Minh hoạ:
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 75
Cách 1: Cách này cũng như cách 1 trong bài 5, làm cho các led sáng bằng
cách thiết đặt các giá trị thích hợp cho các Port để làm led sáng theo từng trạng
thái, cách này đơn giản nhưng cần viết dài và tốn dung lượng bộ nhớ Rom.
;*******/////--- 32 LED SANG LAN LUOT- CACH DON GIAN ---*******
;**////////////////___ led sang lan luot tu led 1 den led 32___________
;**///////////////___ sang o muc 1 va tat o muc 0__________________
;**//////////////____ lap di lap lai khong gioi han____________________
;**<<<<<<<<<<<<<<<<<<<---------------------------->>>>>>>>>>>>>>
;** ------- nap gia tr? cho tung trang thai ----------------////////////////
;****************************************************************
ORG 000H ; Khai Bao Dia Chi De Bat Dau Chuong Trinh Tren Rom
MOV P0,#0 ;===>>>> |||
MOV P1,#0 ;===>>>> ||| CAC LED DEU TAT
MOV P2,#0 ;===>>>> |||
MOV P3,#0 ;===>>>> |||
LCALL DELAY ;===>>>>GOI CHUONG TRINH CON DELAY
XUAT:
;**>>>> >>> LAM LED P0 SANG <<<<<<<<<<<<<<<<<<<<
MOV P0,#00000001B ;===>>>> LAM LED 1 SANG
LCALL DELAY ;===>>>>GOI CHUONG TRINH CON DELAY
MOV P0,#00000010B ;===>>>> LAM LED 2 SANG
LCALL DELAY
MOV P0,#00000100B ;===>>>> LAM LED 3 SANG
LCALL DELAY
MOV P0,#00001000B ;===>>>> LAM LED 4 SANG
LCALL DELAY
MOV P0,#00010000B ;===>>>> LAM LED 5 SANG
LCALL DELAY
MOV P0,#00100000B ;===>>>> LAM LED 6 SANG
LCALL DELAY
MOV P0,#01000000B ;===>>>> LAM LED 7 SANG
LCALL DELAY
MOV P0,#10000000B ;===>>>> LAM LED 8 SANG
LCALL DELAY
;**>>>> >>>>>>LAM LED P1 SANG <<<<<<<<<<<<<<<<<<<
MOV P0,#00000000B ;===>>>> LAM P0 TAT
MOV P1,#00000001B ;===>>>> LAM LED 1 SANG
LCALL DELAY
MOV P1,#00000010B ;===>>>> LAM LED 2 SANG
LCALL DELAY
MOV P1,#00000100B ;===>>>> LAM LED 3 SANG
LCALL DELAY
MOV P1,#00001000B ;===>>>> LAM LED 4 SANG
LCALL DELAY
MOV P1,#00010000B ;===>>>> LAM LED 5 SANG
LCALL DELAY
MOV P1,#00100000B ;===>>>> LAM LED 6 SANG
LCALL DELAY
MOV P1,#01000000B ;===>>>> LAM LED 7 SANG
LCALL DELAY
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 76
MOV P1,#10000000B ;===>>>> LAM LED 8 SANG
LCALL DELAY
;**>>>>> LAM LED P2 SANG <<<<<<<<<<<<<
MOV P1,#00000000B ;===>>>> LAM P1 TAT
MOV P2,#00000001B ;===>>>> LAM LED 1 SANG
LCALL DELAY
MOV P2,#00000010B ;===>>>> LAM LED 2 SANG
LCALL DELAY
MOV P2,#00000100B ;===>>>> LAM LED 3 SANG
LCALL DELAY
MOV P2,#00001000B ;===>>>> LAM LED 4 SANG
LCALL DELAY
MOV P2,#00010000B ;===>>>> LAM LED 5 SANG
LCALL DELAY
MOV P2,#00100000B ;===>>>> LAM LED 6 SANG
LCALL DELAY
MOV P2,#01000000B ;===>>>> LAM LED 7 SANG
LCALL DELAY
MOV P2,#10000000B ;===>>>> LAM LED 8 SANG
LCALL DELAY
;**>> >>>LAM LED P1 SANG <<<<<<<<<<<<<<<<<<<
MOV P2,#00000000B ;===>>>> LAM P2 TAT
MOV P3,#00000001B ;===>>>> LAM LED 1 SANG
LCALL DELAY
MOV P3,#00000010B ;===>>>> LAM LED 2 SANG
LCALL DELAY
MOV P3,#00000100B ;===>>>> LAM LED 3 SANG
LCALL DELAY
MOV P3,#00001000B ;===>>>> LAM LED 4 SANG
LCALL DELAY
MOV P3,#00010000B ;===>>>> LAM LED 5 SANG
LCALL DELAY
MOV P3,#00100000B ;===>>>> LAM LED 6 SANG
LCALL DELAY
MOV P3,#01000000B ;===>>>> LAM LED 7 SANG
LCALL DELAY
MOV P3,#10000000B ;===>>>> LAM LED 8 SANG
LCALL DELAY
MOV P3,#00000000B ;===>>>> LAM LED P3 TAT
LJMP XUAT ; ===>>>> NHAY VE THUC HIEN TU DAU
;**>>>>>>>>>>>>>>>>>> DELAY <<<<<<<<<<<<<<<<<<
DELAY:
MOV R7,#0FFH ;===>>>> GAN R7=#0FFH, 1 CHU KI MAY
KT2:
MOV R6,#0FFH ;===>>>> GAN R6=#0FFH, 1 CHU KI MAY
KT1:
DJNZ R6,KT1 ;===>>>> GIAM R6 XUONG 1, R6 KHAC 0-> GIAM TIEP
DJNZ R7,KT2 ;===>>>> GIAM R7 XUONG 1, R6 KHAC 0-> VE KT2
RET ;===>>>> KET THUC CHUONG TRINH CON
;_____________________ _______
END ;===>>>> KET THUC CHUONG TRINH
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 77
;**********************************************************
Câu lệnh cuối quay trở về đầu phải dùng Ljmp Xuat chứ không sử dụng Sjmp vì
khoảng cách từ vị trí chương trình bắt đầu đến câu lệnh gọi trở về lớn 128
Cách 2: Kết hợp các lệnh xoay và di chuyển dữ liệu để chương trình viết ngắn
gọn hơn.
Phân tích: Tại mỗi thời điểm chỉ có 1 led sáng, do đó có thể sử dụng lệnh xoay trái
trạng thái các bit của các Port, với một bit nào đó được đặt lên 1, xoay bit này lần lượt qua
P0,P1,P2,P3 sẽ đạt kết quả. Vấn đề đặt ra là làm sao để xoay 32 bit của P0,P1,P2,P3 trong
khi đó chỉ có thanh ghi A thực hiện được lệnh xoay. Không thể thực hiện xoay 32 bit của 4
Port bằng một lệnh duy nhất mà phải trải qua nhiều bước.
Để xoay trạng thái các bit trong một ô nhớ bất kì, đầu tiên chuyển giá trị của ô nhớ đó lên
thanh ghi A, rồi dùng lệnh xoay thanh ghi A, sau đó chuyển kết quả về lại ô nhớ cần
xoay,kết quả ô nhớ đã được xoay. Bây giờ có thể qui ước cụm từ "xoay ô nhớ" thay cho
các bước vừa nêu.
Để xoay 32 bit (trong bài này là P0,P1,P2,P3), trước hết xoay trái ô nhớ đầu tiên (P0)
cùng với cờ C (giá trị đầu tiên của cờ C được được đặt trước tùy từng trường hợp cụ thể
hoặc do chương trình thực hiện), sau khi xoay ô nhớ đầu tiên với cờ C, các trạng thái của
các bit trong ô nhớ đó chuyển qua một bit, giá trị của cờ C chuyển vào bit 0, bit 7 của ô
nhớ đó chuyển vào cờ nhớ C. Xoay ô nhớ thứ hai với cờ nhớ C, giá trị của C trước đó
chuyển vào bit 0 của ô nhớ thứ hai (mà giá trị này trước đó là của bit 7 ô nhớ thứ nhất), giá
trị của bit 7 trong ô nhớ thứ hai chuyển vào cờ nhớ C. Tiếp tục xoay ô nhớ thứ 3 và thứ 4
với cờ nhớ C. Kết quả cuối cùng trạng thái của 32 bit được dịch sang trái 1 bit, bit 0 của ô
nhớ đầu tiên là giá trị của C trước đó và giá trị của cờ nhớ C hiện tại là của bit 7 của ô nhớ
thứ 4 chuyển sang.
Giải thuật:
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 78
Chương trình:
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 79
;**************/////--- 32 LED SANG LAN LUOT --- ***************
;**////////////////___ LED SANG LAN LUOT TU LED 1 DEN LED 32________
;**///////////////___ SANG O MUC 1 VA TAT O MUC 0_______________
;**//////////////____ LAP DI LAP LAI KHONG GIOI HAN_______________
;**<<<<<<<<<<<<<<<<<<<------------------------------->>>>>>>>>>>>>>
;** ------ SU DUNG LENH XOAY PHAI VOI CO C-----XOAY 32 BIT VOI C------////////
ORG 000H ; KHAI BAO DIA CHI DE BAT DAU CHUONG TRINH TREN ROM
MOV P0,#0 ;===>>>> ||| TAT TAT CA CA LED
MOV P1,#0 ;===>>>> |||
MOV P2,#0 ;===>>>> |||
MOV P3,#0 ;===>>>> |||
SETB C ;===>>>> LAM CO C LEN 1
XOAY32BIT:
MOV A,P0 ;||||||||||
RLC A ;||||||||||===>>>> XOAY TRAI P0 VOI CO NHO C
MOV P0,A ;||||||||||
MOV A,P1 ;@@@@
RLC A ;@@@@ ===>>>> XOAY TRAI P1 VOI CO NHO C
MOV P1,A ;@@@@
MOV A,P2 ;#####
RLC A ;##### ===>>>> XOAY TRAI P2 VOI CO NHO C
MOV P2,A ;#####
MOV A,P3 ;!!!!!!!!!!!
RLC A ;!!!!!!!!!!!===>>>> XOAY TRAI P3 VOI CO NHO C
MOV P3,A ;!!!!!!!!!!!
LCALL DELAY ;===>>>>GOI CHUONG TRINH CON DELAY
SJMP XOAY32BIT ;===>>>> NHAY VE THUC HIEN TU DAU
;**>>>>>>> >>>>>> DELAY <<<<<<<<<<<<<<<<<<<<
DELAY:
MOV R7,#0FFH
LOOP:
MOV R6,#0FFH
DJNZ R6,$
DJNZ R7,LOOP
RET ;=====> KET THU CHUONG TRINH CON DELAY
;_________________________________________________________________________________
END ;===>>>> KET THUC CHUONG TRINH
;***********************************************************************************
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 80
Bài 3: " Sáng dồn 8 led"
Phần cứng: 8 led nối với Port 0 được định vị trí như sau: led 1 nối với
P0.0, lần lượt cho đến led 8 (nối với P0.7). Biết led sáng khi tín hiệu xuất ở
mức 1.Viết chương trình để các led nối với Port 0 sáng dồn từ led 1 đến led 8
sau đó tắt hết led và lặp lại. Các quá trình được lặp lại không giới hạn.
Minh hoạ:
•
Cách 1: Cách này đơn giản là làm cho các led sáng bằng cách thiết đặt các
giá trị thích hợp cho các Port để làm led sáng theo từng trạng thái, cách này đơn
giản nhưng cần viết dài và tốn dung lượng bộ nhớ Rom. Nếu cần thiết các bạn tự
giải
Cách 2: Ở cách này giải thuật phức tạp hơn:
Chia quá trình sáng thành hai quá trình đơn: quá trình có 1 led sáng xoay vòng và quá
trình các led sáng cố định có lưu giữ trạng thái led cuối chu trình, kết hợp hai chu trình trên
sẽ ra kết quả cần thực hiện.
Dùng thanh ghi R3 để làm cho bit mang giá trị 1 xoay vòng như ở bài 5.
Dùng ô nhớ 30H dùng lưu giá trạng thái cuối của quá trình.(ban đầu 30H= #00000000B)
Thực hiện OR: R3 với 30H rồi xuất ra P0 sau mỗi lần R3 xoay 1 bit.
Trong quá trình đầu: một bit mang giá trị 1 trên R3 xoay từ vị trí R3.0 đến R3.7, vì 30H
lúc này đang mang giá trị là #00000000B, nên khi OR R3 với 30H rồi xuất ra P0 sẽ thấy 1
led sáng di chuyển từ led 1 đến led 8. Khi vị trí sáng đến led thứ 8 vi điều khiển lưu lại giá
trị của P0 vào 30H.
Trong quá trình hai: bit mang giá trị 1 trên R3 vẫn xoay, lúc này 30H có bit 30H.7 đang
ở giá trị 1 tức là 30H đang mang giá trị #10000000B,nên khi OR R3 với 30H rồi xuất ra
P0 sẽ thấy led 8 sáng cố định, trong lúc đó có 1 led sáng di chuyển từ led 1 đi vào. Đến led
7 vi điều khiển lưu lại giá trị P0 vào 30H (giá trị mới lưu là #11000000B).
Các quá trình tiếp tục như trên. Như vậy cần phải đếm số quá trình đã thực hiện, khi quá
trình thực hiện đến lần thứ 8, lúc này các led đều sáng hết, quá trình phải được lặp lại từ
đầu. Dùng thanh ghi R0 để lưu giữ giá trị này
Trong quá trình thực hiện, số bit tham gia vào xoay giá trị 1 sẽ giảm theo các quá trình,
vì vậy cần kiểm soát số lần xoay trái trong mỗi quá trình. Dùng thanh ghi R1 lưu giữ giá trị
này.
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 81
Giải thuật
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 82
Chương trình:
;**************/////--- SANG DON 8 LED --- *********************
;**////////////////___ SANG DAN TU LED 1 DEN LED 8___________
;**///////////////___ SANG O MUC 1 VA TAT O MUC 0__________________
;**//////////////____ LAP DI LAP LAI KHONG GIOI HAN_____________
;**<<<<<<<<<<<<<<<<<<<-------------------------->>>>>>>>>>>>>>
ORG 000H ; Khai Bao Dia Chi De Bat Dau Chuong Trinh Tren Rom
TUDAU:
MOV P0,#00H
MOV R0,#8 ;+++>>>SO QUA TRINH THUC HIEN
MOV 30H,#00H
SD2:
MOV 01H,00H ;+++>>> VI KHONG CO LENH MOV R1,R0
MOV R3,# 00H
SETB C
SD1:
LCALL DELAY
MOV A,R3 ;@@@@
RLC A ;@@@@===>>>XOAY TRAI R3
MOV R3,A ;@@@@
ORL A,30H ;+++>>> THUC HIEN PHEP OR GIUA A VA 30H, KET QUA O A
MOV P0,A ;===>>>XUAT KET QUA RA P0
DJNZ R1,SD1
MOV 30H,P0 ;===>>> LUU GIU TRANG THAI CUOI
DJNZ R0,SD2
LJMP TUDAU
;**>>>>>>>> >>>>>>>>>>> DELAY <<<<<<<<<<<<<<<<<<<<<<
DELAY:
MOV R7,#0FFH ;===>>>> GAN R7=#0FFH, 1 CHU KI MAY
KT2: MOV R6,#0FFH ;===>>>> GAN R6=#0FFH, 1 CHU KI MAY
KT1: DJNZ R6,KT1 ;== > Giam R6 Xuong 1, R6 Khac 0-> Giam Tiep
DJNZ R7,KT2 ;===>> GIAM R7 XUONG 1, R6 KHAC 0-> VE KT2
RET ;===>>>> KET THUC CHUONG TRINH CON
;_____________________________________________________
END ;===>>>> KET THUC CHUONG TRINH
;*********************************************************************
CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON
VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3
Trang 83
Bài 3: CHƯƠNG TRÌNH ĐIỀU KHIỂN LED SÁNG DẦN TỪ TRÁI QUA PHẢI
LƯU ĐỒ GIẢI THUẬT :
CHƯƠNG TRÌNH :
;Chuong trình:;**********/////--- SANG DAN 8 LED --- ****************
;**/////////////___ Sang dan tu trai qua phai___________
;**//////////___ sang o muc 0 va tat o muc 1_______________
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1
Chuong trinh vdk tong hop1

More Related Content

Recently uploaded

Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
FIDO Alliance
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
FIDO Alliance
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
panagenda
 

Recently uploaded (20)

ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
UiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewUiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overview
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream Processing
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Generative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdfGenerative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdf
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
Vector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptxVector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptx
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 

Featured

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 

Chuong trinh vdk tong hop1

  • 1. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 1 ;**************************************************************************
  • 2. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 2 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 AD3 AD2 AD1 AD0QA QB QC QD QE QF QG AD5 AD4 QA QB QC QD QE QF QG QA QB QC QD QE QF QG AD6 AD7 QA QB QC QD QE QF QG AD6 AD7 AD5 AD4 QA QB QC QD QE QF QG XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 U1 80C51 R0 10k C103 10u X1 12MHz C101 30p C102 30p VCC TUYEN DUONG A A 7 B 1 C 2 D 6 LT 3 BI 4 LE/STB 5 QA 13 QB 12 QC 11 QD 10 QE 9 QF 15 QG 14 U2 4511 VCC VCC 2 3 4 5 6 7 8 9 1 DRT1 10K VCC 2 3 4 5 6 7 8 9 1 DRT2 10K Q6 2N2369 Q1 2N2369 Q2 2N2369 Q3 2N2369 Q4 2N2369 Q5 2N2369 TUYEN DUONG BEN B1 TUYEN DUONG BEN A2TUYEN DUONG BEN A1 TUYEN DUONG BEN B2 TUYEN DUONG B VCC R1 100 R2 4k7 R4 4k7 R3 4k7 R5 4k7 R6 4k7 R7 4k7
  • 3. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 3
  • 4. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 4 CHƯƠNG TRÌNH CHẠY HAI CHẾ ĐỘ AUTO VÀ HANDDY ;chuong trinh den giao thong 2 che do co hien thi thoi gian ra led 7 doan ;Nguoi viet :VUONG VAN HUNG ;Ngay viet :20/06/2008 ;=================================================== TGA DATA 7CH CHUCA DATA 2EH DONVIA DATA 7DH TGB DATA 7EH DONVIB DATA 7FH CHUCB DATA 2FH ;=================================================== ORG 0000H INIT: MOV TMOD,#01H MOV P1,#00H ;=================================================== ;Chuong trinh chinh MAIN: ;**************************************************** ; Do A va Xanh b sang ;*************************************************** DAXB_AUTO: CLR P1.3 CLR P1.1 MOV TGA,#20 MOV TGB,#17 SETB P1.0 SETB P1.5 ;============================== LAPXB: JNB P3.0,DAXB_HANDDY ; neu p3.0 o muc thap (0) thi chay Auto CALL DELAY1S ; con p3.0 o muc cao (1) thi chay Handdy DEC TGA DJNZ TGB,LAPXB ;================================================= ; Do A va vang B sang ;************************************************ DAVB_AUTO: CLR P1.5 SETB P1.4 MOV TGB,#3 ;===================================== LAPVB: JNB P3.0,XADB_HANDDY ; neu p3.0 o muc thap (0) thi chay Auto CALL DELAY1S ; con p3.0 o muc cao (1) thi chay Handdy DEC TGA
  • 5. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 5 DJNZ TGB,LAPVB ;============================================= ; Xanh A va Do B sang ;************************************************* XADB_AUTO: CLR P1.0 CLR P1.4 SETB P1.2 SETB P1.3 MOV TGA,#26 MOV TGB,#30 ;============================== LAPXA: JNB P3.0,XADB_HANDDY ; neu p3.0 o muc thap (0) thi chay Handdy CALL DELAY1S ; con p3.0 o muc cao (1) thi chay AuTo DEC TGB DJNZ TGA,LAPXA ;====================================== ;Vang A va Do B sang ;************************************************* VADB_AUTO: CLR P1.2 SETB P1.1 MOV TGA,#4 ;============================= LAPVA: JNB P3.0,DAXB_HANDDY ;|| neu p3.0 o muc cao (1) thi chay Auto CALL DELAY1S ;|| con p3.0 o muc thap (0) thi chay Handdy DEC TGB DJNZ TGA,LAPVA LJMP MAIN ;************************************************************ HANDDY: ;============================ DAXB_HANDDY: MOV P0,#0FFH ; Khong cho hien thoi gian SETB P1.0 ;Do A sang SETB P1.5 ; Xanh B sang CLR P1.3 ;Tat Do B CLR P1.4 ;Tat Vang B CLR P1.2 ;Tat Xanh A JB P3.0,DAXB_AUTO ;||=>neu p3.0 = 0 thi Chay Handdy JB P3.1,DAXB_HANDDY ;||=> neu p3.0 = 1 thi chay AUTO ;|| neu p3.1 = 0 thi nhay XADB_HANDDY ;|| neu p3.1 = 1 thi nhay DAXB_HANDDY ;==================================================================== XADB_HANDDY: MOV P0,#0FFH SETB P1.2 SETB P1.3 CLR P1.1 CLR P1.0 CLR P1.5 JB P3.0,XADB_AUTO ; ||=>neu p3.0 = 0 thi Chay Handdy JNB P3.1,XADB_HANDDY ; ||=>neu p3.0 = 1 thi chay AUTO JMP DAXB_HANDDY ;|| neu p3.1 = 1 thi nhay DAXB_HANDDY ;|| neu p3.1 = 0 thi nhay XADB_HANDDY
  • 6. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 6 ;============================================= HIENTHI: CALL MAHOA MOV P0,CHUCA CALL DELAY MOV P0,DONVIA CALL DELAY MOV P0,CHUCB CALL DELAY MOV P0,DONVIB CALL DELAY RET ;================================================ MAHOA: MOV A,TGA MOV B,#10 DIV AB ADD A,#10110000B MOV CHUCA,A MOV A,B ADD A,#01110000B MOV DONVIA,A MOV A,TGB MOV B,#10 DIV AB ADD A,#11100000B MOV CHUCB,A MOV A,B ADD A,#11010000B MOV DONVIB,A RET ;================================================ DELAY1S: MOV R0,#40 LAPDELAY1S: CALL HIENTHI CALL DELAY50MS DJNZ R0,LAPDELAY1S RET ;=============================================== DELAY50MS: MOV TH0,#HIGH(-25000) MOV TL0,#LOW(-25000) SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 RET ;======================================= DELAY: LOOP1: MOV R1,#10 LOOP2: MOV R2,#200 DJNZ R2,$ DJNZ R1,LOOP2
  • 7. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 7 RET ;=================================================== END ;=================================================== ***************************************************************** CHƯƠNG TRÌNH 2: ;chuong trinh den giao thong 2 che do co hien thi thoi gian ra led 7 doan ;Nguoi viet :VUONG VAN HUNG ;Ngay viet :20/06/2008 ;=================================================== DOA BIT P1.0 VANGA BIT P1.1 XANHA BIT P1.2 DOB BIT P1.3 VANGB BIT P1.4 XANHB BIT P1.5 TGA DATA 7CH CHUCA DATA 2EH DONVIA DATA 7DH TGB DATA 7EH DONVIB DATA 7FH CHUCB DATA 2FH ;=================================================== ORG 0000H INIT: MOV TMOD,#01H MOV P1,#00H ;=================================================== ;Chuong trinh chinh MAIN: ;**************************************************** ; Do A va Xanh b sang ;*************************************************** DAXB_AUTO: CLR DOB CLR VANGA MOV TGA,#20 MOV TGB,#17 SETB DOA SETB XANHB ;============================== LAPXB: JNB P3.0,DAXB_HANDDY ;|| neu p3.0 =1 thi chay Auto CALL DELAY1S ;|| con p3.0 =0 thi chay Handdy DEC TGA
  • 8. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 8 DJNZ TGB,LAPXB ;================================================= ; Do A va vang B sang ;************************************************ DAVB_AUTO: CLR XANHB MOV TGB,#3 SETB VANGB ;===================================== LAPVB: JNB P3.0,XADB_HANDDY ;|| neu p3.0 =1 thi chay Auto CALL DELAY1S ;|| con p3.0 =0 thi chay Handdy DEC TGA DJNZ TGB,LAPVB ;============================================= ; Xanh A va Do B sang ;************************************************* XADB_AUTO: CLR DOA CLR VANGB MOV TGA,#26 MOV TGB,#30 SETB XANHA SETB DOB ;============================== LAPXA: JNB P3.0,XADB_HANDDY CALL DELAY1S DEC TGB DJNZ TGA,LAPXA ;====================================== ;Vang A va Do B sang ;************************************************* VADB_AUTO: CLR XANHA MOV TGA,#4 SETB VANGA ;============================= LAPVA: JNB P3.0,DAXB_HANDDY CALL DELAY1S DEC TGB DJNZ TGA,LAPVA LJMP MAIN ;************************************************************ HANDDY: ;============================ DAXB_HANDDY: MOV P0,#0FFH ; Khong cho hien thoi gian SETB DOA ;Do A sang SETB XANHB ; Xanh B sang CLR DOB ;Tat Do B CLR VANGB ;Tat Vang B CLR XANHA ;Tat Xanh A JB P3.0,DAXB_AUTO ; || neu p3.0 = 0 thi Chay Handdy
  • 9. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 9 JB P3.1,DAXB_HANDDY ; || neu p3.0 = 1 thi chay AUTO ;|| =>neu p3.1 = 1 thi nhay DAXB_HANDDY ;|| =>neu p3.1 = 0 thi nhay XADB_HANDDY ;======================================= XADB_HANDDY: MOV P0,#0FFH SETB XANHA SETB DOB CLR VANGA CLR DOA CLR XANHB ; || neu p3.0 = 1 thi chay AUTO JB P3.0,XADB_AUTO ; || neu p3.0 = 0 thi Chay Handdy JNB P3.1,XADB_HANDDY ; || =>neu p3.1 = 1 thi nhay DAXB_HANDDY JMP DAXB_HANDDY ; || =>neu p3.1 = 0 thi nhay XADB_HANDDY ;============================================= HIENTHI: CALL MAHOA MOV P0,CHUCA CALL DELAY MOV P0,DONVIA CALL DELAY MOV P0,CHUCB CALL DELAY MOV P0,DONVIB CALL DELAY RET ;================================================ MAHOA: MOV A,TGA MOV B,#10 DIV AB ADD A,#10110000B MOV CHUCA,A MOV A,B ADD A,#01110000B MOV DONVIA,A MOV A,TGB MOV B,#10 DIV AB ADD A,#11100000B MOV CHUCB,A MOV A,B ADD A,#11010000B MOV DONVIB,A RET ;================================================ DELAY1S: MOV R0,#40 LAPDELAY1S: CALL HIENTHI CALL DELAY50MS DJNZ R0,LAPDELAY1S RET ;=============================================== DELAY50MS: MOV TH0,#HIGH(-25000)
  • 10. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 10 MOV TL0,#LOW(-25000) SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 RET ;======================================= DELAY: LOOP1: MOV R1,#10 LOOP2: MOV R2,#200 DJNZ R2,$ DJNZ R1,LOOP2 RET ;=================================================== END ;==================================================== ************************************************************** CHƯƠNG TRÌNH CHẠY CHẾ ĐỘ AUTO ;CHUONG TRINH DEN GIAO THONG CHAY AUTO CO HIEN THI THOI GIAN ;Nguoi viet :VUONG VAN HUNG ;Ngay viet :20/06/2008 ;=================================================== TGA DATA 7CH CHUCA DATA 2EH DONVIA DATA 7DH TGB DATA 7EH DONVIB DATA 7FH CHUCB DATA 2FH ;=================================================== ;Chuong trinh chinh ORG 0000H INIT: MOV TMOD,#01H MOV P1,#0H MAIN: MOV TGA,#30 MOV TGB,#25 SETB P1.0 SETB P1.5 ;=============================== ;Thoi gian cua Do A va Xanh B LAPXB: CALL DELAY1S
  • 11. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 11 DEC TGA DJNZ TGB,LAPXB CLR P1.5 SETB P1.4 MOV TGB,#5 ;============================== ;Thoi gian cua Do A va Vang B LAPVB: CALL DELAY1S DEC TGA DJNZ TGB,LAPVB CLR P1.0 CLR P1.4 SETB P1.2 SETB P1.3 MOV TGA,#18 MOV TGB,#20 ;============================== ;Thoi gian cua Do B va Xanh A LAPXA: CALL DELAY1S DEC TGB DJNZ TGA,LAPXA CLR P1.2 SETB P1.1 MOV TGA,#2 ;============================== ;Thoi gian cua Do B va Vang A LAPVA: CALL DELAY1S DEC TGB DJNZ TGA,LAPVA CLR P1.1 CLR P1.3 LJMP MAIN ;================================================= HIENTHI: CALL MAHOA MOV P0,CHUCA CALL DELAY MOV P0,DONVIA CALL DELAY MOV P0,CHUCB CALL DELAY MOV P0,DONVIB CALL DELAY RET ;================================================ MAHOA: MOV A,TGA MOV B,#10 DIV AB ADD A,#10110000B MOV CHUCA,A MOV A,B ADD A,#01110000B MOV DONVIA,A MOV A,TGB
  • 12. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 12 MOV B,#10 DIV AB ADD A,#11100000B MOV CHUCB,A MOV A,B ADD A,#11010000B MOV DONVIB,A RET ;================================================ DELAY1S: MOV R0,#40 LAPDELAY1S: CALL HIENTHI CALL DELAY40MS DJNZ R0,LAPDELAY1S RET ;=============================================== DELAY40MS: MOV TH0,#HIGH(-25000) MOV TL0,#LOW(-25000) SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 RET ;============================ DELAY: LOOP1: MOV R1,#10 LOOP2: MOV R2,#200 DJNZ R2,$ DJNZ R1,LOOP2 RET ;=================================================== END ********************************************************** CHƯƠNG TRÌNH HOÀN HIỆN HƠN 1: ;chuong trinh den giao thong 2 che do co hien thi thoi gian ra led 7 doan . ; khi TGA hay TGB nho hon 10 thi chi co LED hang don vi sang ;Nguoi viet :VUONG VAN HUNG ;Ngay viet :20/06/2008 ;=================================================== TGA DATA 7CH CHUCA DATA 2EH DONVIA DATA 7DH TGB DATA 7EH DONVIB DATA 7FH CHUCB DATA 2FH
  • 13. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 13 ;=================================================== ORG 0000H INIT: MOV TMOD,#01H MOV P1,#00H ;=================================================== ;Chuong trinh chinh MAIN: ;**************************************************** ; Do A va Xanh b sang ;*************************************************** DAXB_AUTO: CLR P1.3 ;Tat Do B CLR P1.1 ;Tat Vang A MOV TGA,#20 MOV TGB,#17 MOV R6,#8 SETB P1.0 ; do a sang SETB P1.5 ; Xanh B Sang ;============================== LAPXB: CALL DELAY1S_1 DEC TGA DEC TGB JNB P3.0,DAXB_HANDDY ;|| Neu p3.0 = 0 thi chay Handdy DJNZ R6,LAPXB ;|| con p3.0 = 1 thi chay AUTO MOV R6,#3 LAPXB1: JNB P3.0,DAXB_HANDDY CALL DELAY1S_3 DEC TGA DEC TGB DJNZ R6,LAPXB1 LAPXB2: JNB P3.0,DAXB_HANDDY CALL DELAY1S_4 DEC TGA DJNZ TGB,LAPXB2 ;================================================= ; Do A va vang B sang ;************************************************ DAVB_AUTO: CLR P1.5 SETB P1.4 MOV TGB,#3 ;===================================== LAPVB: JNB P3.0,XADB_HANDDY ;|| neu p3.0 o muc thap (0) thi chay Auto CALL DELAY1S_4 ;|| con p3.0 o muc cao (1) thi chay Handdy DEC TGA DJNZ TGB,LAPVB CALL DELAY1S_4 ;============================================= ; Xanh A va Do B sang
  • 14. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 14 ;************************************************* XADB_AUTO: CLR P1.0 CLR P1.4 SETB P1.2 SETB P1.3 MOV TGA,#25 MOV TGB,#30 MOV R6,#16 ; THAY DOI KHI TGB VA TGA THAY DOI R6 = TGA - 9 ;============================== LAPXA: JNB P3.0,XADB_HANDDY ; ||=>neu p3.0 o muc thap (0) thi chay Handdy CALL DELAY1S_1 ; ||=>con p3.0 o muc cao (1) thi chay AuTo DEC TGB DEC TGA DJNZ R6,LAPXA MOV R6,#5 ; Thay Doi Khi TGB Va TGA Thay Doi R6 = TGB - TGA. LAPXA1: JNB P3.0,DAXB_HANDDY CALL DELAY1S_2 DEC TGA DEC TGB DJNZ R6,LAPXA1 LAPXA2: JNB P3.0,DAXB_HANDDY CALL DELAY1S_4 DEC TGB DJNZ TGA,LAPXA2 ;====================================== ;Vang A va Do B sang ;************************************************* VADB_AUTO: CLR P1.2 SETB P1.1 MOV TGA,#5 ;============================= LAPVA: JNB P3.0,DAXB_HANDDY ;|| neu p3.0 = 1 thi chay Auto CALL DELAY1S_4 ;|| con p3.0 = 0 thi chay Handdy DEC TGB DJNZ TGA,LAPVA CALL DELAY1S_4 TIEP: LJMP MAIN ;************************************************************ HANDDY: ;============================ DAXB_HANDDY: MOV P0,#0FFH ; Khong cho hien thoi gian SETB P1.0 ;Do A sang SETB P1.5 ; Xanh B sang CLR P1.3 ;Tat Do B CLR P1.4 ;Tat Vang B CLR P1.2 ;Tat xanh A JB P3.0,TIEP ; || neu p3.0 = 0 thi Chay Handdy JB P3.1,DAXB_HANDDY ; || neu p3.0 = 1 thi chay AUTO
  • 15. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 15 ; ||=> neu p3.1 = 1 thi nhay DAXB_HANDDY ;||=> neu p3.1 = 0 thi nhay XADB_HANDDY ;==================================================================== XADB_HANDDY: MOV P0,#0FFH SETB P1.2 ; Xanh A sang SETB P1.3 ; Do B sang CLR P1.1 ;Tat vang A CLR P1.0 ;Tat do A CLR P1.5 ; Tat Xanh B JB P3.0,XADB_AUTO ; || neu p3.0 = 0 thi Chay Handdy ;|| neu p3.0 = 1 thi chay AUTO JNB P3.1,XADB_HANDDY ;||=>neu p3.1 = 1 thi nhay DAXB_HANDDY JMP DAXB_HANDDY ;||=>neu p3.1 = 0 thi nhay XADB_HANDDY ;============================================= HIEN_THI1: CALL MAHOA MOV P0,CHUCA CALL DELAY MOV P0,DONVIA CALL DELAY MOV P0,CHUCB CALL DELAY MOV P0,DONVIB CALL DELAY RET ;================================================ HIEN_THI2: CALL MAHOA MOV P0,DONVIA CALL DELAY MOV P0,CHUCB CALL DELAY MOV P0,DONVIB CALL DELAY RET ;================================================ HIEN_THI3: CALL MAHOA MOV P0,CHUCA CALL DELAY MOV P0,DONVIA CALL DELAY MOV P0,DONVIB CALL DELAY RET ;================================================ HIEN_THI4: CALL MAHOA MOV P0,DONVIA CALL DELAY MOV P0,DONVIB CALL DELAY RET ;================================================
  • 16. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 16 MAHOA: MOV A,TGA MOV B,#10 DIV AB ADD A,#10110000B MOV CHUCA,A MOV A,B ADD A,#01110000B MOV DONVIA,A MOV A,TGB MOV B,#10 DIV AB ADD A,#11100000B MOV CHUCB,A MOV A,B ADD A,#11010000B MOV DONVIB,A RET ;================================================ DELAY1S_1: MOV R0,#40 LAPDELAY1S_1: CALL HIEN_THI1 CALL DELAY50MS DJNZ R0,LAPDELAY1S_1 RET ;=============================================== DELAY1S_2: MOV R0,#40 LAPDELAY1S_2: CALL HIEN_THI2 CALL DELAY50MS DJNZ R0,LAPDELAY1S_2 RET ;=============================================== DELAY1S_3: MOV R0,#40 LAPDELAY1S_3: CALL HIEN_THI3 CALL DELAY50MS DJNZ R0,LAPDELAY1S_3 RET ;=============================================== DELAY1S_4: MOV R0,#40 LAPDELAY1S_4: CALL HIEN_THI4 CALL DELAY50MS DJNZ R0,LAPDELAY1S_4 RET ;=============================================== DELAY50MS: MOV TH0,#HIGH(-25000) MOV TL0,#LOW(-25000) SETB TR0 JNB TF0,$ CLR TR0
  • 17. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 17 CLR TF0 RET ;======================================= DELAY: LOOP1: MOV R1,#10 LOOP2: MOV R2,#200 DJNZ R2,$ DJNZ R1,LOOP2 RET ;=================================================== END ;****************************************************** CHƯƠNG TRÌNH HOÀN HIỆN HƠN 2: ;chuong trinh den giao thong 2 che do co hien thi thoi gian ra led 7 doan ;Nguoi viet :VUONG VAN HUNG ;Ngay viet :20/06/2008 ;=================================================== TGA DATA 7CH CHUCA DATA 2EH DONVIA DATA 7DH TGB DATA 7EH DONVIB DATA 7FH CHUCB DATA 2FH DOA BIT P1.0 VANGA BIT P1.1 XANHA BIT P1.2 DOB BIT P1.3 VANGB BIT P1.4 XANHB BIT P1.5 ;=================================================== ORG 0000H INIT: MOV TMOD,#01H MOV P1,#00H ;=================================================== ;Chuong trinh chinh MAIN: ;**************************************************** ; Do A va Xanh b sang ;*************************************************** DAXB_AUTO: CLR DOB CLR VANGA MOV TGA,#20 MOV TGB,#17 MOV R6,#8 SETB DOA
  • 18. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 18 SETB XANHB ;============================== LAPXB: CALL DELAY1S_1 DEC TGA DEC TGB JNB P3.0,DAXB_HANDDY DJNZ R6,LAPXB MOV R6,#3 LAPXB1: JNB P3.0,DAXB_HANDDY CALL DELAY1S_3 DEC TGA DEC TGB DJNZ R6,LAPXB1 LAPXB2: JNB P3.0,DAXB_HANDDY CALL DELAY1S_4 DEC TGA DJNZ TGB,LAPXB2 ;================================================= ; Do A va vang B sang ;************************************************ DAVB_AUTO: CLR XANHB SETB VANGB MOV TGB,#3 ;===================================== LAPVB: JNB P3.0,XADB_HANDDY ; neu p3.0 =1 thi chay Auto CALL DELAY1S_4 ; con p3.0 =0 thi chay Handdy DEC TGA DJNZ TGB,LAPVB CALL DELAY1S_4 ;============================================= ; Xanh A va Do B sang ;************************************************* XADB_AUTO: CLR DOA CLR VANGB SETB XANHA SETB DOB MOV TGA,#25 MOV TGB,#30 MOV R6,#16 ; thay doi khi TGB va TGA thay doi R6 = TGA - 9 ;============================== LAPXA: JNB P3.0,XADB_HANDDY ;|| neu p3.0 =0 thi chay Handdy CALL DELAY1S_1 ; || con p3.0 =1 thi chay AuTo DEC TGB DEC TGA DJNZ R6,LAPXA MOV R6,#5 ; thay doi khi TGB va TGA thay doi R6 = TGB - TGA LAPXA1: JNB P3.0,DAXB_HANDDY
  • 19. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 19 CALL DELAY1S_2 DEC TGA DEC TGB DJNZ R6,LAPXA1 LAPXA2: JNB P3.0,DAXB_HANDDY CALL DELAY1S_4 DEC TGB DJNZ TGA,LAPXA2 ;====================================== ;Vang A va Do B sang ;************************************************* VADB_AUTO: CLR XANHA SETB VANGA MOV TGA,#5 ;============================= LAPVA: JNB P3.0,DAXB_HANDDY ;|| neu p3.0 = 1 thi chay Auto CALL DELAY1S_4 ; || con p3.0 = 0 thi chay Handdy DEC TGB DJNZ TGA,LAPVA CALL DELAY1S_4 TIEP: LJMP MAIN ;************************************************************ ;CHE DO HANDDY ;================================== DAXB_HANDDY: MOV P0,#0FFH ; Khong cho hien thoi gian SETB DOA ;Do A sang SETB XANHB ; Xanh B sang CLR DOB ;Tat Do B CLR VANGA ;Tat Vang A CLR XANHA ;Tat Xanh A JB P3.0,TIEP ;|=> neu p3.0 = 0 thi Chay Handdy JB P3.1,DAXB_HANDDY ;|=>neu p3.0 = 1 thi chay AUTO ;|==>neu p3.1 = 1 thi nhay DAXB_HANDDY ;|==> neu p3.1 = 0 thi nhay XADB_HANDDY ;==================================================================== XADB_HANDDY: MOV P0,#0FFH SETB XANHA ;XANH A SANG SETB DOB ; DO B SANG CLR VANGB ; TAT VANG B CLR DOA ; DO A TAT CLR XANHB ; XANH B TAT JB P3.0,XADB_AUTO ; neu p3.0 = 1 thi chay AUTO JNB P3.1,XADB_HANDDY ; neu p3.0 = 0 thi Chay Handdy JMP DAXB_HANDDY ;neu p3.1 = 1 thi nhay DAXB_HANDDY ; neu p3.1 = 0 thi nhay XADB_HANDDY ;============================================= HIEN_THI1: CALL MAHOA MOV P0,CHUCA CALL DELAY MOV P0,DONVIA
  • 20. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 20 CALL DELAY MOV P0,CHUCB CALL DELAY MOV P0,DONVIB CALL DELAY RET ;================================================ HIEN_THI2: CALL MAHOA MOV P0,DONVIA CALL DELAY MOV P0,CHUCB CALL DELAY MOV P0,DONVIB CALL DELAY RET ;================================================ HIEN_THI3: CALL MAHOA MOV P0,CHUCA CALL DELAY MOV P0,DONVIA CALL DELAY MOV P0,DONVIB CALL DELAY RET ;================================================ HIEN_THI4: CALL MAHOA MOV P0,DONVIA CALL DELAY MOV P0,DONVIB CALL DELAY RET ;================================================ MAHOA: MOV A,TGA MOV B,#10 DIV AB ADD A,#10110000B MOV CHUCA,A MOV A,B ADD A,#01110000B MOV DONVIA,A MOV A,TGB MOV B,#10 DIV AB ADD A,#11100000B MOV CHUCB,A MOV A,B ADD A,#11010000B MOV DONVIB,A RET ;================================================ DELAY1S_1: MOV R0,#40 LAPDELAY1S_1: CALL HIEN_THI1
  • 21. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 21 CALL DELAY50MS DJNZ R0,LAPDELAY1S_1 RET ;=============================================== DELAY1S_2: MOV R0,#40 LAPDELAY1S_2: CALL HIEN_THI2 CALL DELAY50MS DJNZ R0,LAPDELAY1S_2 RET ;=============================================== DELAY1S_3: MOV R0,#40 LAPDELAY1S_3: CALL HIEN_THI3 CALL DELAY50MS DJNZ R0,LAPDELAY1S_3 RET ;=============================================== DELAY1S_4: MOV R0,#40 LAPDELAY1S_4: CALL HIEN_THI4 CALL DELAY50MS DJNZ R0,LAPDELAY1S_4 RET ;=============================================== DELAY50MS: MOV TH0,#HIGH(-25000) MOV TL0,#LOW(-25000) SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 RET ;======================================= DELAY: LOOP1: MOV R1,#10 LOOP2: MOV R2,#200 DJNZ R2,$ DJNZ R1,LOOP2 RET ;=================================================== END ;***********************************************************
  • 22. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 22 AD0 AD1 AD2 AD3 QA1 QB1 QC1 QD1 QE1 QF1 QG1 QA2 QB2 QC2 QD2 QE2 QF2 QG2 QA3 QB3 QC3 QD3 QE3 QF3 QG3 QA4 QB4 QC4 QD4 QE4 QF4 QG4 AD3 AD2 AD1 AD0 AD0 AD1 AD2 AD3 AD0 AD1 AD2 AD3 AD0 AD1 AD2 AD3 QG1 QA1 QB1 QC1 QD1 QE1 QF1 QA2 QB2 QC2 QD2 QE2 QF2 QG2 QG3 QA4 QB4 QC4 QD4 QE4 QG4 QF4 QA3 QB3 QC3 QD3 QE3 QF3 AD6 AD7 AD5 AD4 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 AD7 AD6 AD5 AD4 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 U1 80C51 R0 10k C1 1u VCC X1 12MHz C2 27p C3 27p VCC TUYEN DUONG A A 7 B 1 C 2 D 6 LT 3 BI 4 LE/STB 5 QA 13 QB 12 QC 11 QD 10 QE 9 QF 15 QG 14 U2 4511 VCC VCC VCC 2 3 4 5 6 7 8 9 1 DRT2 10K Q6 2N2369 Q1 2N2369 Q2 2N2369 Q3 2N2369 Q4 2N2369 Q5 2N2369 TUYEN DUONG B CHUC A DON VI A CHUC B DON VI B R9 4k7 R10 4k7 R11 4k7 R12 4k7 R13 4k7 R14 4k7 A 7 B 1 C 2 D 6 LT 3 BI 4 LE/STB 5 QA 13 QB 12 QC 11 QD 10 QE 9 QF 15 QG 14 U3 4511 A 7 B 1 C 2 D 6 LT 3 BI 4 LE/STB 5 QA 13 QB 12 QC 11 QD 10 QE 9 QF 15 QG 14 U4 4511 A 7 B 1 C 2 D 6 LT 3 BI 4 LE/STB 5 QA 13 QB 12 QC 11 QD 10 QE 9 QF 15 QG 14 U5 4511 2 3 4 5 6 7 8 9 1 RP1 10K BÀI 1: CHƯƠNG TRÌNH ĐÈN GIAO THÔNG PHẦN 1: CHƯƠNG TRÌNH ĐÈN GIAO THÔNG TỰ ĐỘNG CÓ HIỂN THỊ THỜI GIAN BẰNG LED 7 ĐOẠN : ;Nguoi viet :VUONG VAN HUNG ;Ngay viet :20/06/2008 ;=================================================== TGA DATA 7CH CHUCA DATA 2EH DONVIA DATA 7DH TGB DATA 7EH DONVIB DATA 7FH CHUCB DATA 2FH
  • 23. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 23 ;=================================================== ;Chuong trinh chinh ORG 0000H INIT: MOV TMOD,#01H MOV P1,#0H MAIN: MOV TGA,#30 MOV TGB,#25 SETB P1.0 SETB P1.5 ;=============================== ;Thoi gian cua Do A va Xanh B LAPXB: CALL DELAY1S DEC TGA DJNZ TGB,LAPXB CLR P1.5 SETB P1.4 MOV TGB,#5 ;============================== ;Thoi gian cua Do A va Vang B LAPVB: CALL DELAY1S DEC TGA DJNZ TGB,LAPVB CLR P1.0 CLR P1.4 SETB P1.2 SETB P1.3 MOV TGA,#25 MOV TGB,#30 ;============================== ;Thoi gian cua Do B va Xanh A LAPXA: CALL DELAY1S DEC TGB DJNZ TGA,LAPXA CLR P1.2 SETB P1.1 MOV TGA,#5 ;============================== ;Thoi gian cua Do B va Vang A LAPVA: CALL DELAY1S DEC TGB DJNZ TGA,LAPVA CLR P1.1 CLR P1.3 LJMP MAIN ;================================================= HIENTHI: CALL MAHOA MOV P0,CHUCA CALL DELAY
  • 24. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 24 MOV P0,DONVIA CALL DELAY MOV P0,CHUCB CALL DELAY MOV P0,DONVIB CALL DELAY RET ;================================================ MAHOA: MOV A,TGA MOV B,#10 DIV AB ADD A,#10110000B MOV CHUCA,A MOV A,B ADD A,#01110000B MOV DONVIA,A MOV A,TGB MOV B,#10 DIV AB ADD A,#11100000B MOV CHUCB,A MOV A,B ADD A,#11010000B MOV DONVIB,A RET ;================================================ DELAY1S: MOV R0,#20 LAPDELAY1S: CALL HIENTHI CALL DELAY50MS DJNZ R0,LAPDELAY1S RET ;=============================================== DELAY50MS: MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 RET DELAY: LOOP1: MOV R1,#20 LOOP2: MOV R2,#200 DJNZ R2,$ DJNZ R1,LOOP2 RET ;=================================================== END ;*********************************************************************
  • 25. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 25 ;DONG HO SO THE HIET PHUT VA GIAY ;Nguoi viet :VUONG VAN HUNG ;Ngay viet :20/06/2008 ;=================================================== TGA DATA 7CH CHUCA DATA 2EH DONVIA DATA 7DH TGB DATA 7EH DONVIB DATA 7FH CHUCB DATA 2FH ;=================================================== ;Chuong trinh chinh ORG 0000H INIT: MOV TMOD,#01H MOV P1,#0H MAIN: MOV TGA,#30 MOV TGB,#25 SETB P1.0 SETB P1.5 ;=============================== ;Thoi gian cua Do A va Xanh B LAPXB: CALL DELAY1S DEC TGA DJNZ TGB,LAPXB CLR P1.5 SETB P1.4 MOV TGB,#5 ;============================== ;Thoi gian cua Do A va Vang B LAPVB: CALL DELAY1S DEC TGA DJNZ TGB,LAPVB CLR P1.0 CLR P1.4 SETB P1.2 SETB P1.3 MOV TGA,#18 MOV TGB,#20 ;============================== ;Thoi gian cua Do B va Xanh A LAPXA: CALL DELAY1S DEC TGB DJNZ TGA,LAPXA CLR P1.2 SETB P1.1 MOV TGA,#2 ;==============================
  • 26. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 26 ;Thoi gian cua Do B va Vang A LAPVA: CALL DELAY1S DEC TGB DJNZ TGA,LAPVA CLR P1.1 CLR P1.3 LJMP MAIN ;================================================= HIENTHI: CALL MAHOA MOV P0,CHUCA CALL DELAY MOV P0,DONVIA CALL DELAY MOV P0,CHUCB CALL DELAY MOV P0,DONVIB CALL DELAY RET ;================================================ MAHOA: MOV A,TGA MOV B,#10 DIV AB ADD A,#10110000B MOV CHUCA,A MOV A,B ADD A,#01110000B MOV DONVIA,A MOV A,TGB MOV B,#10 DIV AB ADD A,#11100000B MOV CHUCB,A MOV A,B ADD A,#11010000B MOV DONVIB,A RET ;================================================ DELAY1S: MOV R0,#50 LAPDELAY1S: CALL HIENTHI CALL DELAY40MS DJNZ R0,LAPDELAY1S RET ;=============================================== DELAY40MS: MOV TH0,#HIGH(-20000) MOV TL0,#LOW(-20000) SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 RET
  • 27. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 27 ;============================ DELAY: LOOP1: MOV R1,#10 LOOP2: MOV R2,#200 DJNZ R2,$ DJNZ R1,LOOP2 RET ;=================================================== END ;*************************************************************** PHẦN 2: CHƯƠNG TRÌNH ĐÈN GIAO THÔNG CHẠY 2 CHẾ ĐỘ VÀ CÓ HIỂN THỊ THỜI GIAN RA LED 7 ĐOẠN ;CHUONG TRINH DEN GIAO THONG 2 CHE DO CO HIEN THI THOI GIAN RA LED 7 DOAN ;Nguoi viet :VUONG VAN HUNG ;Ngay viet :20/06/2008 ;=================================================== TGA DATA 7CH CHUCA DATA 2EH DONVIA DATA 7DH TGB DATA 7EH DONVIB DATA 7FH CHUCB DATA 2FH ;=================================================== ORG 0000H ;======================================= ;Chuong trinh chinh INIT: MOV TMOD,#01H MOV P1,#00H MAIN: ;=================================== AUTO: ; Do A va Xanh b sang DAXB_AUTO: MOV P2,#1 ;xuat so 1 ra led 7 doan: dang chay che do tu dong CLR P1.3 CLR P1.1 CLR P1.2 MOV TGA,#30 MOV TGB,#25 SETB P1.0 SETB P1.5 LAPXB:
  • 28. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 28 JNB P3.0,DAXB_HANDDY ; neu p3.0 o muc thap (0) thi chay Auto CALL DELAY1S ; con p3.0 o muc cao (1) thi chay Handdy DEC TGA DJNZ TGB,LAPXB ;====================================================================== ; Do A va vang B sang DAVB_AUTO: CLR P1.5 SETB P1.4 MOV TGB,#5 LAPVB: JNB P3.0,DAXB_HANDDY ; neu p3.0 o muc thap (0) thi chay Auto CALL DELAY1S ; con p3.0 o muc cao (1) thi chay Handdy DEC TGA DJNZ TGB,LAPVB ;======================================================================= ; Xanh A va Do B sang XADB_AUTO: MOV P2,#1 CLR P1.0 CLR P1.4 SETB P1.2 SETB P1.3 MOV TGA,#25 MOV TGB,#30 LAPXA: JNB P3.0,XADB_HANDDY ; neu p3.0 o muc thap (0) thi chay Auto CALL DELAY1S ; con p3.0 o muc cao (1) thi chay Handdy DEC TGB DJNZ TGA,LAPXA ;====================================== ;Vang A va Do B sang VADB_AUTO: CLR P1.2 SETB P1.1 MOV TGA,#5 LAPVA: JNB P3.0,XADB_HANDDY ; neu p3.0 o muc thap (0) thi chay Auto CALL DELAY1S ; con p3.0 o muc cao (1) thi chay Handdy DEC TGB DJNZ TGA,LAPVA LJMP MAIN ;================================================= HANDDY: DAXB_HANDDY: CLR TR0 ; Khong cho hien thoi gian MOV P0,#00H ; Khong cho hien thoi gian MOV P2,#0 ; xuat gia tri 0 ra led 7 doan: chay che do Handdy SETB P1.0 ;Do A sang SETB P1.5 ; Xanh B sang
  • 29. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 29 CLR P1.3 ;Tat Do B CLR P1.4 ;Tat Vang B CLR P1.2 ; Tat Xanh A JB P3.0,DAXB_AUTO ; neu p3.0 o muc thap (0) thi chay Auto JB P3.1,DAXB_HANDDY ; Neu p3.1 muc 0 cho XADB_HANDDY sang ;Neu p3.1 muc 1 cho DAXB_HANDDY sang ;==================================================================== XADB_HANDDY: CLR TR0 MOV P0,#00H MOV P2,#0 SETB P1.2 SETB P1.3 CLR P1.1 CLR P1.0 CLR P1.5 JB P3.0,XADB_AUTO JNB P3.1,XADB_HANDDY ; Neu p3.1 muc 0 cho XADB_HANDDY sang JMP DAXB_HANDDY ;Neu p3.1 muc 1 cho DAXB_HANDDY sang ;============================================= HIENTHI: CALL MAHOA MOV P0,CHUCA CALL DELAY MOV P0,DONVIA CALL DELAY MOV P0,CHUCB CALL DELAY MOV P0,DONVIB CALL DELAY RET ;================================================ MAHOA: MOV A,TGA MOV B,#10 DIV AB ADD A,#10110000B MOV CHUCA,A MOV A,B ADD A,#01110000B MOV DONVIA,A MOV A,TGB MOV B,#10 DIV AB ADD A,#11100000B MOV CHUCB,A MOV A,B ADD A,#11010000B MOV DONVIB,A RET ;================================================ DELAY1S: MOV R0,#20 LAPDELAY1S:
  • 30. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 30 CALL HIENTHI CALL DELAY50MS DJNZ R0,LAPDELAY1S RET ;=============================================== DELAY50MS: MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 RET DELAY: LOOP1: MOV R1,#20 LOOP2: MOV R2,#200 DJNZ R2,$ DJNZ R1,LOOP2 RET ;=================================================== END ;********************************************************************** BÀI 2: CHƯƠNG TRÌNH ĐỌC ENCODER PHẦN 1: CHƯƠNG TRÌNH ĐỌC ENCODER VA XUAT XUNG ĐIỀU KHIỂN ĐÔNG CƠ CÁCH 1: ;=================================================== ;Khai bao bien / hang so / dau vao/ra DEM DATA 7EH ;=================================================== ;Khai bao ngat ngoai ;=================================================== ORG 0000H LJMP INIT ORG 001BH LJMP NGATTTIMER1 ;=================================================== ;Chuong trinh chinh INIT: MOV IE,#88H ; NGAT COUNTER 1 MOV TMOD,#61H ;TIMER 1 HD CHE DO COUNTER1 MOV TH1,#(-20) MOV TL1,#(-20) SETB TR1 MOV DEM,#0 MOV P2,DEM
  • 31. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 31 ;================================== MAIN: CALL XUATXUNG MOV A,DEM CJNE A,#5,MAIN MOV DEM,#0 SETB P1.7 SJMP $ ;======================================= XUATXUNG: WAIT: CLR P1.7 MOV TH0,#HIGH(-8000) MOV TL0,#LOW(-8000) SETB TR0 WAIT1: JNB TF0,WAIT1 CLR TF0 CLR TF0 SETB P1.7 MOV TH0,#HIGH(-2000) MOV TL0,#LOW(-2000) SETB TR0 WAIT2: JNB TF0,WAIT2 CLR TF0 CLR TR0 RET ;================================== NGATTTIMER1: INC DEM MOV P2,DEM RETI ;=================================================== END ;********************************************************************** CÁCH 2: ;=================================================== ORG 0000H LJMP MAIN ORG 001BH LJMP NGATTTIMER1 ;=================================================== ;Chuong trinh chinh MAIN: MOV IE,#88H MOV TMOD,#51H MOV TH1,#HIGH(-12800) ; encoder 128 xung/vong MOV TL1,#LOW(-12800) ;tuong ung voi 100 vong quay cua Dong Co SETB TR1
  • 32. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 32 NHANSTART: JB P3.7,$ WAIT: CLR P1.7 MOV TH0,#HIGH(-8000) MOV TL0,#LOW(-8000) SETB TR0 WAIT1: JNB TF0,WAIT1 CLR TF0 CLR TF0 SETB P1.7 MOV TH0,#HIGH(-2000) MOV TL0,#LOW(-2000) SETB TR0 WAIT2: JNB TF0,WAIT2 CLR TF0 CLR TR0 SJMP WAIT ;==================================== NGATTTIMER1: SETB P1.7 SJMP $ RETI ;=================================================== END ;************************************************** CÁCH 3: ;Ngay viet :26/06/2008 ;=================================================== ;Khai bao bien / hang so / dau vao/ra DEM DATA 7EH ;=================================================== ;Khai bao ngat ngoai ;=================================================== ORG 0000H LJMP INIT ORG 001BH INC DEM RETI ;=================================================== ;Chuong trinh chinh INIT: MOV IE,#88H MOV TMOD,#61H MOV TH1,#(-128) MOV TL1,#(-128)
  • 33. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 33 MOV DEM,#0 MOV P2,DEM SETB TR1 ; ============================ NHANSTART: JB P3.7,$ ; ========================== MAIN: CALL XUAT_XUNG MOV P2,DEM MOV A,DEM CJNE A,#10,MAIN ; tuong ung voi dong co quay 10 vong SETB P1.7 SJMP $ ;=============================================== ; Chuong trinh xuat xung 100hz co do rong 80% dieu khien dong co XUAT_XUNG: WAIT: CLR P1.7 MOV TH0,#HIGH(-8000) MOV TL0,#LOW(-8000) SETB TR0 WAIT1: JNB TF0,WAIT1 CLR TF0 CLR TF0 SETB P1.7 MOV TH0,#HIGH(-2000) MOV TL0,#LOW(-2000) SETB TR0 WAIT2: JNB TF0,WAIT2 CLR TF0 CLR TR0 RET ;=================================================== END ;*********************************************************** CÁCH 4: ;CHUONG TRINH SU DUNG NGAT COUNTER ;=================================================== ;Khai bao bien / hang so / dau vao/ra ;================================================== DEM DATA 7EH CHUC DATA 7AH DONVI DATA 7BH ;=================================================== ;Khai bao ngat ngoai ;===================================================
  • 34. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 34 ORG 0000H LJMP INIT ORG 001BH LJMP NGATCOUNTER1 ;=================================================== ;Chuong trinh chinh ;==================================================== ORG 0030H INIT: MOV IE,#88H ; NGAT COUNTER 1 MOV TMOD,#61H ;TIMER 1 HD CHE DO COUNTER1 MOV TH1,#(-5) MOV TL1,#(-5) SETB TR1 MOV DEM,#0 ;================================== MAIN: CALL HIENTHI MOV A,DEM CJNE A,#100,MAIN MOV DEM,#0 SJMP $ ;======================================= NGATCOUNTER1: INC DEM MOV P2,DEM RETI ;============================================= HIENTHI: CALL MAHOA MOV P0,CHUC CALL DELAY MOV P0,DONVI CALL DELAY RET ;================================================ MAHOA: MOV A,DEM MOV B,#10 DIV AB ADD A,#10110000B MOV CHUC,A MOV A,B ADD A,#01110000B MOV DONVI,A RET ;================================================ DELAY1S: MOV R0,#20 LAPDELAY1S: CALL DELAY50MS DJNZ R0,LAPDELAY1S RET
  • 35. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 35 ;=============================================== DELAY50MS: MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 RET ;================================================== DELAY: MOV R1,#10 LOOP2: MOV R2,#200 DJNZ R2,$ DJNZ R1,LOOP2 RET ;=================================================== END ;*******************************************************************
  • 36. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 36 PHẦN 2: CHƯƠNG TRÌNH ĐỌC ENCODER CỦA ĐÔNG CƠ ;============================================================= ;Khai Bao Bien/Hang So/ Dau Vao Ra DEM DATA 7EH TRAM DATA 7FH CHUC DATA 7AH DONVI DATA 7BH TOCDO DATA 7CH ;============================================================ ORG 0000H LJMP INIT ;=========================================================== ;KHAI BAO NGAT ORG 0003H LJMP NHANSTART ;=========================================================== ;CHUONG TRINH CHINH ORG 0030H INIT: SETB IT0 ;Ngat Canh Xuong MOV TMOD,#01010001B ;Timer1 Dem 16bit, Timer0 Dinh Thoi 8bit Nap Lai MOV TOCDO,TH1 MOV TH0,#(-200) SETB TR0 CLR TF1 MOV IE,#10000001B SETB IT0 ;Cho Phep Ngat Ngoai0 Va Ngat Tiemr0 SETB TR1 ; Cho Phep Doc Encoder MOV P1,#0FFH MOV DEM,#0 MAIN: JB TF0,HIENTHILED SJMP MAIN ;============================================================= ;Cac Chuong Trinh Con Va Phuc Vu Ngat NHANSTART: CLR P1.7 INC DEM MOV P2,DEM MOV A,DEM CJNE A,#10,THOATNHANSTART MOV A,#0 MOV DEM,A SETB P1.7 CLR TF1 THOATNHANSTART: RETI ;========================================================
  • 37. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 37 HEXTOBCD: MOV A,TOCDO MOV B,#100 DIV AB ADD A,#11010000B MOV TRAM,A MOV A,B MOV B,#10 DIV AB ADD A,#10110000B MOV CHUC,A MOV A,B ADD A,#01110000B MOV DONVI,A RET ;========================================================== HIENTHILED: CLR TF0 MOV TOCDO,TH1 CALL HEXTOBCD CALL XUATLED SJMP MAIN ;========================================================== XUATLED: MOV P0,TRAM CALL DELAY MOV P0,CHUC CALL DELAY MOV P0,DONVI CALL DELAY RET ;========================================================= DELAY: LOOP1: MOV R1,#10 LOOP2: MOV R2,#100 DJNZ R2,$ DJNZ R1,LOOP2 RET ;=========================================================== END ;**************************************************************** PHẦN 3: CHƯƠNG TRÌNH ĐỌC ENCODER CỦA ĐÔNG CƠ VÀ XUẤT XUNG ĐIỀU KHIỂN ĐỘNG CƠ : ;Doc encoder + xuat xung dieu khien dong co DC ;=================================================== ;Khai bao bien / hang so / dau vao/ra
  • 38. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 38 TOCDO DATA 7FH TRAM DATA 7EH CHUC DATA 7DH DONVI DATA 7CH DONGCO BIT P1.7 ;=================================================== ORG 0000H LJMP INIT ;=================================================== ;Khai bao ngat ORG 0003H LJMP DEMTOCDO ORG 000BH LJMP XUATXUNG ORG 0030H ;=================================================== ;Chuong trinh chinh INIT: SETB IT0 ; NGAT CANH XUONG MOV TMOD,#01010010B ; TIMER 1 DEM 16 BIT, TIMER 0 DINH THOI 8 BIT NAP LAI MOV TH1,#0 MOV TL1,#0 MOV TH0,#5 MOV TL0,#5 CLR TF0 CLR TF1 MOV TOCDO,#0 MOV R0,#1 MOV R7,#40 JB P3.0,$ ; DOI DEN KHI NHAN NUT MOI BAT DAU CHAY JNB P3.0,$ MOV IE,#10000011B ; CHO PHEP NGAT NGOAI 0 VA TIMER 0 SETB TR1 ; CHO PHEP DOC ENCODER MAIN: CALL KIEMTRATOCDO CALL HEXTOBCD ; CALL XUATLED SJMP MAIN ;=================================================== KIEMTRATOCDO: MOV P2,TOCDO MOV A,TOCDO CJNE A,#0,TIEP CLR TR0 ; NGUNG DONG CO SETB DONGCO SJMP THOATKIEMTRA TIEP: SETB TR0 ; CHO XUAT XUNG THOATKIEMTRA: RET ;=================================================== HEXTOBCD: MOV A,TH1 MOV B,#100 DIV AB ADD A,#11010000B MOV TRAM,A MOV A,B
  • 39. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 39 MOV B,#10 DIV AB ADD A,#10110000B MOV CHUC,A MOV A,B ADD A,#01110000B MOV DONVI,A RET ;=================================================== XUATLED: MOV P0,TRAM CALL DELAY10MS MOV P0,CHUC CALL DELAY10MS MOV P0,DONVI CALL DELAY10MS RET ;=================================================== DELAY: LOOP1: MOV R1,#20 LOOP2: MOV R2,#200 DJNZ R2,$ DJNZ R1,LOOP2 RET DELAY10MS: DELAY1: MOV R1,#10 DELAY2: MOV R2,#50 DJNZ R2,$ DJNZ R1,DELAY2 RET ;=================================================== DEMTOCDO: INC TOCDO MOV A,TOCDO CJNE A,#10,THOATNGATNGOAI MOV TOCDO,#0 THOATNGATNGOAI: RETI ;=================================================== XUATXUNG: DJNZ R7,THOAT MOV R7,#40 JB DONGCO,DANGLEN ; BIT DONGCO DANG O MUC 1 : TAT DJNZ R0,THOAT SETB DONGCO MOV A,#10 CLR C SUBB A,TOCDO MOV R0,A SJMP THOAT DANGLEN: DJNZ R0,THOAT CLR DONGCO
  • 40. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 40 MOV R0,TOCDO THOAT: RETI ;=================================================== END ;*************************************************************************
  • 41. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 41 A8 A9 A10 A11 A12 A13 A14 A15 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 B7 B6 B5 B4 B3 B2 B1 A15 A14 A13 A12 A11 A10 A9 A8 B0 B0 B1 B2 B3 B4 B5 B6 B7 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 U1 80C51 R0 10k C1 1u VCC RES RES X1 11.059MHz C2 27p C3 27p VCC VCC D7 14 D6 13 D5 12 D4 11 D3 10 D2 9 D1 8 D0 7 E 6 RW 5 RS 4 VSS 1 VDD 2 VEE 3 LCD1 LM016L 123 6 5 4 89 = 7 ++ C ON 0 A B C D 1 2 4 3 BÀI 3: CHƯƠNG TRÌNH HIỂN THỊ LED MA TRẬN PHẦN 1 : CHƯƠNG TRÌNH XUẤT CHỮ A RA LED MA TRẬN : ; HIEN THI LED MATRAN ;=================================================== ;Khai bao bien / hang so / dau vao/ra DEM DATA 7EH QUAY DATA 7BH ;=================================================== ;Khai bao ngat ngoai o ORG 0000H JMP MAIN ;=================================================== MAIN: MOV DPTR,#MAA MOV DEM,#8 MOV QUAY,#0FEH LAP: MOV P1,QUAY MOV A,DEM DEC A MOVC A,@A+DPTR MOV P2,A MOV A,QUAY RL A
  • 42. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 42 MOV QUAY,A CALL DELAY DJNZ DEM,LAP JMP MAIN DELAY: MOV R0,#10 LOOP: MOV R1,#100 DJNZ R1,$ DJNZ R0,LOOP RET ORG 4000H MAA: DB 20H,50H,88H,88H,0F8H,88H,88H,88H MAH: DB 88H,88H,88H,0F8H,88H,88H,88H,88H END ;******************************************************************************** PHẦN 2 : CHƯƠNG TRÌNH QUÉT BÀN PHÍM MA TRẬN VÀ HIỂN THỊ RA LED MAT TRẬN ;=================================================== ;Khai bao bien / hang so / dau vao/ra DEM DATA 7EH QUAY DATA 7BH MAPHIM DATA 7AH ;=================================================== ;Khai bao ngat ngoai o ORG 0000H ;=================================================== INIT: MOV DPTR,#XOA MAIN: CALL QUET_PHIM CALL XET_PHIM CALL XUAT_LED_MATRAN CALL DELAY JMP MAIN ;=================================== QUET_PHIM: MOV DEM,#4 MOV QUAY,#11111110B LAP_QUET_PHIM: MOV P3,QUAY MOV A,P3 ANL A,#0F0H CJNE A,#0F0H,COPHIM MOV A,QUAY RL A
  • 43. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 43 MOV QUAY,A DJNZ DEM,LAP_QUET_PHIM MOV MAPHIM,#0 SJMP THOAT_QUET_PHIM COPHIM: MOV MAPHIM,P3 THOAT_QUET_PHIM: RET ;================================= XUAT_LED_MATRAN: MOV DEM,#8 MOV QUAY,#0FEH LAP: MOV P1,QUAY MOV A,DEM DEC A MOVC A,@A+DPTR MOV P2,A MOV A,QUAY RL A MOV QUAY,A CALL DELAY DJNZ DEM,LAP RET ;====================================== XET_PHIM: MOV A,MAPHIM CJNE A,#0,XETPHIM_0 LJMP THOAT_XET_PHIM XETPHIM_0: CJNE A,#01111110B,XETPHIM_1 MOV DPTR,#MACHIA LJMP THOAT_XET_PHIM XETPHIM_1: CJNE A,#01111101B,XETPHIM_2 MOV DPTR,#MANHAN LJMP THOAT_XET_PHIM XETPHIM_2: CJNE A,#01111011B,XETPHIM_3 MOV DPTR,#MATRU LJMP THOAT_XET_PHIM XETPHIM_3: CJNE A,#01110111B,XETPHIM_4 MOV DPTR,#MACONG LJMP THOAT_XET_PHIM XETPHIM_4: CJNE A,#10111110B,XETPHIM_5 MOV DPTR,#SOCHIN LJMP THOAT_XET_PHIM XETPHIM_5: CJNE A,#10111101B,XETPHIM_6 MOV DPTR,#SOSAU
  • 44. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 44 LJMP THOAT_XET_PHIM XETPHIM_6: CJNE A,#10111011B,XETPHIM_7 MOV DPTR,#SOBA LJMP THOAT_XET_PHIM XETPHIM_7: CJNE A,#10110111B,XETPHIM_8 MOV DPTR,#MABANG LJMP THOAT_XET_PHIM XETPHIM_8: CJNE A,#11011110B,XETPHIM_9 MOV DPTR,#SOTAM LJMP THOAT_XET_PHIM XETPHIM_9: CJNE A,#11011101B,XETPHIM_10 MOV DPTR,#SONAM LJMP THOAT_XET_PHIM XETPHIM_10: CJNE A,#11011011B,XETPHIM_11 MOV DPTR,#SOHAI LJMP THOAT_XET_PHIM XETPHIM_11: CJNE A,#11010111B,XETPHIM_12 MOV DPTR,#SOKHONG LJMP THOAT_XET_PHIM XETPHIM_12: CJNE A,#11101110B,XETPHIM_13 MOV DPTR,#SOBAY LJMP THOAT_XET_PHIM XETPHIM_13: CJNE A,#11101101B,XETPHIM_14 MOV DPTR,#SOBON LJMP THOAT_XET_PHIM XETPHIM_14: CJNE A,#11101011B,XETPHIM_15 MOV DPTR,#SOMOT LJMP THOAT_XET_PHIM XETPHIM_15: CJNE A,#11100111B,XETPHIM_16 MOV DPTR,#XOA LJMP THOAT_XET_PHIM XETPHIM_16: NOP THOAT_XET_PHIM: RET ;========================================== DELAY: MOV R0,#10 LOOP: MOV R1,#100 DJNZ R1,$ DJNZ R0,LOOP RET ;=========================================== ;NHAN CUA CAC PHIM MA TRAN ORG 4000H MANHAN : DB 0C3H ,0E7H,7EH,3CH,3CH,7EH,0E7H,0C3H
  • 45. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 45 MACHIA : DB 18H,18H,00H,0FFH,0FFH,00H,18H,18H MACONG: DB 18H,18H,18H,0FFH,0FFH,18H,18H,18H MATRU : DB 00H,00H,00H,0FFH,0FFH,00H,00H,00H SOKHONG: DB 70H,88H,88H,88H,88H,88H,88H,70H SOMOT: DB 60H,0E0H,60H,60H,60H,60H,60H,60H SOHAI: DB 70H,88H,08H,08H,10H,20H,40H,0F8H SOBA: DB 0F8H,08H,10H,20H,70H,08H,08H,0F0H SOBON: DB 88H,88H,88H,0F8H,08H,08H,08H,08H SONAM: DB 0F8H,80H,80H,0F8H,08H,08H,08H,0F8H SOSAU: DB 70H,88H,80H,0F0H,88H,88H,88H,70H SOBAY: DB 078H,88H,08H,08H,08H,08H,08H,08H SOTAM: DB 70H,88H,88H,70H,88H,88H,88H,70H SOCHIN: DB 0F8H,88H,88H,0F8H,08H,08H,08H,0F8H MABANG: DB 0FFH,0FFH,0H,0H,0H,0H,0FFH,0FFH XOA : DB 0H,0H,0H,0H,0H,0H,0H,0H TEST : DB 1H,2H,3H,4H,5H,6H,7H,8H MAA: DB 20H,50H,88H,88H,0F8H,88H,88H,88H ;=================================================== END ;***************************************************** A15 A14 A13 A12 A11 A10 A9 A8 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 AD4 AD5 AD6 AD7 A8 A9 A10 A11 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 AD3 AD2 AD1 AD0 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 U1 80C51 R0 10k C1 1u VCC X1 11.059MHz C2 27p C3 27p VCC A 7 B 1 C 2 D 6 LT 3 BI 4 LE/STB 5 QA 13 QB 12 QC 11 QD 10 QE 9 QF 15 QG 14 U2 4511 VCC +88.8 DC2 Q1 2N2905 VCC VCC A 7 B 1 C 2 D 6 LT 3 BI 4 LE/STB 5 QA 13 QB 12 QC 11 QD 10 QE 9 QF 15 QG 14 U21 4511 2 3 4 5 6 7 8 9 1 DRT1 10K VCC 2 3 4 5 6 7 8 9 1 DRT2 10K +88.8 DC1 Q2 2N2905 VCC
  • 46. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 46 BÀI 4: CHƯƠNG TRÌNH BĂNG CHUYỀN : PHẦN 1 : CHƯƠNG TRÌNH BĂNG CHYỀN SẢN PHẨM : CÁCH 1: ;Ngay viet :09/06/2008 ;=================================================== ;Khai bao bien / hang so / dau vao/ra DEM DATA 7AH ;=================================================== ORG 0000H LJMP INIT ORG 0003H LJMP TACDONGCAMBIEN ;=================================================== ;Khai bao ngat ;=================================================== ;Chuong trinh chinh INIT: MOV IE,#81H SETB IT0 MOV DEM,#0 MOV P2,DEM SETB P1.6 SETB P1.7 MAIN: JNB P3.0,MUCTHAP CLR P1.7 SJMP MAIN MUCTHAP: JB P3.1,THUNGNHO THUNGLON: CLR P1.6 SETB P1.7 MOV A,DEM CJNE A,#10,THUNGLON MOV DEM,#0 MOV P2,DEM CLR P1.7 SETB P1.6 JMP MAIN THUNGNHO: CLR P1.6 SETB P1.7 MOV A,DEM CJNE A,#5,THUNGNHO MOV DEM,#0 MOV P2,DEM CLR P1.7 SETB P1.6 JMP MAIN TACDONGCAMBIEN: INC DEM MOV P2,DEM MOV A,DEM
  • 47. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 47 RETI ;=================================================== END ;*********************************************************** CÁCH 2: ;Ngay viet :23/06/2008 ;=================================================== ;Khai bao bien / hang so / dau vao/ra DEM DATA 7AH ;=================================================== ORG 0000H LJMP INIT ORG 0003H LJMP TACDONGCAMBIEN ;=================================================== ORG 0030H ;Chuong trinh chinh INIT: MOV IE,#81H SETB IT0 MOV DEM,#0 MOV P2,DEM ;============================= MAIN: NHANSTART: JB P3.4,NHANSTART NHANSTOP: JNB P3.5,EXIT JNB P3.0, MUCTHAP ; khi co thung chua sp cam bien tich cuc muc thap. CLR P1.7 ; cho bang tai mang thung chua san pham hoat dong. SJMP NHANSTOP MUCTHAP: JB P3.1,THUNGNHO ;============================== THUNGLON: CLR P1.6 SETB P1.7 MOV A,DEM CJNE A,#10,NHANSTOP MOV DEM,#0 MOV P2,DEM SETB P1.6 CLR P1.7 SJMP NHANSTOP ;===================================== THUNGNHO: CLR P1.6 SETB P1.7 MOV A,DEM CJNE A,#5,NHANSTOP MOV DEM,#0
  • 48. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 48 MOV P2,DEM SETB P1.6 CLR P1.7 JMP NHANSTOP ;=========================================== TACDONGCAMBIEN: INC DEM MOV P2,DEM MOV A,DEM RETI EXIT: SETB P1.6 SETB P1.7 ;=================================================== END ;******************************************************** CÁCH 3: ;=================================================== ;Khai bao bien / hang so / dau vao/ra DEM DATA 7AH ;=================================================== ORG 0000H LJMP INIT ORG 0003H LJMP TACDONGCAMBIEN ;=================================================== ;Khai bao ngat ;=================================================== ;Chuong trinh chinh INIT: MOV IE,#81H SETB IT0 MOV DEM,#0 MOV P2,DEM ;============================================ NHANSTART: JB P3.4,NHANSTART MAIN: NHANSTOP: JNB P3.5,EXIT JB P3.0, MAIN MUCTHAP: JB P3.1,THUNGNHO ;====================================== THUNGLON: CLR P1.6 SETB P1.7 MOV A,DEM CJNE A,#9,MAIN MOV DEM,#0 MOV P2,DEM SETB P1.6
  • 49. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 49 CLR P1.7 JMP MAIN ;===================================== THUNGNHO: CLR P1.6 SETB P1.7 MOV A,DEM CJNE A,#5,MAIN MOV DEM,#0 MOV P2,DEM SETB P1.6 CLR P1.7 JMP MAIN ;=================================== TACDONGCAMBIEN: INC DEM MOV P2,DEM MOV A,DEM RETI EXIT: SETB P1.6 SETB P1.7 ;=================================================== END ;******************************************************** BÀI 5: CHƯƠNG TRÌNH HIỂN THỊ LED 7 ĐOẠN PHẦN 1 : CHƯƠNG TRÌNH HIỆN THỊ LED 7 ĐOẠN VỚI SỐ : 250 GIẢM VỀ 0 : ; CHUONG TRINH XUET LED HANG TRAM ;=================================================== TRAM DATA 2AH CHUC DATA 2BH DONVI DATA 2CH DEM DATA 2DH ;=================================================== ;Chuong trinh chinh ORG 0000H MAIN: MOV TMOD,#21H MOV TH0,#HIGH(-1000) MOV TL0,#LOW(-1000) MOV TH1,#HIGH(-100) SETB TR1 SETB TR0 MOV DEM,#250 LAP: MOV R7,#10 WAIT: JB TF0,TANSO1 JB TF1,TANSO2 SJMP WAIT
  • 50. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 50 TANSO1: CLR TR0 CLR TF0 MOV TH0,#HIGH(-1000) MOV TL0,#LOW(-1000) SETB TR0 DJNZ R7,WAIT DJNZ DEM,LAP CLR TR0 CLR TF0 SJMP WAIT TANSO2: CLR TF1 CALL HEXTOBCD CALL XUATLED SJMP WAIT HEXTOBCD: MOV A,DEM MOV B,#100 DIV AB ADD A,#11010000B MOV TRAM,A MOV A,B MOV B,#10 DIV AB ADD A,#10110000B MOV CHUC,A MOV A,B ADD A,#01110000B MOV DONVI,A RET ;========================================================== XUATLED: MOV P0,TRAM CALL DELAY MOV P0,CHUC CALL DELAY MOV P0,DONVI CALL DELAY DELAY: MOV R1,#100 LOOP: MOV R2,#250 DJNZ R2,$ DJNZ R1,LOOP RET END ;*********************************************************** CACH 2: ; CHUONG TRINH XUET LED HANG TRAM ;=================================================== TRAM DATA 2AH CHUC DATA 2BH DONVI DATA 2CH DEM DATA 2DH
  • 51. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 51 ;=================================================== ;khai bao ngat ORG 0000H LJMP INIT ORG 000BH DJNZ R0,THOATNGAT DEC DEM MOV R0,#20 MOV A,DEM THOATNGAT: RETI ;================================================== ORG 0030H ;Chuong trinh chinh INIT: MOV IE,#82H MOV TMOD,#01H MOV DEM,#250 MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) SETB TR0 MOV R0,#20 MAIN: CALL HEXTOBCD CALL XUATLED CJNE A,#0,MAIN SJMP $ ;===================================== HEXTOBCD: MOV A,DEM MOV B,#100 DIV AB ADD A,#11010000B MOV TRAM,A MOV A,B MOV B,#10 DIV AB ADD A,#10110000B MOV CHUC,A MOV A,B ADD A,#01110000B MOV DONVI,A RET ;========================================================== XUATLED: MOV P0,TRAM CALL DELAY MOV P0,CHUC CALL DELAY MOV P0,DONVI CALL DELAY ;============================ DELAY: MOV R1,#100 LOOP: MOV R2,#200 DJNZ R2,$ DJNZ R1,LOOP
  • 52. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 52 RET ;====================================== END ;*********************************************************************************** PHẦN 2 : CHƯƠNG TRÌNH HIỆN THỊ LED 7 ĐOẠN VỚI SỐ ĐỒNG HỒ SỐ : ;Ngay viet :20/06/2008 ;=================================================== GIAY DATA 7CH DONVIPHUT DATA 7DH PHUT DATA 7EH DONVIGIAY DATA 7FH CHUCPHUT DATA 2EH CHUCGIAY DATA 2FH ;=================================================== ;Chuong trinh chinh ORG 0000H INIT: MOV TMOD,#01H MOV GIAY,#0 MOV PHUT,#0 ;====================================================== MAIN: CALL DELAY1S INC GIAY MOV A,GIAY CJNE A,#60,MAIN MOV GIAY,#0 INC PHUT MOV A,PHUT CJNE A,#60,MAIN MOV PHUT,#0 SJMP MAIN ;================================================= HIENTHI: CALL MAHOA MOV P0,CHUCGIAY CALL DELAY MOV P0,DONVIGIAY CALL DELAY MOV P0,CHUCPHUT CALL DELAY MOV P0,DONVIPHUT CALL DELAY RET ;================================================ MAHOA:
  • 53. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 53 MOV A,GIAY MOV B,#10 DIV AB ADD A,#10110000B MOV CHUCGIAY,A MOV A,B ADD A,#01110000B MOV DONVIGIAY,A MOV A,PHUT MOV B,#10 DIV AB ADD A,#11100000B MOV CHUCPHUT,A MOV A,B ADD A,#11010000B MOV DONVIPHUT,A RET ;================================================ DELAY1S: MOV R0,#20 LAPDELAY1S: CALL HIENTHI CALL DELAY50MS DJNZ R0,LAPDELAY1S RET ;=============================================== DELAY50MS: MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 RET DELAY: LOOP1: MOV R1,#10 LOOP2: MOV R2,#50 DJNZ R2,$ DJNZ R1,LOOP2 RET ;=================================================== END ;*************************************************************** BÀI 6: CHƯƠNG TRÌNH HIỂN THỊ LED 7 ĐOẠN PHẦN 2 : CHƯƠNG TRÌNH MỖI KHI CÓ NGẮT NGOÀI THÌ TĂNG BIẾN ĐẾM HIỂN THỊ RA LED 7 ĐOẠN GIÁ TRỊ TỪ 0 ĐẾN 9 . ĐỒNG THỜI XUẤT XUNG CÓ TẦN SỐ 100HZ VÀ CÓ ĐỘ RỘNG ĐẾM /10 :
  • 54. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 54 ;============================================== ;Khai bao bien / hang so / dau vao/ra DEM DATA 7EH ;=================================================== ORG 0000H LJMP INIT ;=================================================== ;Khai bao ngat ngoai o ORG 0003H LJMP NGATNGOAI0 ;=================================================== ;Chuong trinh chinh INIT: MOV DEM,#0 SETB EA SETB EX0 SETB IT0 MOV A,DEM ;================================================== MAIN: BANG0: CJNE A,#0,KHAC0 MOV P2,#01111110B JMP MAIN KHAC0: CJNE A,#1,KHAC1 MOV P2,#00110000B SETB P1.7 CALL DELAY10MS CLR P1.7 CALL DELAY20MS CALL DELAY20MS CALL DELAY50MS LJMP MAIN KHAC1: CJNE A,#2,KHAC2 MOV P2,#01101101B SETB P1.7 CALL DELAY20MS CLR P1.7 CALL DELAY20MS CALL DELAY10MS CALL DELAY50MS LJMP MAIN KHAC2: CJNE A,#3,KHAC3 MOV P2,#01111001B SETB P1.7 CALL DELAY20MS CALL DELAY10MS CLR P1.7 CALL DELAY20MS CALL DELAY50MS LJMP MAIN KHAC3:
  • 55. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 55 CJNE A,#4,KHAC4 MOV P2,#00110011B SETB P1.7 LCALL DELAY20MS LCALL DELAY20MS CLR P1.7 CALL DELAY10MS CALL DELAY50MS LJMP MAIN KHAC4: CJNE A,#5,KHAC5 MOV P2,#01011011B SETB P1.7 CALL DELAY50MS CLR P1.7 CALL DELAY50MS LJMP MAIN KHAC5: CJNE A,#6,KHAC6 MOV P2,#01011111B SETB P1.7 CALL DELAY10MS CALL DELAY50MS CLR P1.7 CALL DELAY20MS CALL DELAY20MS LJMP MAIN KHAC6: CJNE A,#7,KHAC7 MOV P2,#01110000B SETB P1.7 CALL DELAY50MS CALL DELAY20MS CLR P1.7 CALL DELAY10MS CALL DELAY20MS LJMP MAIN KHAC7: CJNE A,#8,KHAC8 MOV P2,#01111111B SETB P1.7 CALL DELAY20MS CALL DELAY10MS CALL DELAY50MS CLR P1.7 LCALL DELAY20MS LJMP MAIN KHAC8: MOV P2,#01111011B SETB P1.7 CALL DELAY50MS CALL DELAY20MS CALL DELAY20MS CLR P1.7 LCALL DELAY10MS LJMP MAIN ;=============================== NGATNGOAI0:
  • 56. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 56 INC DEM MOV A,DEM CJNE A,#10,THOATNGAT MOV DEM,#0 MOV A,DEM THOATNGAT: RETI ;================================ DELAY20MS: MOV R1,#100 LOOP: MOV R2,#100 DJNZ R2,$ DJNZ R1,LOOP RET ;=================================== DELAY10MS: MOV R1,#100 LOOP1: MOV R2,#50 DJNZ R2,$ DJNZ R1,LOOP1 RET ;================================= DELAY50MS: MOV R1,#100 LOOP2: MOV R2,#250 DJNZ R2,$ DJNZ R1,LOOP2 RET END ;**************************************************************************** PHẦN 3 : CHƯƠNG TRÌNH MỖI KHI CÓ NGẮT NGOÀI THÌ TĂNG BIẾN ĐẾM HIỂN THỊ RA LED 7 ĐOẠN GIÁ TRỊ TỪ 0 ĐẾN 9 . ĐỒNG THỜI XUẤT XUNG CÓ TẦN SỐ 100HZ VÀ CÓ ĐỘ RỘNG ĐẾM /10 . CÓ ĐỌC ENCODER : ;====================================== ;Khai bao bien / hang so / dau vao/ra DEM DATA 7EH TRAM DATA 7FH CHUC DATA 7AH DONVI DATA 7BH ;=================================================== ;Khai bao ngat ngoai o ORG 0000H LJMP INIT ;=================================================== ORG 0003H LJMP NGATNGOAI0 ;=================================================== ;Chuong trinh chinh ORG 0030H
  • 57. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 57 INIT: SETB IT0 ;Ngat Canh Xuong MOV TMOD,#50H ;Timer1 Dem 16bit, Hoat Dong Che Do Counter MOV TH1,#0 MOV TL1,#0 MOV IE,#10000001B MOV DEM,#0 MOV A,DEM CLR TR1 MAIN: CALL HEXTOBCD CALL XUATLED ;=============================== KIEM_TRA: BANG0: CJNE A,#0,KHAC0 MOV P2,#0 LJMP MAIN KHAC0: CJNE A,#1,KHAC1 SETB P1.7 CALL DELAY10MS CLR P1.7 CALL DELAY20MS CALL DELAY20MS CALL DELAY50MS LJMP MAIN KHAC1: CJNE A,#2,KHAC2 SETB P1.7 CALL DELAY20MS CLR P1.7 CALL DELAY20MS CALL DELAY10MS CALL DELAY50MS LJMP MAIN KHAC2: CJNE A,#3,KHAC3 SETB P1.7 CALL DELAY20MS CALL DELAY10MS CLR P1.7 CALL DELAY20MS CALL DELAY50MS LJMP MAIN KHAC3: CJNE A,#4,KHAC4 SETB P1.7 LCALL DELAY20MS LCALL DELAY20MS CLR P1.7 CALL DELAY10MS CALL DELAY50MS LJMP MAIN KHAC4: CJNE A,#5,KHAC5 SETB P1.7
  • 58. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 58 CALL DELAY50MS CLR P1.7 CALL DELAY50MS LJMP MAIN KHAC5: CJNE A,#6,KHAC6 SETB P1.7 CALL DELAY10MS CALL DELAY50MS CLR P1.7 CALL DELAY20MS CALL DELAY20MS LJMP MAIN KHAC6: CJNE A,#7,KHAC7 SETB P1.7 CALL DELAY50MS CALL DELAY20MS CLR P1.7 CALL DELAY10MS CALL DELAY20MS LJMP MAIN KHAC7: CJNE A,#8,KHAC8 SETB P1.7 CALL DELAY20MS CALL DELAY10MS CALL DELAY50MS CLR P1.7 LCALL DELAY20MS LJMP MAIN KHAC8: SETB P1.7 CALL DELAY50MS CALL DELAY20MS CALL DELAY20MS CLR P1.7 LCALL DELAY10MS LJMP MAIN ;============================ NGATNGOAI0: INC DEM MOV P2,DEM MOV A,DEM CJNE A,#10,THOATNGAT MOV DEM,#0 MOV P2,DEM MOV A,DEM THOATNGAT: RETI ;====================================== HEXTOBCD: MOV A,TH1 MOV B,#100 DIV AB ADD A,#11010000B MOV TRAM,A MOV A,B
  • 59. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 59 MOV B,#10 DIV AB ADD A,#10110000B MOV CHUC,A MOV A,B ADD A,#01110000B MOV DONVI,A RET ;========================================================== XUATLED: MOV P0,TRAM CALL DELAY10MS MOV P0,CHUC CALL DELAY10MS MOV P0,DONVI CALL DELAY10MS RET ;==================================== DELAY10MS: MOV R1,#100 LOOP1: MOV R2,#50 DJNZ R2,$ DJNZ R1,LOOP1 RET ;====================================== DELAY20MS: MOV R1,#100 LOOP: MOV R2,#100 DJNZ R2,$ DJNZ R1,LOOP RET DELAY50MS: MOV R1,#100 LOOP2: MOV R2,#250 DJNZ R2,$ DJNZ R1,LOOP2 RET ;=================================================== END ;********************************************************** BÀI 7: CHƯƠNG TRÌNH CÁC BỘ ĐỊNH THỜI TIMER PHẦN 1 : CHƯƠNG TRÌNH TẠO XUNG VUÔNG TẦN SỐ 20KHZ TRÊN CHÂN P1.0 ;=================================================== ORG 0000H ;=================================================== ;Chuong trinh chinh MAIN: MOV TMOD,#20H
  • 60. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 60 MOV TH1,#HIGH(-25) SETB TR1 WAIT: JNB TF1,WAIT CLR TF1 CPL P1.0 SJMP WAIT ;=================================================== END ;************************************************ PHẦN 2 : CHƯƠNG TRÌNH TẠO XUNG VUÔNG TẦN SỐ 8KHZ TRÊN CHÂN P1.2 ;=================================================== ;Khai bao bien / hang so / dau vao/ra ;8KHZ CO 125 CKM VOI MUC CAO 62CKM , MUC THAP 62CKM ;=================================================== ORG 0000H ;=================================================== ;Chuong trinh chinh MAIN: MOV TMOD,#20H MOV TH1,#HIGH(-62) SETB TR1 WAIT: JNB TF1,WAIT CLR TF1 CPL P1.2 SJMP WAIT ;=================================================== END ;*************************************************************** PHẦN 3 : CHƯƠNG TRÌNH TẠO XUNG VUÔNG TẦN SỐ 1KHZ TRÊN CHÂN P1.2 ;=================================================== ;Khai bao bien / hang so / dau vao/ra ;1KHZ CO 1000 CKM VOI MUC CAO 500 CKM , MUC THAP 500 CKM ;=================================================== ORG 0000H ;=================================================== ;Chuong trinh chinh MAIN: MOV TMOD,#10H AGAIN: MOV TH1,#HIGH(-500)
  • 61. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 61 MOV TL1,#LOW(-500) SETB TR1 WAIT: JNB TF1,WAIT CLR TF1 CLR TR1 CPL P1.2 SJMP AGAIN ;=================================================== END ;************************************************************ PHẦN 4 : CHƯƠNG TRÌNH TẠO XUNG VUÔNG TẦN SỐ 20KHZ TRÊN CHÂN P1. 3 VÀ 1KHZ TRÊN CHÂN P1.0 ;=================================================== ORG 0000H ;=================================================== ;Chuong trinh chinh MAIN: MOV TMOD,#21H MOV TH0,#HIGH(-5000) MOV TL0,#LOW(-5000) MOV TH1,#HIGH(-25) SETB TR1 SETB TR0 MOV R0,#100 MOV R1,#10 WAIT: JB TF0,TANSO1 JB TF1,TANSO2 SJMP WAIT TANSO1: CLR TR0 CLR TF0 MOV TH0,#HIGH(-5000) MOV TL0,#LOW(-5000) SETB TR0 DJNZ R0,WAIT CPL P1.0 SJMP WAIT TANSO2: CLR TF1 DJNZ R1,WAIT CPL P1.3 SJMP WAIT ;=================================================== END ;**************************************************************** PHẦN 5 : CHƯƠNG TRÌNH TẠO XUNG VUÔNG TẦN SỐ 10KHZ TRÊN CHÂN P1.0
  • 62. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 62 VỚI MỨC CAO 75 CKM MỨC THẤP 25 CKM CÁCH 1 : ;=================================================== ORG 0000H ;=================================================== ;Chuong trinh chinh MAIN: MOV TMOD,#22H MOV TH0,#(-75) MOV TH1,#(-100) SETB TR0 SETB TR1 WAIT: JB TF0,LOOP1 JB TF1,LOOP2 SJMP WAIT LOOP1: CLR TF0 CLR P1.1 SJMP WAIT LOOP2: CLR TF1 SETB P1.1 SJMP WAIT ;=================================================== END ;*************************************************** CÁCH 2: ;=================================================== ORG 0000H ;=================================================== ;Chuong trinh chinh MAIN: MOV TMOD,#02H WAIT: MOV TH0,#HIGH(-75) SETB TR0 WAIT1: JNB TF0,WAIT1 CLR TF0 CLR P1.0 MOV TH0,#HIGH(-25) SETB TR0 WAIT2: JNB TF0,WAIT2 SETB P1.0 SJMP WAIT ;=================================================== END
  • 63. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 63 ;*************************************************************** PHẦN 6 : CHƯƠNG TRÌNH TẠO XUNG VUÔNG TẦN SỐ 2KHZ TRÊN CHÂN P1.3 VỚI MỨC CAO 400 CKM MỨC THẤP 100 CKM ;=================================================== ORG 0000H ;=================================================== ;Chuong trinh chinh MAIN: MOV TMOD,#11H LAP: MOV TH0,#HIGH(-400) MOV TL0,#LOW(-400) MOV TH1,#HIGH(-500) MOV TL1,#LOW(-500) SETB TR0 SETB TR1 SETB P1.3 WAIT: JB TF0,LOOP1 JB TF1,LOOP2 SJMP WAIT LOOP1: CLR TF0 CLR P1.3 SJMP WAIT LOOP2: CLR TF1 SETB P1.3 SJMP LAP ;=================================================== END ;*********************************************** BÀI 8: CHƯƠNG TRÌNH NGẮT NGOÀI : PHẦN 1 : CHƯƠNG TRÌNH NHẤN START (P3.2) ĐÈN SÁNG SAU 15S THÌ TẮT , TRONG QUÁ TRÌNH ĐÈN SÁNG NẾU NHẤN START KHÔNG CÓ TÁC DỤNG ;=================================================== ;Khai bao ngat ngoai o ;=================================================== ORG 0000H JMP MAIN ORG 0003H JMP NGATNGOAIO ORG 000BH JMP NGATTIMER0 ;===================================================
  • 64. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 64 ;Chuong trinh chinh MAIN: MOV IE,#83H MOV TMOD,#01H MOV TH0,#HIGH(-60000) MOV TL0,#LOW(-60000) CLR P1.1 SJMP $ ;============================== NGATNGOAIO: SETB P1.1 MOV R0,#0 SETB TF0 RETI ;============================== NGATTIMER0: CLR EX0 INC R0 CLR TR0 MOV TH0,#HIGH(-60000) MOV TL0,#LOW(-60000) SETB TR0 CJNE R0,#250,EXIT CLR P1.1 SETB EX0 CLR TR0 EXIT: RETI ;=================================================== END ;************************************************************* PHẦN 2 : CHƯƠNG TRÌNH NHẤN START (P3.2) ĐÈN SÁNG SAU 15S THÌ TẮT , TRONG QUÁ TRÌNH ĐÈN SÁNG NẾU NHẤN START THÌ ĐÈN SÁNG THÊM 15S NỮA : ;=================================================== ORG 0000H LJMP MAIN ;=================================================== ;Khai bao ngat ORG 0003H LJMP NGATNGOAIO ORG 000BH LJMP NGATTIMER0 ;=================================================== ;Chuong trinh chinh MAIN: MOV IE,#83H MOV TMOD,#01H MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) MOV P0,#0FFH CLR P1.1
  • 65. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 65 SJMP $ ;============================== NGATNGOAIO: SETB P1.1 MOV R0,#0 SETB TF0 RETI ;============================== NGATTIMER0: INC R0 CLR TR0 MOV TH0,#HIGH(-60000) MOV TL0,#LOW(-60000) SETB TR0 CJNE R0,#250,EXIT CLR P1.1 CLR TR0 EXIT: RETI ;=================================================== END ;*********************************************************** PHẦN 3 : CHƯƠNG TRÌNH NHẤN VÀ DỮ START (P3.2) ĐÈN SÁNG. KHI NHẢ TAY RA ĐÈN SANG SAU 15S THÌ TẮT , TRONG QUÁ TRÌNH ĐÈN SÁNG NẾU NHẤN START THÌ KHÔNG CÓ TÁC DỤNG : ;=================================================== ORG 0000H LJMP MAIN ;=================================================== ;Khai bao ngat ORG 0003H LJMP NHANSTART ORG 000BH LJMP NGATTIMER0 ;=================================================== ;Chuong trinh chinh MAIN: MOV IE,#83H MOV TMOD,#01H MOV TH0,#HIGH(-60000) MOV TL0,#LOW(-60000) CLR P1.1 SJMP $ ;================================= NHANSTART: SETB P1.1 MOV R0,#0 JNB P3.2,$ SETB TF0 RETI ;================================== NGATTIMER0: CLR EX0
  • 66. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 66 INC R0 CLR TR0 MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) SETB TR0 CJNE R0,#250,EXIT CLR P1.1 CLR TR0 SETB EX0 EXIT: RETI ;=================================================== END ;***************************************************************** BÀI 9: CHƯƠNG TRÌNH NGẮT BỘ ĐỊNH THỜI TIMER PHẦN 1 : CHƯƠNG TRÌNH TẠO XUNG VUÔNG TẦN SỐ 2KHZ TRÊN CHÂN P1.1 SỬ DỤNG NGẮT TIMER1 ;2KHZ CO 500 CKM VOI MUC CAO 250CKM , MUC THAP 250 CKM ;=================================================== ORG 0000H LJMP MAIN ;=================================================== ;Khai bao ngat ngoai ORG 001BH CPL P1.1 RETI ;=================================================== ORG 0030H ;Chuong trinh chinh MAIN: MOV IE,#88H MOV TMOD,#20H MOV TH1,#HIGH(-250) SETB TR1 JMP $ ;=================================================== END ;***************************************************** PHẦN 2 : CHƯƠNG TRÌNH TẠO XUNG VUÔNG TẦN SỐ 500HZ TRÊN CHÂN P1.1 SỬ DỤNG NGẮT TIMER1 ;500HZ CO 2000 CKM VOI MUC CAO 1000CKM , MUC THAP 1000 CKM ;=================================================== ORG 0000H LJMP MAIN ;=================================================== ;Khai bao ngat ngoai ORG 001BH
  • 67. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 67 CPL P1.1 CLR TR1 MOV TH1,#HIGH(-1000) MOV TL1,#LOW(-1000) SETB TR1 RETI ;=================================================== ORG 0030H ;Chuong trinh chinh MAIN: MOV IE,#88H MOV TMOD,#10H MOV TH1,#HIGH(-1000) MOV TL1,#LOW(-1000) SETB TR1 JMP $ ;=================================================== END ;********************************************************* PHẦN 3 : CHƯƠNG TRÌNH TẠO XUNG VUÔNG TẦN SỐ 10KHZ TRÊN CHÂN P1.0 VỚI MỨC CAO 75 CKM MỨC THẤP 25 CKM . SỬ DỤNG NGẮT TIMER ;=================================================== ORG 0000H LJMP MAIN ;=================================================== ;Khai bao ngat ngoai ORG 001BH LJMP NGATTIMER1 ORG 000BH LJMP NGATTIMER0 ;=================================================== ORG 0030H ;Chuong trinh chinh MAIN: MOV IE,#8AH MOV TMOD,#22H MOV TH1,#(-100) MOV TH0,#(-75) SETB TR0 SETB TR1 SJMP $ NGATTIMER0: CLR TF0 CLR P1.0 CLR ET0 ;Ngung Ngat Timer0 CLR TR0 ;Ngung Hoat Dong Timer0 RETI NGATTIMER1: CLR TF1 SETB P1.0
  • 68. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 68 SETB ET0 ;Cho phep Ngat Timer0 SETB TR0 ;Cho Timer0 Hoat Dong RETI ;=================================================== END ;*********************************************************************** PHẦN 4 : CHƯƠNG TRÌNH TẠO XUNG VUÔNG TẦN SỐ 1KHZ TRÊN CHÂN P1.0 VỚI MỨC CAO 750 CKM MỨC THẤP 250 CKM ;=================================================== ORG 0000H LJMP MAIN ;=================================================== ;Khai bao ngat ngoai ORG 001BH LJMP NGATTIMER1 ORG 000BH LJMP NGATTIMER0 ;=================================================== ORG 0030H ;Chuong trinh chinh MAIN: MOV IE,#8AH MOV TMOD,#21H MOV TH1,#(-250) MOV TH0,#HIGH(-1000) MOV TL0,#LOW(-1000) SETB TR0 SETB TR1 SJMP $ NGATTIMER0: CLR TR0 CLR P1.0 MOV TH0,#HIGH(-1000) MOV TL0,#LOW(-1000) SETB TR0 SETB ET1 ;Ngung Ngat Timer0 SETB TR1 ;Ngung Hoat Dong Timer0 RETI NGATTIMER1: SETB P1.0 CLR ET1 ;Cho phep Ngat Timer0 CLR TR1 ;Cho Timer0 Hoat Dong RETI ;=================================================== END ;***************************************************************
  • 69. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 69 PHẦN 5 : CHƯƠNG TRÌNH TẠO XUNG VUÔNG TẦN SỐ 10KHZ TRÊN CHÂN P1.0 VỚI MỨC CAO 400 CKM MỨC THẤP 100 CKM ;=================================================== ORG 0000H LJMP MAIN ;=================================================== ;Khai bao ngat ngoai ORG 001BH LJMP NGATTIMER1 ORG 000BH LJMP NGATTIMER0 ;=================================================== ORG 0030H ;Chuong trinh chinh MAIN: MOV IE,#8AH MOV TMOD,#11H MOV TH0,#HIGH(-400) MOV TL0,#LOW(-400) MOV TH1,#HIGH(-500) MOV TL1,#LOW(-500) SETB TR0 SETB TR1 CLR P1.0 SJMP $ ;=================================== NGATTIMER1: CLR TR1 CLR P1.0 MOV TH0,#HIGH(-400) MOV TL0,#LOW(-400) MOV TH1,#HIGH(-500) MOV TL1,#LOW(-500) SETB TR1 SETB ET0 ;Cho phep Ngat Timer0 SETB TR0 ;Cho Timer0 Hoat Dong RETI ;============================================= NGATTIMER0: SETB P1.0 CLR ET0 ;Ngung Ngat Timer0 CLR TR0 ;Ngung Hoat Dong Timer0 RETI ;=================================================== END ;**************************************************** PHẦN 6A : CHƯƠNG TRÌNH TẠO XUNG VUÔNG TẦN SỐ 1KHZ TRÊN CHÂN P1.0 VỚI MỨC CAO 500 CKM ( KHI Ở MỨC CAO LÀ 1 XUNG VUÔNG NHỎ CÓ MỨC CAO 25 MỨC THẤP 25 ) MỨC THẤP 500 CKM ;===================================================
  • 70. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 70 ORG 0000H LJMP MAIN ;=================================================== ;Khai bao ngat ngoai ORG 001BH LJMP NGATTIMER1 ORG 000BH LJMP NGATTIMER0 ;=================================================== ORG 0030H ;Chuong trinh chinh MAIN: MOV IE,#8AH MOV TMOD,#12H MOV TH0,#HIGH(-25) MOV TH1,#HIGH(-500) MOV TL1,#LOW(-500) SETB TR0 SETB TR1 CLR P1.0 SJMP $ ;======================================= NGATTIMER1: CLR TR1 MOV TH1,#HIGH(-500) MOV TL1,#LOW(-500) CPL P1.0 SETB TR1 RETI ;============================================= NGATTIMER0: CPL P1.1 RETI ;=================================================== END ;*********************************************** PHẦN 6B : CHƯƠNG TRÌNH TẠO XUNG VUÔNG TẦN SỐ 1KHZ TRÊN CHÂN P1.0 VỚI MỨC CAO 10S ( KHI Ở MỨC CAO LÀ 1 XUNG VUÔNG NHỎ CÓ MỨC CAO 100CKM MỨC THẤP 100CKM ) MỨC THẤP 10S ;=================================================== ORG 0000H LJMP MAIN ;=================================================== ;Khai bao ngat ngoai ORG 001BH LJMP NGATTIMER1 ORG 000BH LJMP NGATTIMER0 ;=================================================== ORG 0030H ;Chuong trinh chinh MAIN:
  • 71. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 71 MOV IE,#8AH MOV TMOD,#21H MOV TH1,#(-100) MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) SETB TR1 SETB TR0 MOV R7,#200 SJMP $ ;================================= NGATTIMER0: CLR TR0 MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) SETB TR0 DJNZ R7,THOAT CPL TR1 CPL ET1 CPL P1.0 THOAT: RETI ;============================================== NGATTIMER1: CPL P1.0 RETI ;=================================================== END ;********************************************************** BÀI 10: CHƯƠNG TRÌNH ĐIỀU KHIỂN LED ĐƠN Bài 1: "sáng lần lượt" Phần cứng: 8 led nối với Port 1, được định vị trí như sau: led 1 nối với P1.0, lần lượt cho đến led 8 (nối với P1.7). Biết led sáng khi tín hiệu xuất ở các chân Port 1 ở giá trị 1. Viết chương trình để các led nối với Port 1 sáng lần lượt từng led từ led 1 đến led 8. Các quá trình trên được lặp lại không ngừng. Minh hoạ: • Cách 1: Cách này đơn giản là làm cho các led sáng bằng cách thiết đặt các giá trị thích hợp cho các bit của Port để làm led sáng theo từng trạng thái, cách này đơn giản nhưng cần viết dài và tốn dung lượng bộ nhớ Rom. Chương trình :
  • 72. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 72 ;*******************Chuong trình;************************************* ;**************/////--- LED SANG LAN LUOT -CACH DON GIAN --- *********** ;**////////___ led sang lan luot tu led 1 den led 8-P1___________ ;**//////////___ sang o muc 1 va tat o muc 0__________________ ;**////////____ lap di lap lai khong gioi han____________________ ;** ------- nap gia tri cho tung trang thai ----------//// ORG 000H ; khai bao dia chi de bat dau chuong trinh tren Rom MOV P1,#00000000B ;===>>>> lam 8 led noi P1 tat LCALL DELAY ;===>>>>goi chuong trinh con Delay XUAT: MOV P1,#00000001B ;===>>>> lam led 1 sang LCALL DELAY MOV P1,#00000010B ;===>>>> lam led 2 sang LCALL DELAY MOV P1,#00000100B ;===>>>> lam led 3 sang LCALL DELAY MOV P1,#00001000B ;===>>>> lam led 4 sang LCALL DELAY MOV P1,#00010000B ;===>>>> lam led 5 sang LCALL DELAY MOV P1,#00100000B ;===>>>> lam led 6 sang LCALL DELAY MOV P1,#01000000B ;===>>>> lam led 7 sang LCALL DELAY MOV P1,#10000000B ;===>>>> lam led 8 sang LCALL DELAY SJMP XUAT ;===>>>> nhay ve thuc hien tu dau ;**>>>>>>>>>>>>>> delay <<<<<<<<<<<<<<<<<<<<<<<<<<<< DELAY: MOV R7,#0FFH ;===>>>> ga'n R7=#0FFH, 1 chu ki may KT2: MOV R6,#0FFH ;===>>>> ga'n R6=#0FFH, 1 chu ki may KT1: DJNZ R6,KT1 ;===>>>> giam R6 xuong 1, R6 khac 0->giam tiep,2ckm DJNZ R7 ,KT2 ;===>>>> giam R7 xuong 1, R6 khac 0-> ve Kt2,2ckm RET ;===>>>> ket thuc chuong trinh con Delay ;________________________________________________________________________________ END ;===>>>> ket thuc chuong trinh ;************************************************************* Cách2: Để led sáng lần lượt, cần làm cho tín hiệu xuất ra giá trị 1 một khoảng thời gian để có thể nhận biết được. Đầu tiên cho P1 tắt, sau đó làm cho bit A.0 lên 1, sử dụng lệnh xoay trái dữ liệu trên thanh Ram A, mỗi lần xoay giá trị 1 sẽ chuyển lần lượt qua A.1 - A.2 - A.3 -A.4 - A.5 -A.6 - A.7 - A.0, mỗi lần xoay xuất tín hiệu ra P1 sẽ thấy led sáng lần lượt từ led 1 đến led 8.
  • 73. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 73 Chương trình: ;****** **********Chuong trình:;****************************** ;**************/////--- LED SANG LAN LUOT --- ********************* ;**------------------------------------------ --------------- ;**////////////////___ led sang lan luot tu led 1 den led 8___________ ;**///////////////___ sang o muc 1 va tat o muc 0__________________ ;**//////////////____ lap di lap lai khong gioi han____________________ ;**<<<<<< <<<<<<<<---------------------------------->>>>>>>>>>>>>> ;** ------- nap thanh Ram A=#00000001B--------------------//////////////// ;**--------ket hop xoay phai thanh Ram A va xuat du lieu---------------//////////////// ;******************************************* ORG 000H ; khai bao dia chi de bat dau chuong trinh tren Rom MOV P1,#0 ;===>>>> lam 8 led noi P1 tat LCALL DELAY ;===>>>>goi chuong trinh con Delay MOV A,#00000001B ;===>>>> A co gia tri 00000001B XUAT: MOV P1,A ;===>>>> xuat du lieu A ra P1 dieu khien led LCALL DELAY ;===>>>>goi chuong trinh con Delay RL A SJMP XUAT ;===>>>> nhay ve thuc hien tu dau ;**>>>> >>>>>>>>>>>> delay <<<<<<<<<<<<<<<<<<<<<<<<<<<< DELAY: MOV R7,#0FFH ;===>>>> ga'n R7=#0FFH, 1 chu ki may KT2: MOV R6,#0FFH ;===>>>> ga'n R6=#0FFH, 1 chu ki may KT1: DJNZ R6,KT1 ;===>>>> giam R6 xuong 1, R6 khac 0->giam tiep,2ckm
  • 74. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 74 DJNZ R7 ,KT2 ;===>>>> giam R7 xuong 1, R6 khac 0-> ve Kt2,2ckm RET ;===>>>> ket thuc chuong trinh con Delay ;_______________________________________________________ END ;===>>>> ket thuc chuong trinh ;*********************************************************** Giải thích: ORG 000H là lệnh chỉ dẫn: chương trình này được lưu vào ROM bắt đầu từ địa chỉ 000H. Khi mới bắt đầu chương trình, Mov P1,#0 làm tất cả các led đều tắt, LCall Delay làm cho thời gian tắt đủ để mắt người nhận ra. Mov A,#00000001B làm cho bit A.0 của thanh ghi A được set lên 1, các bit còn lại ở giá trị 0. Tiếp theo trong chương trình là nhãn Xuat: vị trí trở về, trên lưu đồ giải thuật là điểm mũi tên trở về. Mov P1,A xuất tín hiệu ra P1, lúc này led 1 sáng lên. Tiếp theo là lệnh gọi chương trình con LCall Delay. Câu lệnh RL A làm trạng thái các bit dịch sang trái 1 bit, trước đó chỉ có A.0 ở giá trị 1, sau câu lệnh A.1 mang giá trị 1, còn bit A.0 bây giờ mang giá trị 0 do bit A.7 có giá trị 0 chuyển sang. Sjmp Xuat chương trình nhảy đến đoạn chương trình được đánh dấu bằng nhãn Xuat, nên nhớ rằng chương lệnh gọi Sjmp chỉ nhảy được đến vị trí cách lệnh gọi không quá 128 byte, nếu vượt qua giới hạn này chương trình dịch sẽ báo lỗi, khi đó cần thay Sjmp bằng Ljmp vì Ljmp có thể nhảy đến vị trí bất kì trên ROM. Lúc này chương trình bắt đầu từ nhãn Xuat: Sau nhãn Xuat: là câu lệnh Mov P1,A tín hiệu được xuất ra P1, lúc này P1.1 lên giá trị 1, led thứ hai sáng, các led còn lại không sáng. Câu lệnh RL A làm trạng thái các bit dịch sang trái 1 bit: A.2 lên 1, các bit khác mang giá trị 0. Các quá trình trên được lặp lại liên tục (với câu lệnh Sjmp Xuat và nhãn Xuat: ). Kết quả cuối cùng như trên hình minh họa phía trên. Bài 2: "sáng lần lượt" Phần cứng: 32 led nối với Port 0,1,2,3, được định vị trí như sau: led 1 nối với P0.0, lần lượt cho đến led 32 (nối với P3.7). Biết led sáng khi tín hiệu xuất ở giá trị 1.Viết chương trình để các led nối với Port 0,1,2,3 sáng lần lượt từng led từ led 1 đến led 32. Các quá trình được lặp lại không giới hạn. Minh hoạ:
  • 75. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 75 Cách 1: Cách này cũng như cách 1 trong bài 5, làm cho các led sáng bằng cách thiết đặt các giá trị thích hợp cho các Port để làm led sáng theo từng trạng thái, cách này đơn giản nhưng cần viết dài và tốn dung lượng bộ nhớ Rom. ;*******/////--- 32 LED SANG LAN LUOT- CACH DON GIAN ---******* ;**////////////////___ led sang lan luot tu led 1 den led 32___________ ;**///////////////___ sang o muc 1 va tat o muc 0__________________ ;**//////////////____ lap di lap lai khong gioi han____________________ ;**<<<<<<<<<<<<<<<<<<<---------------------------->>>>>>>>>>>>>> ;** ------- nap gia tr? cho tung trang thai ----------------//////////////// ;**************************************************************** ORG 000H ; Khai Bao Dia Chi De Bat Dau Chuong Trinh Tren Rom MOV P0,#0 ;===>>>> ||| MOV P1,#0 ;===>>>> ||| CAC LED DEU TAT MOV P2,#0 ;===>>>> ||| MOV P3,#0 ;===>>>> ||| LCALL DELAY ;===>>>>GOI CHUONG TRINH CON DELAY XUAT: ;**>>>> >>> LAM LED P0 SANG <<<<<<<<<<<<<<<<<<<< MOV P0,#00000001B ;===>>>> LAM LED 1 SANG LCALL DELAY ;===>>>>GOI CHUONG TRINH CON DELAY MOV P0,#00000010B ;===>>>> LAM LED 2 SANG LCALL DELAY MOV P0,#00000100B ;===>>>> LAM LED 3 SANG LCALL DELAY MOV P0,#00001000B ;===>>>> LAM LED 4 SANG LCALL DELAY MOV P0,#00010000B ;===>>>> LAM LED 5 SANG LCALL DELAY MOV P0,#00100000B ;===>>>> LAM LED 6 SANG LCALL DELAY MOV P0,#01000000B ;===>>>> LAM LED 7 SANG LCALL DELAY MOV P0,#10000000B ;===>>>> LAM LED 8 SANG LCALL DELAY ;**>>>> >>>>>>LAM LED P1 SANG <<<<<<<<<<<<<<<<<<< MOV P0,#00000000B ;===>>>> LAM P0 TAT MOV P1,#00000001B ;===>>>> LAM LED 1 SANG LCALL DELAY MOV P1,#00000010B ;===>>>> LAM LED 2 SANG LCALL DELAY MOV P1,#00000100B ;===>>>> LAM LED 3 SANG LCALL DELAY MOV P1,#00001000B ;===>>>> LAM LED 4 SANG LCALL DELAY MOV P1,#00010000B ;===>>>> LAM LED 5 SANG LCALL DELAY MOV P1,#00100000B ;===>>>> LAM LED 6 SANG LCALL DELAY MOV P1,#01000000B ;===>>>> LAM LED 7 SANG LCALL DELAY
  • 76. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 76 MOV P1,#10000000B ;===>>>> LAM LED 8 SANG LCALL DELAY ;**>>>>> LAM LED P2 SANG <<<<<<<<<<<<< MOV P1,#00000000B ;===>>>> LAM P1 TAT MOV P2,#00000001B ;===>>>> LAM LED 1 SANG LCALL DELAY MOV P2,#00000010B ;===>>>> LAM LED 2 SANG LCALL DELAY MOV P2,#00000100B ;===>>>> LAM LED 3 SANG LCALL DELAY MOV P2,#00001000B ;===>>>> LAM LED 4 SANG LCALL DELAY MOV P2,#00010000B ;===>>>> LAM LED 5 SANG LCALL DELAY MOV P2,#00100000B ;===>>>> LAM LED 6 SANG LCALL DELAY MOV P2,#01000000B ;===>>>> LAM LED 7 SANG LCALL DELAY MOV P2,#10000000B ;===>>>> LAM LED 8 SANG LCALL DELAY ;**>> >>>LAM LED P1 SANG <<<<<<<<<<<<<<<<<<< MOV P2,#00000000B ;===>>>> LAM P2 TAT MOV P3,#00000001B ;===>>>> LAM LED 1 SANG LCALL DELAY MOV P3,#00000010B ;===>>>> LAM LED 2 SANG LCALL DELAY MOV P3,#00000100B ;===>>>> LAM LED 3 SANG LCALL DELAY MOV P3,#00001000B ;===>>>> LAM LED 4 SANG LCALL DELAY MOV P3,#00010000B ;===>>>> LAM LED 5 SANG LCALL DELAY MOV P3,#00100000B ;===>>>> LAM LED 6 SANG LCALL DELAY MOV P3,#01000000B ;===>>>> LAM LED 7 SANG LCALL DELAY MOV P3,#10000000B ;===>>>> LAM LED 8 SANG LCALL DELAY MOV P3,#00000000B ;===>>>> LAM LED P3 TAT LJMP XUAT ; ===>>>> NHAY VE THUC HIEN TU DAU ;**>>>>>>>>>>>>>>>>>> DELAY <<<<<<<<<<<<<<<<<< DELAY: MOV R7,#0FFH ;===>>>> GAN R7=#0FFH, 1 CHU KI MAY KT2: MOV R6,#0FFH ;===>>>> GAN R6=#0FFH, 1 CHU KI MAY KT1: DJNZ R6,KT1 ;===>>>> GIAM R6 XUONG 1, R6 KHAC 0-> GIAM TIEP DJNZ R7,KT2 ;===>>>> GIAM R7 XUONG 1, R6 KHAC 0-> VE KT2 RET ;===>>>> KET THUC CHUONG TRINH CON ;_____________________ _______ END ;===>>>> KET THUC CHUONG TRINH
  • 77. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 77 ;********************************************************** Câu lệnh cuối quay trở về đầu phải dùng Ljmp Xuat chứ không sử dụng Sjmp vì khoảng cách từ vị trí chương trình bắt đầu đến câu lệnh gọi trở về lớn 128 Cách 2: Kết hợp các lệnh xoay và di chuyển dữ liệu để chương trình viết ngắn gọn hơn. Phân tích: Tại mỗi thời điểm chỉ có 1 led sáng, do đó có thể sử dụng lệnh xoay trái trạng thái các bit của các Port, với một bit nào đó được đặt lên 1, xoay bit này lần lượt qua P0,P1,P2,P3 sẽ đạt kết quả. Vấn đề đặt ra là làm sao để xoay 32 bit của P0,P1,P2,P3 trong khi đó chỉ có thanh ghi A thực hiện được lệnh xoay. Không thể thực hiện xoay 32 bit của 4 Port bằng một lệnh duy nhất mà phải trải qua nhiều bước. Để xoay trạng thái các bit trong một ô nhớ bất kì, đầu tiên chuyển giá trị của ô nhớ đó lên thanh ghi A, rồi dùng lệnh xoay thanh ghi A, sau đó chuyển kết quả về lại ô nhớ cần xoay,kết quả ô nhớ đã được xoay. Bây giờ có thể qui ước cụm từ "xoay ô nhớ" thay cho các bước vừa nêu. Để xoay 32 bit (trong bài này là P0,P1,P2,P3), trước hết xoay trái ô nhớ đầu tiên (P0) cùng với cờ C (giá trị đầu tiên của cờ C được được đặt trước tùy từng trường hợp cụ thể hoặc do chương trình thực hiện), sau khi xoay ô nhớ đầu tiên với cờ C, các trạng thái của các bit trong ô nhớ đó chuyển qua một bit, giá trị của cờ C chuyển vào bit 0, bit 7 của ô nhớ đó chuyển vào cờ nhớ C. Xoay ô nhớ thứ hai với cờ nhớ C, giá trị của C trước đó chuyển vào bit 0 của ô nhớ thứ hai (mà giá trị này trước đó là của bit 7 ô nhớ thứ nhất), giá trị của bit 7 trong ô nhớ thứ hai chuyển vào cờ nhớ C. Tiếp tục xoay ô nhớ thứ 3 và thứ 4 với cờ nhớ C. Kết quả cuối cùng trạng thái của 32 bit được dịch sang trái 1 bit, bit 0 của ô nhớ đầu tiên là giá trị của C trước đó và giá trị của cờ nhớ C hiện tại là của bit 7 của ô nhớ thứ 4 chuyển sang. Giải thuật:
  • 78. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 78 Chương trình:
  • 79. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 79 ;**************/////--- 32 LED SANG LAN LUOT --- *************** ;**////////////////___ LED SANG LAN LUOT TU LED 1 DEN LED 32________ ;**///////////////___ SANG O MUC 1 VA TAT O MUC 0_______________ ;**//////////////____ LAP DI LAP LAI KHONG GIOI HAN_______________ ;**<<<<<<<<<<<<<<<<<<<------------------------------->>>>>>>>>>>>>> ;** ------ SU DUNG LENH XOAY PHAI VOI CO C-----XOAY 32 BIT VOI C------//////// ORG 000H ; KHAI BAO DIA CHI DE BAT DAU CHUONG TRINH TREN ROM MOV P0,#0 ;===>>>> ||| TAT TAT CA CA LED MOV P1,#0 ;===>>>> ||| MOV P2,#0 ;===>>>> ||| MOV P3,#0 ;===>>>> ||| SETB C ;===>>>> LAM CO C LEN 1 XOAY32BIT: MOV A,P0 ;|||||||||| RLC A ;||||||||||===>>>> XOAY TRAI P0 VOI CO NHO C MOV P0,A ;|||||||||| MOV A,P1 ;@@@@ RLC A ;@@@@ ===>>>> XOAY TRAI P1 VOI CO NHO C MOV P1,A ;@@@@ MOV A,P2 ;##### RLC A ;##### ===>>>> XOAY TRAI P2 VOI CO NHO C MOV P2,A ;##### MOV A,P3 ;!!!!!!!!!!! RLC A ;!!!!!!!!!!!===>>>> XOAY TRAI P3 VOI CO NHO C MOV P3,A ;!!!!!!!!!!! LCALL DELAY ;===>>>>GOI CHUONG TRINH CON DELAY SJMP XOAY32BIT ;===>>>> NHAY VE THUC HIEN TU DAU ;**>>>>>>> >>>>>> DELAY <<<<<<<<<<<<<<<<<<<< DELAY: MOV R7,#0FFH LOOP: MOV R6,#0FFH DJNZ R6,$ DJNZ R7,LOOP RET ;=====> KET THU CHUONG TRINH CON DELAY ;_________________________________________________________________________________ END ;===>>>> KET THUC CHUONG TRINH ;***********************************************************************************
  • 80. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 80 Bài 3: " Sáng dồn 8 led" Phần cứng: 8 led nối với Port 0 được định vị trí như sau: led 1 nối với P0.0, lần lượt cho đến led 8 (nối với P0.7). Biết led sáng khi tín hiệu xuất ở mức 1.Viết chương trình để các led nối với Port 0 sáng dồn từ led 1 đến led 8 sau đó tắt hết led và lặp lại. Các quá trình được lặp lại không giới hạn. Minh hoạ: • Cách 1: Cách này đơn giản là làm cho các led sáng bằng cách thiết đặt các giá trị thích hợp cho các Port để làm led sáng theo từng trạng thái, cách này đơn giản nhưng cần viết dài và tốn dung lượng bộ nhớ Rom. Nếu cần thiết các bạn tự giải Cách 2: Ở cách này giải thuật phức tạp hơn: Chia quá trình sáng thành hai quá trình đơn: quá trình có 1 led sáng xoay vòng và quá trình các led sáng cố định có lưu giữ trạng thái led cuối chu trình, kết hợp hai chu trình trên sẽ ra kết quả cần thực hiện. Dùng thanh ghi R3 để làm cho bit mang giá trị 1 xoay vòng như ở bài 5. Dùng ô nhớ 30H dùng lưu giá trạng thái cuối của quá trình.(ban đầu 30H= #00000000B) Thực hiện OR: R3 với 30H rồi xuất ra P0 sau mỗi lần R3 xoay 1 bit. Trong quá trình đầu: một bit mang giá trị 1 trên R3 xoay từ vị trí R3.0 đến R3.7, vì 30H lúc này đang mang giá trị là #00000000B, nên khi OR R3 với 30H rồi xuất ra P0 sẽ thấy 1 led sáng di chuyển từ led 1 đến led 8. Khi vị trí sáng đến led thứ 8 vi điều khiển lưu lại giá trị của P0 vào 30H. Trong quá trình hai: bit mang giá trị 1 trên R3 vẫn xoay, lúc này 30H có bit 30H.7 đang ở giá trị 1 tức là 30H đang mang giá trị #10000000B,nên khi OR R3 với 30H rồi xuất ra P0 sẽ thấy led 8 sáng cố định, trong lúc đó có 1 led sáng di chuyển từ led 1 đi vào. Đến led 7 vi điều khiển lưu lại giá trị P0 vào 30H (giá trị mới lưu là #11000000B). Các quá trình tiếp tục như trên. Như vậy cần phải đếm số quá trình đã thực hiện, khi quá trình thực hiện đến lần thứ 8, lúc này các led đều sáng hết, quá trình phải được lặp lại từ đầu. Dùng thanh ghi R0 để lưu giữ giá trị này Trong quá trình thực hiện, số bit tham gia vào xoay giá trị 1 sẽ giảm theo các quá trình, vì vậy cần kiểm soát số lần xoay trái trong mỗi quá trình. Dùng thanh ghi R1 lưu giữ giá trị này.
  • 81. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 81 Giải thuật
  • 82. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 82 Chương trình: ;**************/////--- SANG DON 8 LED --- ********************* ;**////////////////___ SANG DAN TU LED 1 DEN LED 8___________ ;**///////////////___ SANG O MUC 1 VA TAT O MUC 0__________________ ;**//////////////____ LAP DI LAP LAI KHONG GIOI HAN_____________ ;**<<<<<<<<<<<<<<<<<<<-------------------------->>>>>>>>>>>>>> ORG 000H ; Khai Bao Dia Chi De Bat Dau Chuong Trinh Tren Rom TUDAU: MOV P0,#00H MOV R0,#8 ;+++>>>SO QUA TRINH THUC HIEN MOV 30H,#00H SD2: MOV 01H,00H ;+++>>> VI KHONG CO LENH MOV R1,R0 MOV R3,# 00H SETB C SD1: LCALL DELAY MOV A,R3 ;@@@@ RLC A ;@@@@===>>>XOAY TRAI R3 MOV R3,A ;@@@@ ORL A,30H ;+++>>> THUC HIEN PHEP OR GIUA A VA 30H, KET QUA O A MOV P0,A ;===>>>XUAT KET QUA RA P0 DJNZ R1,SD1 MOV 30H,P0 ;===>>> LUU GIU TRANG THAI CUOI DJNZ R0,SD2 LJMP TUDAU ;**>>>>>>>> >>>>>>>>>>> DELAY <<<<<<<<<<<<<<<<<<<<<< DELAY: MOV R7,#0FFH ;===>>>> GAN R7=#0FFH, 1 CHU KI MAY KT2: MOV R6,#0FFH ;===>>>> GAN R6=#0FFH, 1 CHU KI MAY KT1: DJNZ R6,KT1 ;== > Giam R6 Xuong 1, R6 Khac 0-> Giam Tiep DJNZ R7,KT2 ;===>> GIAM R7 XUONG 1, R6 KHAC 0-> VE KT2 RET ;===>>>> KET THUC CHUONG TRINH CON ;_____________________________________________________ END ;===>>>> KET THUC CHUONG TRINH ;*********************************************************************
  • 83. CHÖÔNG TRÌNH VI ĐIỀU KHIỂN ĐH: CÔNG NGHỆ SÀI GON VƯƠNG VĂN HÙNG CLASS: ĐĐT307. 3 Trang 83 Bài 3: CHƯƠNG TRÌNH ĐIỀU KHIỂN LED SÁNG DẦN TỪ TRÁI QUA PHẢI LƯU ĐỒ GIẢI THUẬT : CHƯƠNG TRÌNH : ;Chuong trình:;**********/////--- SANG DAN 8 LED --- **************** ;**/////////////___ Sang dan tu trai qua phai___________ ;**//////////___ sang o muc 0 va tat o muc 1_______________