Professional Documents
Culture Documents
B MN IN T CNG NGHIP
TI LIU HNG DN
TH NGHIM - THC HNH
A. MC CH:
Thc hnh lp trnh ng dng trn my tnh, bin dch chng trnh, np vo vi iu khin v s dng m
hnh th nghim kim chng.
iu khin thit b ngoi vi bng cc port ca vi iu khin.
iu khin vic hin th bng cch s dng LED 7 on theo nhiu phng php khc nhau.
iu khin vic hin th cc thng tin v s liu bng cch s dng cc b hin th dng LED 7 on.
B. YU CU:
Nm vng tp lnh ca vi iu khin MCS-51.
Bit cch vit cc chng trnh iu khin LED 7 on ch :
o Khng a hp v ng vo d liu kiu BCD.
o Khng a hp v ng vo d liu kiu 7 on.
o a hp v ng vo d liu kiu BCD (khng dng vi mch gii a hp bn ngoi/gii a hp bng phn
mm).
o a hp v ng vo d liu kiu 7 on (khng dng vi mch gii a hp bn ngoi/gii a hp bng
phn mm).
o a hp v ng vo d liu kiu BCD (dng vi mch gii a hp bn ngoi/gii a hp bng phn cng).
o a hp v ng vo d liu kiu 7 on (dng vi mch gii a hp bn ngoi/gii a hp bng phn
cng).
Nm c s v nguyn l hot ng ca khi LED 7 on trn m hnh th nghim.
Nm c s v nguyn l iu khin LED 7 on theo phng php:
o Khng a hp v ng vo d liu kiu BCD.
o Khng a hp v ng vo d liu kiu 7 on.
o a hp v ng vo d liu kiu BCD (khng dng vi mch gii a hp bn ngoi/gii a hp bng phn
mm).
o a hp v ng vo d liu kiu 7 on (khng dng vi mch gii a hp bn ngoi/gii a hp bng
phn mm).
o a hp v ng vo d liu kiu BCD (dng vi mch gii a hp bn ngoi/gii a hp bng phn cng).
o a hp v ng vo d liu kiu 7 on (dng vi mch gii a hp bn ngoi/gii a hp bng phn
cng).
Bit cch vit cc chng trnh iu khin hin th cc thng tin v s liu trn cc b hin th dng
LED 7 on.
RP1
1
C2
2
3
4
5
6
7
8
9
33p
X1
12MHz
C1
33p
+5V
U1
19
18
C3
XTAL1
XTAL2
10uF
9
RST
R1
10k
29
30
31
1
2
3
4
5
6
7
8
PSEN
ALE
EA
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
10K
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
R11
R12
R13
R14
R15
R16
R17
U2
39 AD0
38 AD1
37 AD2
36 AD3
35 AD4
34 AD5
33 AD6
32 AD7
AD0
AD1
AD2
AD3
7
1
2
6
4
5
3
A
B
C
D
BI/RBO
RBI
LT
QA
QB
QC
QD
QE
QF
QG
13
12
11
10
9
15
14
56
56
56
56
56
56
56
+5V
A
B
C
D
E
F
G
A
B
C
D
E
F
G
LED4
74LS47
21
22
23
24
25
26
27
28
MA CH IE U KHIE N LED 7 OA N
(CA U HNH KHO N G A HP, NGO VAO BCD)
10
11
12
13
14
15
16
17
AT89C51
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 7 TREN LED 7 DOAN
;***************************************************
;KET NOI:
1 LED -> PORT0.
;CHE DO:
NON-MULTI, BCD IN, CA
;***************************************************
ORG
00H
MOV
P0,#07H
;XUAT HIEN THI
SJMP
$
END
Bi tp:
(xem thm trong phn hng dn v phn bi tp ca Bi 2)
BEGIN
MAIN:
XUT S 0 RA PORT
(P0) = 00H
DELAY500MS
(XEM CTC NY TI V D A1)
GI CTC TO TR
DELAY500MS
XUT S 1 RA PORT
(P0) = 01H
XUT S 6 RA PORT
(P0) = 06H
GI CTC TO TR
GI CTC TO TR
DELAY500MS
DELAY500MS
XUT S 2 RA PORT
(P0) = 02H
XUT S 7 RA PORT
(P0) = 07H
GI CTC TO TR
GI CTC TO TR
DELAY500MS
DELAY500MS
XUT S 3 RA PORT
(P0) = 03H
XUT S 8 RA PORT
(P0) = 08H
GI CTC TO TR
GI CTC TO TR
DELAY500MS
DELAY500MS
XUT S 4 RA PORT
(P0) = 04H
XUT S 9 RA PORT
(P0) = 09H
GI CTC TO TR
GI CTC TO TR
DELAY500MS
DELAY500MS
XUT S 5 RA PORT
(P0) = 05H
GI CTC TO TR
DELAY500MS
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI 0 -> 9 TREN LED 7 DOAN
;***************************************************
;KET NOI:
1 LED -> PORT0.
;CHE DO:
NON-MULTI, BCD IN, CA
;***************************************************
ORG
00H
MAIN:
MOV
P0,#00H
;XUAT HIEN THI
LCALL DELAY500MS
MOV
P0,#01H
;XUAT HIEN THI
LCALL DELAY500MS
MOV
P0,#02H
;XUAT HIEN THI
LCALL DELAY500MS
MOV
P0,#03H
;XUAT HIEN THI
LCALL DELAY500MS
MOV
P0,#04H
;XUAT HIEN THI
LCALL DELAY500MS
MOV
P0,#05H
;XUAT HIEN THI
LCALL DELAY500MS
MOV
P0,#06H
;XUAT HIEN THI
LCALL DELAY500MS
MOV
P0,#07H
;XUAT HIEN THI
LCALL DELAY500MS
MOV
P0,#08H
;XUAT HIEN THI
LCALL DELAY500MS
MOV
P0,#09H
;XUAT HIEN THI
LCALL DELAY500MS
SJMP
MAIN
;****************************************************
Cch 2:
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI 0 -> 9 TREN LED 7 DOAN
;***************************************************
;KET NOI:
1 LED -> PORT0.
;CHE DO:
NON-MULTI, BCD IN, CA
;***************************************************
ORG
00H
MAIN:
MOV
A,#00H
;GIA TRI BAT DAU
LOOP:
MOV
P0,A
;XUAT HIEN THI
LCALL DELAY500MS
INC
A
;TANG GIA TRI
CJNE
A,#10,LOOP
;GIA TRI KET THUC + 1
SJMP
MAIN
;****************************************************
DELAY500MS: ;CHUONG TRINH CON TAO THOI GIAN TRE 500MS
PUSH 00H
MOV
R0,#100
MOV
TMOD,#01H
LOOP2:
MOV
TH0,#HIGH(-5000)
MOV
TL0,#LOW(-5000)
SETB
TR0
JNB
TF0,$
CLR
TR0
CLR
TF0
DJNZ
R0,LOOP2
POP
00H
RET
END
Bi tp:
Bi 1: Hy vit chng trnh iu khin hin th s 3 trn LED1.
Bi 2: Hy vit chng trnh iu khin hin th m s BCD t 0 ln 5 trn LED2.
Bi 3: Chng trnh iu khin hin th s 35 trn hai LED (LED5 v LED4 c ni vi Port0).
PORT 1
PORT 3
20 PINS
40 PINS
PORT 0
PORT 1
PORT 3
PORT 2
DEC.
2-4
DEC.
OUT
7 SEG
OUT 3
7 SEG
OUT 4
BCD IN
3-4
7 SEG
OUT 1
7 SEG
OUT 2
DEC.
OUT
BCD IN POWER
1-2
DEC.
3-8
RP1
1
C2
2
3
4
5
6
7
8
9
33p
X1
12MHz
C1
33p
+5V
U1
19
18
C3
XTAL1
XTAL2
10uF
9
RST
R1
10k
29
30
31
1
2
3
4
5
6
7
8
PSEN
ALE
EA
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
10K
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
R11
R12
R13
R14
R15
R16
R17
U2
39 AD0
38 AD1
37 AD2
36 AD3
35 AD4
34 AD5
33 AD6
32 AD7
21
22
23
24
25
26
27
28
AD4
AD5
AD6
AD7
7
1
2
6
4
5
3
A
B
C
D
BI/RBO
RBI
LT
7
1
2
6
4
5
3
13
12
11
10
9
15
14
56
56
56
56
56
56
56
+5V
LED5
A1
B1
C1
D1
E1
F1
G1
A1
B1
C1
D1
E1
F1
G1
LED4
A2
B2
C2
D2
E2
F2
G2
74LS47
U3
AD0
AD1
AD2
AD3
QA
QB
QC
QD
QE
QF
QG
+5V
A
B
C
D
BI/RBO
RBI
LT
10
11
12
13
14
15
16
17
QA
QB
QC
QD
QE
QF
QG
13
12
11
10
9
15
14
56
56
56
56
56
56
56
A2
B2
C2
D2
E2
F2
G2
R2
R3
R4
R5
R6
R7
R8
74LS47
AT89C51
Bi 3: Chng trnh iu khin hin th s 35 trn hai LED (LED5 v LED4 c ni vi Port0).
1.3 V lu gii thut v vit chng trnh iu khin.
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 35 TREN LED 7 DOAN
;***************************************************
;KET NOI:
2 LED -> PORT0.
;CHE DO:
NON-MULTI, BCD IN, CA
;***************************************************
ORG
00H
MOV
P0,#35H
;XUAT HIEN THI
SJMP
$
END
Bi tp:
(xem thm trong phn hng dn v phn bi tp ca Bi 4)
Bi 4: Chng trnh iu khin hin th m s BCD t 00 ln 99 trn hai LED (LED5 v LED4 c ni vi
Port0).
1 Trnh t tin hnh th nghim:
1.1 Kt ni thit b th nghim.
Qu trnh kt ni thit b th nghim tng t nh Bi 3.
1.2 S nguyn l ca h thng:
S nguyn l ca h thng tng t nh Bi 3.
1.3 V lu gii thut v vit chng trnh iu khin.
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI 00 -> 99 TREN LED 7 DOAN
;***************************************************
;KET NOI:
2 LED -> PORT0.
;CHE DO:
NON-MULTI, BCD IN, CA
;***************************************************
ORG
00H
MAIN:
MOV
A,#00H
;GIA TRI BAT DAU
LOOP:
MOV
P0,A
;XUAT HIEN THI
LCALL DELAY500MS
ADD
A,#1
;TANG GIA TRI
DA
A
CJNE
A,#00H,LOOP
;GIA TRI KET THUC + 1
SJMP
MAIN
;****************************************************
DELAY500MS: ;CHUONG TRINH CON TAO THOI GIAN TRE 500MS
PUSH 00H
MOV
R0,#100
MOV
TMOD,#01H
LOOP2:
MOV
TH0,#HIGH(-5000)
MOV
TL0,#LOW(-5000)
SETB
TR0
JNB
TF0,$
CLR
TR0
CLR
TF0
DJNZ
R0,LOOP2
POP
00H
RET
END
Bi tp:
Bi 1: Hy vit chng trnh iu khin hin th s 53 trn hai LED.
Bi 2: Hy vit chng trnh iu khin hin th m s BCD t 00 ln 59 trn hai LED.
Bi 3: Hy vit chng trnh iu khin hin th m s BCD t 59 xung 00 trn hai LED.
Bi 4: Hy vit chng trnh iu khin hin th m s BCD t 00 ln 23 trn hai LED.
Bi 5: Hy vit chng trnh iu khin hin th m s BCD t 23 xung 00 trn hai LED.
10
Bi 4: Chng trnh iu khin hin th m s BCD t 00 ln 99 trn hai LED (LED5 v LED4 c ni vi
Port0).
Bi 6: Nu trng hp LED ca ta l loi Cathode chung th chng trnh phi thay i nh th no? Ti
sao? Tin hnh m phng th xem sao?
Bi 7: Sinh vin t mnh suy ngh v pht trin thm chng trnh.
Hng dn:
gim gi tr trong thanh ghi A xung mt n v (theo kiu BCD) ta c th dng t hp lnh sau:
ADD
CJNE
SETB
A,#99H
;GIAM GIA TRI / (A) = (A) 1
A,#0FFH,ERROR ;KIEM TRA LOI 66H -> 65H
C
;XU LY LOI (CHO CY = 1)
DA
ERROR:
11
Bi 5: Chng trnh iu khin hin th s 1234 trn bn LED (LED5 v LED4 c ni vi Port1, LED7 v
LED6 c ni vi Port0).
1 Trnh t tin hnh th nghim:
1.1 Kt ni thit b th nghim.
Tt ngun cp cho m hnh th nghim.
Dng dy bus 8 ni J2 (SEL LED IN) khi LED 7 on vi J34 (SWITCH) khi cng tc v gt tt c
cc cng tc v tr ON (v tr GND).
Dng dy bus 8 ni J14 (7SEG OUT 1) khi gii m vi J8 (7SEG4 IN) khi LED 7 on.
Dng dy bus 8 ni J17 (7SEG OUT 2) khi gii m vi J7 (7SEG5 IN) khi LED 7 on.
Dng dy bus 8 ni J19 (7SEG OUT 3) khi gii m vi J6 (7SEG6 IN) khi LED 7 on.
Dng dy bus 8 ni J21 (7SEG OUT 4) khi gii m vi J5 (7SEG7 IN) khi LED 7 on.
Dng dy bus 8 ni J63 (PORT0 / DATA) khi vi iu khin vi J16 (BCD IN 1-2) khi gii m.
Dng dy bus 8 ni J64 (PORT1) khi vi iu khin vi J20 (BCD IN 3-4) khi gii m.
Dng hai dy bus 3 ni J110 (POWER) khi LED 7 on v J36 (POWER) khi gii m vi ngun
+5V khi ngun.
+5V
RP1
1
C2
2
3
4
5
6
7
8
9
33p
X1
12MHz
C1
33p
+5V
U1
19
18
C3
XTAL1
XTAL2
10uF
9
RST
R1
10k
29
30
31
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
1
2
3
4
5
6
7
8
PSEN
ALE
EA
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
U2
AD0
AD1
AD2
AD3
7
1
2
6
4
5
3
AD4
AD5
AD6
AD7
7
1
2
6
4
5
3
P1.0
P1.1
P1.2
P1.3
7
1
2
6
4
5
3
P1.4
P1.5
P1.6
P1.7
7
1
2
6
4
5
3
10K
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
39 AD0
38 AD1
37 AD2
36 AD3
35 AD4
34 AD5
33 AD6
32 AD7
21
22
23
24
25
26
27
28
10
11
12
13
14
15
16
17
AT89C51
A
B
C
D
BI/RBO
RBI
LT
U3
A
B
C
D
BI/RBO
RBI
LT
U4
A
B
C
D
BI/RBO
RBI
LT
U5
A
B
C
D
BI/RBO
RBI
LT
QA
QB
QC
QD
QE
QF
QG
13
12
11
10
9
15
14
56
56
56
56
56
56
56
13
12
11
10
9
15
14
56
56
56
56
56
56
56
13
12
11
10
9
15
14
56
56
56
56
56
56
56
13
12
11
10
9
15
14
56
56
56
56
56
56
56
+5V
+5V
LED7
A4
B4
C4
D4
E4
F4
G4
A1
B1
C1
D1
E1
F1
G1
+5V
LED6
A3
B3
C3
D3
E3
F3
G3
+5V
LED5
A2
B2
C2
D2
E2
F2
G2
LED4
A1
B1
C1
D1
E1
F1
G1
74LS47
QA
QB
QC
QD
QE
QF
QG
A2
B2
C2
D2
E2
F2
G2
R2
R3
R4
R5
R6
R7
R8
A3
B3
C3
D3
E3
F3
G3
R9
R10
R18
R19
R20
R21
R22
A4
B4
C4
D4
E4
F4
G4
R23
R24
R25
R26
R27
R28
R29
MA CH IE U KHIE N LED 7 OA N
(CA U HNH KHO NG A HP, NGO VAO BCD)
74LS47
QA
QB
QC
QD
QE
QF
QG
74LS47
QA
QB
QC
QD
QE
QF
QG
74LS47
12
Bi 5: Chng trnh iu khin hin th s 1234 trn bn LED (LED5 v LED4 c ni vi Port1, LED7 v
LED6 c ni vi Port0).
1.3 V lu gii thut v vit chng trnh iu khin.
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 1234 TREN LED 7 DOAN
;***************************************************
;KET NOI:
4 LED -> PORT0, PORT1.
;CHE DO:
NON-MULTI, BCD IN, CA
;***************************************************
ORG
00H
MOV
P0,#34H
;XUAT HIEN THI
MOV
P1,#12H
;XUAT HIEN THI
SJMP
$
END
Bi tp:
(xem thm trong phn hng dn v phn bi tp ca Bi 6)
13
Bi 6: Chng trnh iu khin hin th m s BCD t 0000 n 9999 trn bn LED (LED5 v LED4 c ni
vi Port1, LED7 v LED6 c ni vi Port0).
1 Trnh t tin hnh th nghim:
1.1 Kt ni thit b th nghim.
Qu trnh kt ni thit b th nghim tng t nh Bi 5.
1.2 S nguyn l ca h thng:
S nguyn l ca h thng tng t nh Bi 5.
1.3 V lu gii thut v vit chng trnh iu khin.
B6
NB
BEGIN
MAIN:
NP GI TR BT U
(R0) = 00H - CHC/N V
(R1) = 00H - NGN/TRM
LOOP:
XUT D LIU RA PORT
(P0) = (R0) - CHC/N V
(P1) = (R1) - NGN/TRM
GI CTC TO TR
DELAY500MS
TNG GI TR CA D LIU
(TNG THEO KIU DEC)
ADD / DA - (R0) - CHC/N V
GI TR 00H (100H)
(CHA M XONG; 99)
S
TNG GI TR CA D LIU
(TNG THEO KIU DEC)
ADD / DA - (R1) - NGN/TRM
GI TR 00H (100H)
(CHA M XONG; 99)
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI 0000 -> 9999 TREN LED 7 DOAN
;***************************************************
;KET NOI:
4 LED -> PORT0, PORT1.
;CHE DO:
NON-MULTI, BCD IN, CA
;***************************************************
ORG
00H
MAIN:
MOV
R0,#00H
;GIA TRI BAT DAU
MOV
R1,#00H
LOOP:
MOV
P0,R0
;XUAT HIEN THI
MOV
P1,R1
LCALL DELAY500MS
MOV
A,R0
ADD
A,#1
;TANG GIA TRI (CHUC - DON VI)
DA
A
MOV
R0,A
CJNE
A,#00H,LOOP
;KIEM TRA GIA TRI > 99 (GIA TRI KET THUC + 1)
MOV
A,R1
ADD
A,#1
;TANG GIA TRI (TRAM - NGAN)
DA
A
MOV
R1,A
CJNE
A,#00H,LOOP
;KIEM TRA GIA TRI > 99 (GIA TRI KET THUC + 1)
SJMP
MAIN
;****************************************************
DELAY500MS: ;CHUONG TRINH CON TAO THOI GIAN TRE 500MS
PUSH 00H
MOV
R0,#100
MOV
TMOD,#01H
LOOP2:
MOV
TH0,#HIGH(-5000)
MOV
TL0,#LOW(-5000)
14
Bi 6: Chng trnh iu khin hin th m s BCD t 0000 n 9999 trn bn LED (LED5 v LED4 c ni
vi Port1, LED7 v LED6 c ni vi Port0).
SETB
JNB
CLR
CLR
DJNZ
POP
RET
END
TR0
TF0,$
TR0
TF0
R0,LOOP2
00H
Bi tp:
Bi 1: Hy vit chng trnh iu khin hin th s 5678 trn bn LED.
Bi 2: Hy vit chng trnh iu khin hin th m s BCD t 0000 ln 5999 trn bn LED.
Bi 3: Hy vit chng trnh iu khin hin th m s BCD t 5999 xung 0000 trn bn LED.
Bi 4: Hy vit chng trnh iu khin hin th m s BCD t 0000 ln 1234 trn bn LED.
Bi 5: Hy vit chng trnh iu khin hin th m s BCD t 1234 xung 0000 trn bn LED.
Bi 6: Nu trng hp LED ca ta l loi Cathode chung th chng trnh phi thay i nh th no? Ti
sao? Tin hnh m phng th xem sao?
Bi 7: Sinh vin t mnh suy ngh v pht trin thm chng trnh.
Hng dn:
gim gi tr trong thanh ghi A xung mt n v (theo kiu BCD) ta c th dng t hp lnh sau:
ADD
CJNE
SETB
A,#99H
;GIAM GIA TRI / (A) = (A) 1
A,#0FFH,ERROR ;KIEM TRA LOI 66H -> 65H
C
;XU LY LOI (CHO CY = 1)
DA
ERROR:
15
PORT 1
PORT 3
20 PINS
PORT 2
PORT 3
40 PINS
PORT 1
PORT 0
RP1
1
C2
2
3
4
5
6
7
8
9
33p
X1
12MHz
C1
33p
+5V
U1
19
18
C3
XTAL1
XTAL2
10uF
9
RST
R1
10k
29
30
31
1
2
3
4
5
6
7
8
PSEN
ALE
EA
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
R4
R5
R6
R7
R8
R9
R10
10K
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
39 AD0
38 AD1
37 AD2
36 AD3
35 AD4
34 AD5
33 AD6
32 AD7
21
22
23
24
25
26
27
28
10
11
12
13
14
15
16
17
AD0
AD1
AD2
AD3
AD4
AD5
AD6
56
56
56
56
56
56
56
+5V
A
B
C
D
E
F
G
A
B
C
D
E
F
G
LED4
AT89C51
16
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 7 TREN LED 7 DOAN
;***************************************************
;KET NOI:
1 LED -> PORT0.
;CHE DO:
NON-MULTI, 7SEG IN (DP -> A), CA
;***************************************************
ORG
00H
MOV
P0,#0F8H
;XUAT HIEN THI
SJMP
$
END
Bi tp:
(xem thm trong phn hng dn v phn bi tp ca Bi 2)
17
BEGIN
MAIN:
XUT M CA S 0 RA PORT
(P0) = C0H
DELAY500MS
(XEM CTC NY TI V D A1)
GI CTC TO TR
DELAY500MS
XUT M CA S 1 RA PORT
(P0) = F9H
XUT M CA S 6 RA PORT
(P0) = 82H
GI CTC TO TR
GI CTC TO TR
DELAY500MS
DELAY500MS
XUT M CA S 2 RA PORT
(P0) = A4H
XUT M CA S 7 RA PORT
(P0) = F8H
GI CTC TO TR
GI CTC TO TR
DELAY500MS
DELAY500MS
XUT M CA S 3 RA PORT
(P0) = B0H
XUT M CA S 8 RA PORT
(P0) = 80H
GI CTC TO TR
GI CTC TO TR
DELAY500MS
DELAY500MS
XUT M CA S 4 RA PORT
(P0) = 99H
XUT M CA S 9 RA PORT
(P0) = 90H
GI CTC TO TR
GI CTC TO TR
DELAY500MS
DELAY500MS
XUT M CA S 5 RA PORT
(P0) = 92H
GI CTC TO TR
DELAY500MS
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI 0 -> 9 TREN LED 7 DOAN
;***************************************************
;KET NOI:
1 LED -> PORT0.
;CHE DO:
NON-MULTI, 7SEG IN (DP -> A), CA
;***************************************************
ORG
00H
MAIN:
MOV
P0,#0C0H
;XUAT HIEN THI
LCALL DELAY500MS
MOV
P0,#0F9H
;XUAT HIEN THI
LCALL DELAY500MS
MOV
P0,#0A4H
;XUAT HIEN THI
LCALL DELAY500MS
MOV
P0,#0B0H
;XUAT HIEN THI
LCALL DELAY500MS
MOV
P0,#99H
;XUAT HIEN THI
LCALL DELAY500MS
MOV
P0,#92H
;XUAT HIEN THI
LCALL DELAY500MS
MOV
P0,#82H
;XUAT HIEN THI
LCALL DELAY500MS
MOV
P0,#0F8H
;XUAT HIEN THI
LCALL DELAY500MS
MOV
P0,#80H
;XUAT HIEN THI
LCALL DELAY500MS
MOV
P0,#90H
;XUAT HIEN THI
LCALL DELAY500MS
SJMP
MAIN
;****************************************************
18
Cch 2:
B2.2
N7
BEGIN
MAIN:
NP A CH VNG M 7 ON
(DPTR) = CODEDISP
NP GI TR BT U
(R0) = 00H
DISP:
NP D LIU HIN TH
(A) = (R0)
GII M D LIU HIN TH
(A) = (@A+DPTR)
DELAY500MS
(XEM CTC NY TI V D A1)
DELAY500MS
TNG GI TR CA D LIU
(R0) = (R0) + 1
GI TR 10 (0AH)
(CHA M XONG; 9)
S
VNG D LIU CODEDISP
C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI 0 -> 9 TREN LED 7 DOAN
;***************************************************
;KET NOI:
1 LED -> PORT0.
;CHE DO:
NON-MULTI, 7SEG IN (DP -> A), CA
;***************************************************
ORG
00H
MAIN:
MOV
DPTR,#CODEDISP
;NAP DIA CHI VUNG MA HIEN THI
MOV
R0,#00H
;VI TRI DU LIEU HIEN THI TRONG VUNG MA
DISP:
MOV
A,R0
;NAP VI TRI DU LIEU
MOVC A,@A+DPTR
;LAY MA HIEN THI
MOV
P0,A
;XUAT HIEN THI
LCALL DELAY500MS
INC
R0
CJNE
R0,#10,DISP
;KIEM TRA VI TRI DU LIEU > 9 (DEM XONG)
SJMP
MAIN
;****************************************************
DELAY500MS: ;CHUONG TRINH CON TAO THOI GIAN TRE 500MS
PUSH 00H
MOV
R0,#100
MOV
TMOD,#01H
LOOP2:
MOV
TH0,#HIGH(-5000)
MOV
TL0,#LOW(-5000)
SETB
TR0
JNB
TF0,$
19
Bi tp:
Bi 1: Hy vit chng trnh iu khin hin th s 3 trn LED2.
Bi 2: Hy vit chng trnh iu khin hin th m s BCD t 0 ln 5 trn LED3.
Bi 3: Hy vit chng trnh iu khin hin th m s BCD t 5 xung 0 trn LED3.
Bi 4: Hy vit chng trnh iu khin hin th m s HEX t 0 ln F trn LED0.
Bi 5: Hy vit chng trnh iu khin hin th m s HEX t F xung 0 trn LED0.
Bi 6: Nu trng hp LED ca ta l loi Cathode chung th chng trnh phi thay i nh th no? Ti
sao? Tin hnh m phng th xem sao?
Bi 7: Sinh vin t mnh suy ngh v pht trin thm chng trnh.
20
Bi 3: Chng trnh iu khin hin th s 35 trn hai LED (LED4 c ni vi Port0, LED5 c ni vi
Port1).
PORT 1
PORT 3
20 PINS
PORT 2
PORT 3
40 PINS
PORT 1
PORT 0
RP1
1
C2
2
3
4
5
6
7
8
9
33p
X1
12MHz
C1
33p
+5V
U1
19
18
C3
XTAL1
XTAL2
10uF
9
R1
10k
A2
B2
C2
D2
E2
F2
G2
R2
R3
R11
R12
R13
R14
R15
56
56
56
56
56
56
56
29
30
31
1
2
3
4
5
6
7
8
RST
PSEN
ALE
EA
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
R4
R5
R6
R7
R8
R9
R10
10K
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
39 AD0
38 AD1
37 AD2
36 AD3
35 AD4
34 AD5
33 AD6
32 AD7
AD0
AD1
AD2
AD3
AD4
AD5
AD6
21
22
23
24
25
26
27
28
56
56
56
56
56
56
56
+5V
A1
B1
C1
D1
E1
F1
G1
A2
B2
C2
D2
E2
F2
G2
A1
B1
C1
D1
E1
F1
G1
LED5
10
11
12
13
14
15
16
17
+5V
LED4
MA C H IE U KHIE N LED 7 OA N
(CA U HNH KHO N G A HP, NGO VAO 7 OAN)
AT89C51
21
Bi 3: Chng trnh iu khin hin th s 35 trn hai LED (LED4 c ni vi Port0, LED5 c ni vi
Port1).
1.3 V lu gii thut v vit chng trnh iu khin.
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 35 TREN LED 7 DOAN
;***************************************************
;KET NOI:
2 LED -> PORT0, PORT1.
;CHE DO:
NON-MULTI, 7SEG IN (DP -> A), CA
;***************************************************
ORG
00H
MAIN:
MOV
P0,#92H
;XUAT HIEN THI
MOV
P1,#0B0H
;XUAT HIEN THI
SJMP
$
END
Bi tp:
(xem thm trong phn hng dn v phn bi tp ca Bi 4)
22
Bi 4: Chng trnh iu khin hin th m s BCD t 00 ln 99 trn hai LED (LED4 c ni vi Port0,
LED5 c ni vi Port1).
1 Trnh t tin hnh th nghim:
1.1 Kt ni thit b th nghim.
Qu trnh kt ni thit b th nghim tng t nh Bi 3.
1.2 S nguyn l ca h thng:
S nguyn l ca h thng tng t nh Bi 3.
1.3 V lu gii thut v vit chng trnh iu khin.
B4
N7
BEGIN
MAIN:
NP A CH VNG M 7 ON
(DPTR) = CODEDISP
NP GI TR BT U
(R0) = 00H - N V
(R1) = 00H - CHC
DISP:
NP D LIU HIN TH
(A) = (R0) - N V
GII M D LIU HIN TH
(A) = (@A+DPTR) - N V
XUT M D LIU RA PORT
(P0) = (A) - N V
NP D LIU HIN TH
(A) = (R1) - CHC
DELAY500MS
(XEM CTC NY TI V D A1)
DELAY500MS
TNG GI TR CA D LIU
(R0) = (R0) + 1 - N V
GI TR 10 (0AH)
(CHA M XONG; 9)
S
KHI NG LI GI TR
(R0) = 00H - N V
TNG GI TR CA D LIU
(R1) = (R1) + 1 - CHC
GI TR 10 (0AH)
(CHA M XONG; 9)
S
VNG D LIU CODEDISP
C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI 00 -> 99 TREN LED 7 DOAN
;***************************************************
;KET NOI:
2 LED -> PORT0, PORT1.
;CHE DO:
NON-MULTI, 7SEG IN (DP -> A), CA
;***************************************************
ORG
00H
MAIN:
MOV
DPTR,#CODEDISP
;NAP DIA CHI VUNG MA HIEN THI
MOV
R0,#00H
;VI TRI DU LIEU HIEN THI TRONG VUNG MA
MOV
R1,#00H
DISP:
MOV
A,R0
;NAP VI TRI DU LIEU
MOVC A,@A+DPTR
;LAY MA HIEN THI
MOV
P0,A
;XUAT HIEN THI (DON VI)
MOV
A,R1
;NAP VI TRI DU LIEU
MOVC A,@A+DPTR
;LAY MA HIEN THI
MOV
P1,A
;XUAT HIEN THI (CHUC)
LCALL DELAY500MS
INC
R0
;TANG DON VI
23
Bi 4: Chng trnh iu khin hin th m s BCD t 00 ln 99 trn hai LED (LED4 c ni vi Port0,
LED5 c ni vi Port1).
CJNE
R0,#10,DISP
;KIEM TRA DON VI > 9 (DEM XONG)
MOV
R0,#00H
;XOA DON VI (DON VI = 0)
INC
R1
;TANG CHUC
CJNE
R1,#10,DISP
;KIEM TRA CHUC > 9 (DEM XONG)
SJMP
MAIN
;****************************************************
DELAY500MS: ;CHUONG TRINH CON TAO THOI GIAN TRE 500MS
PUSH 00H
MOV
R0,#100
MOV
TMOD,#01H
LOOP2:
MOV
TH0,#HIGH(-5000)
MOV
TL0,#LOW(-5000)
SETB
TR0
JNB
TF0,$
CLR
TR0
CLR
TF0
DJNZ
R0,LOOP2
POP
00H
RET
;****************************************************
CODEDISP:
;VUNG DU LIEU HIEN THI
DB
0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
Bi tp:
Bi 1: Hy vit chng trnh iu khin hin th s 53 trn hai LED.
Bi 2: Hy vit chng trnh iu khin hin th m s BCD t 00 ln 59 trn hai LED.
Bi 3: Hy vit chng trnh iu khin hin th m s BCD t 00 ln 23 trn hai LED.
Bi 4: Hy vit chng trnh iu khin hin th m s BCD t 23 xung 00 trn hai LED.
Bi 5: Hy vit chng trnh iu khin hin th m s HEX t 00 ln FF trn hai LED.
Bi 6: Hy vit chng trnh iu khin hin th m s HEX t AB xung 00 trn hai LED.
Bi 7: Nu trng hp LED ca ta l loi Cathode chung th chng trnh phi thay i nh th no? Ti
sao? Tin hnh m phng th xem sao?
Bi 8: Sinh vin t mnh suy ngh v pht trin thm chng trnh.
24
Bi 5: Chng trnh iu khin hin th s 1234 trn bn LED (LED4 c ni vi Port0, LED5 c ni vi
Port1, LED6 c ni vi Port2 v LED7 c ni vi Port3).
PORT 1
PORT 3
20 PINS
40 PINS
PORT 2
PORT 3
PORT 1
PORT 0
RP1
1
C2
2
3
4
5
6
7
8
9
33p
X1
12MHz
C1
33p
+5V
18
C3
XTAL1
XTAL2
10uF
9
R1
10k
A2
B2
C2
D2
E2
F2
G2
R2
R3
R11
R12
R13
R14
R15
56
56
56
56
56
56
56
29
30
31
1
2
3
4
5
6
7
8
RST
PSEN
ALE
EA
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
R4
R5
R6
R7
R8
R9
R10
10K
U1
19
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
39 AD0
38 AD1
37 AD2
36 AD3
35 AD4
34 AD5
33 AD6
32 AD7
AD0
AD1
AD2
AD3
AD4
AD5
AD6
21
22
23
24
25
26
27
28
56
56
56
56
56
56
56
10
11
12
13
14
15
16
17
56
56
56
56
56
56
56
56
56
56
56
56
56
56
+5V
A4
B4
C4
D4
E4
F4
G4
A1
B1
C1
D1
E1
F1
G1
A3
B3
C3
D3
E3
F3
G3
R23
R24
R25
R26
R27
R28
R29
A4
B4
C4
D4
E4
F4
G4
R16
R17
R18
R19
R20
R21
R22
+5V
A3
B3
C3
D3
E3
F3
G3
LED7
+5V
A2
B2
C2
D2
E2
F2
G2
LED6
+5V
A1
B1
C1
D1
E1
F1
G1
LED5
LED4
AT89C51
25
Bi 5: Chng trnh iu khin hin th s 1234 trn bn LED (LED4 c ni vi Port0, LED5 c ni vi
Port1, LED6 c ni vi Port2 v LED7 c ni vi Port3).
1.3 V lu gii thut v vit chng trnh iu khin.
B5
N7
BEGIN
XUT M CA S 4 RA PORT
(P0) = 99H - N V
XUT M CA S 3 RA PORT
(P1) = B0H - CHC
XUT M CA S 2 RA PORT
(P2) = A4H - TRM
XUT M CA S 1 RA PORT
(P3) = F9H - NGN
END
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 1234 TREN LED 7 DOAN
;***************************************************
;KET NOI:
4 LED -> PORT0, PORT1, PORT2, PORT3.
;CHE DO:
NON-MULTI, 7SEG IN (DP -> A), CA
;***************************************************
ORG
00H
MAIN:
MOV
P0,#99H
;XUAT HIEN THI
MOV
P1,#0B0H
;XUAT HIEN THI
MOV
P2,#0A4H
;XUAT HIEN THI
MOV
P3,#0F9H
;XUAT HIEN THI
SJMP
$
END
Bi tp:
(xem thm trong phn hng dn v phn bi tp ca Bi 6)
26
Bi 6: Chng trnh iu khin hin th m s BCD t 0000 ln 9999 trn bn LED (LED4 c ni vi Port0,
LED5 c ni vi Port1, LED6 c ni vi Port2 v LED7 c ni vi Port3).
1 Trnh t tin hnh th nghim:
1.1 Kt ni thit b th nghim.
Qu trnh kt ni thit b th nghim tng t nh Bi 5.
1.2 S nguyn l ca h thng:
S nguyn l ca h thng tng t nh Bi 5.
1.3 V lu gii thut v vit chng trnh iu khin.
B6
N7
BEGIN
MAIN:
NP A CH VNG M 7 ON
(DPTR) = CODEDISP
DELAY500MS
NP GI TR BT U
(R0) = 00H - N V
(R1) = 00H - CHC
(R2) = 00H - TRM
(R3) = 00H - NGN
DISP:
NP D LIU HIN TH
(A) = (R0) - N V
TNG GI TR CA D LIU
(R0) = (R0) + 1 - N V
GI TR 10 (0AH)
(CHA M XONG; 9)
S
KHI NG LI GI TR
(R0) = 00H - N V
NP D LIU HIN TH
(A) = (R1) - CHC
GII M D LIU HIN TH
(A) = (@A+DPTR) - CHC
TNG GI TR CA D LIU
(R1) = (R1) + 1 - CHC
GI TR 10 (0AH)
(CHA M XONG; 9)
NP D LIU HIN TH
(A) = (R2) - TRM
S
KHI NG LI GI TR
(R1) = 00H - CHC
TNG GI TR CA D LIU
(R2) = (R2) + 1 - TRM
GI TR 10 (0AH)
(CHA M XONG; 9)
S
KHI NG LI GI TR
(R2) = 00H - TRM
TNG GI TR CA D LIU
(R3) = (R3) + 1 - NGN
GI CTC TO TR
DELAY500MS
GI TR 10 (0AH)
(CHA M XONG; 9)
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI 0000 -> 9999 TREN LED 7 DOAN
;***************************************************
;KET NOI:
4 LED -> PORT0, PORT1, PORT2, PORT3.
;CHE DO:
NON-MULTI, 7SEG IN (DP -> A), CA
;***************************************************
ORG
00H
MAIN:
MOV
DPTR,#CODEDISP
;NAP DIA CHI VUNG MA HIEN THI
MOV
R0,#00H
;VI TRI DU LIEU HIEN THI TRONG VUNG MA
MOV
R1,#00H
MOV
R2,#00H
MOV
R3,#00H
DISP:
MOV
A,R0
;NAP VI TRI DU LIEU
MOVC A,@A+DPTR
;LAY MA HIEN THI
MOV
P0,A
;XUAT HIEN THI (DON VI)
MOV
A,R1
;NAP VI TRI DU LIEU
27
Bi 6: Chng trnh iu khin hin th m s BCD t 0000 ln 9999 trn bn LED (LED4 c ni vi Port0,
LED5 c ni vi Port1, LED6 c ni vi Port2 v LED7 c ni vi Port3).
MOVC A,@A+DPTR
;LAY MA HIEN THI
MOV
P1,A
;XUAT HIEN THI (CHUC)
MOV
A,R2
;NAP VI TRI DU LIEU
MOVC A,@A+DPTR
;LAY MA HIEN THI
MOV
P2,A
;XUAT HIEN THI (TRAM)
MOV
A,R3
;NAP VI TRI DU LIEU
MOVC A,@A+DPTR
;LAY MA HIEN THI
MOV
P3,A
;XUAT HIEN THI (NGAN)
LCALL DELAY500MS
INC
R0
;TANG DON VI
CJNE
R0,#10,DISP
;KIEM TRA DON VI > 9 (DEM XONG)
MOV
R0,#00H
;XOA DON VI (DON VI = 0)
INC
R1
;TANG CHUC
CJNE
R1,#10,DISP
;KIEM TRA CHUC > 9 (DEM XONG)
MOV
R1,#00H
;XOA CHUC (CHUC = 0)
INC
R2
;TANG TRAM
CJNE
R2,#10,DISP
;KIEM TRA TRAM > 9 (DEM XONG)
MOV
R2,#00H
;XOA TRAM (TRAM = 0)
INC
R3
;TANG NGAN
CJNE
R3,#10,DISP
;KIEM TRA NGAN > 9 (DEM XONG)
SJMP
MAIN
;****************************************************
DELAY500MS: ;CHUONG TRINH CON TAO THOI GIAN TRE 500MS
PUSH 00H
MOV
R0,#100
MOV
TMOD,#01H
LOOP2:
MOV
TH0,#HIGH(-5000)
MOV
TL0,#LOW(-5000)
SETB
TR0
JNB
TF0,$
CLR
TR0
CLR
TF0
DJNZ
R0,LOOP2
POP
00H
RET
;****************************************************
CODEDISP:
;VUNG DU LIEU HIEN THI
DB
0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
Bi tp:
Bi 1: Hy vit chng trnh iu khin hin th s 5678 trn bn LED.
Bi 2: Hy vit chng trnh iu khin hin th m s BCD t 0000 ln 5999 trn bn LED.
Bi 3: Hy vit chng trnh iu khin hin th m s BCD t 5999 xung 0000 trn bn LED.
Bi 4: Hy vit chng trnh iu khin hin th m s BCD t 0000 ln 1234 trn bn LED.
Bi 5: Hy vit chng trnh iu khin hin th m s BCD t 1234 xung 0000 trn bn LED.
Bi 6: Hy vit chng trnh iu khin hin th m s HEX t 0000 ln FFFF trn bn LED.
Bi 7: Hy vit chng trnh iu khin hin th m s HEX t FFFF xung 0000 trn bn LED.
Bi 8: Hy vit chng trnh iu khin hin th m s HEX t 0000 ln ABCD trn bn LED.
Bi 9: Hy vit chng trnh iu khin hin th m s HEX t ABCD xung 0000 trn bn LED.
Bi 10: Nu trng hp LED ca ta l loi Cathode chung th chng trnh phi thay i nh th no? Ti
sao? Tin hnh m phng th xem sao?
Bi 11: Sinh vin t mnh suy ngh v pht trin thm chng trnh.
28
Bi 1: Chng trnh iu khin hin th s 1 trn LED0 (LED0 c ni vi Port0, tn hiu SEL7 c ni vi
P1.0).
PORT 1
PORT 3
20 PINS
40 PINS
PORT 3
PORT 2
DEC.
3-8
DEC.
2-4
DEC.
OUT
7 SEG
OUT 3
7 SEG
OUT 4
BCD IN
3-4
7 SEG
OUT 1
DEC.
OUT
7 SEG
OUT 2
BCD IN POWER
1-2
PORT 1
PORT 0
RP1
1
C2
2
3
4
5
6
7
8
9
33p
X1
12MHz
C1
33p
+5V
U1
19
18
C3
XTAL1
XTAL2
10uF
9
RST
R1
10k
29
30
31
1
2
3
4
5
6
7
8
PSEN
ALE
EA
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
10K
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
R11
R12
R13
R14
R15
R16
R17
U2
39 AD0
38 AD1
37 AD2
36 AD3
35 AD4
34 AD5
33 AD6
32 AD7
AD0
AD1
AD2
AD3
7
1
2
6
4
5
3
A
B
C
D
BI/RBO
RBI
LT
74LS47
21
22
23
24
25
26
27
28
QA
QB
QC
QD
QE
QF
QG
13
12
11
10
9
15
14
56
56
56
56
56
56
56
A
B
C
D
E
F
G
R3
Q2
1K
A1015
A
B
C
D
E
F
G
LED0
MA CH IE U KHIE N LED 7 OA N
10
11
12
13
14
15
16
17
AT89C51
29
Bi 1: Chng trnh iu khin hin th s 1 trn LED0 (LED0 c ni vi Port0, tn hiu SEL7 c ni vi
P1.0).
1.3 V lu gii thut v vit chng trnh iu khin.
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 1 TREN LED 7 DOAN
;***************************************************
;KET NOI:
1 LED -> PORT0
;
SEL LED -> PORT1
;CHE DO:
MULTI, BCD IN, MULTI INT, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
P1,#0FEH
;CHO PHEP LED 7 SANG
MOV
P0,#01H
;XUAT SO HIEN THI
SJMP
$
END
Bi tp:
(xem thm trong phn hng dn v phn bi tp ca Bi 2)
30
Bi 2: Chng trnh iu khin hin th m s BCD t 0 ln 9 trn LED0 (LED0 c ni vi Port0, tn hiu
SEL7 c ni vi P1.0).
1 Trnh t tin hnh th nghim:
1.1 Kt ni thit b th nghim.
Qu trnh kt ni thit b th nghim tng t nh Bi 1.
1.2 S nguyn l ca h thng:
S nguyn l ca h thng tng t nh Bi 1.
1.3 V lu gii thut v vit chng trnh iu khin.
Cch 1:
B2.1
MBI
BEGIN
MAIN:
XUT M IU KHIN LED
(P1) = 11111110B = FEH
DELAY500MS
XUT S 0 RA PORT
(P0) = 00H
GI CTC TO TR
DELAY500MS
XUT S 1 RA PORT
(P0) = 01H
XUT S 6 RA PORT
(P0) = 06H
GI CTC TO TR
GI CTC TO TR
DELAY500MS
DELAY500MS
XUT S 2 RA PORT
(P0) = 02H
XUT S 7 RA PORT
(P0) = 07H
GI CTC TO TR
GI CTC TO TR
DELAY500MS
DELAY500MS
XUT S 3 RA PORT
(P0) = 03H
XUT S 8 RA PORT
(P0) = 08H
GI CTC TO TR
GI CTC TO TR
DELAY500MS
DELAY500MS
XUT S 4 RA PORT
(P0) = 04H
XUT S 9 RA PORT
(P0) = 09H
GI CTC TO TR
GI CTC TO TR
DELAY500MS
DELAY500MS
XUT S 5 RA PORT
(P0) = 05H
GI CTC TO TR
DELAY500MS
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI 0 -> 9 TREN LED 7 DOAN
;***************************************************
;KET NOI:
1 LED -> PORT0
;
SEL LED -> PORT1
;CHE DO:
MULTI, BCD IN, MULTI INT, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
P1,#0FEH
;CHO PHEP LED 7 SANG
MOV
P0,#00H
;SO 0
LCALL DELAY500MS
MOV
P0,#01H
;SO 1
LCALL DELAY500MS
MOV
P0,#02H
;SO 2
LCALL DELAY500MS
MOV
P0,#03H
;SO 3
LCALL DELAY500MS
MOV
P0,#04H
;SO 4
LCALL DELAY500MS
MOV
P0,#05H
;SO 5
LCALL DELAY500MS
MOV
P0,#06H
;SO 6
LCALL DELAY500MS
MOV
P0,#07H
;SO 7
LCALL DELAY500MS
31
Bi 2: Chng trnh iu khin hin th m s BCD t 0 ln 9 trn LED0 (LED0 c ni vi Port0, tn hiu
SEL7 c ni vi P1.0).
MOV
P0,#08H
;SO 8
LCALL DELAY500MS
MOV
P0,#09H
;SO 9
LCALL DELAY500MS
SJMP
MAIN
;****************************************************
DELAY500MS: ;CHUONG TRINH CON TAO THOI GIAN TRE 500MS
PUSH 00H
MOV
R0,#100
MOV
TMOD,#01H
LOOP2:
MOV
TH0,#HIGH(-5000)
MOV
TL0,#LOW(-5000)
SETB
TR0
JNB
TF0,$
CLR
TR0
CLR
TF0
DJNZ
R0,LOOP2
POP
00H
RET
END
Cch 2:
B2.2
MBI
BEGIN
MAIN:
XUT M IU KHIN LED
(P1) = 11111110B = FEH
NP GI TR BT U
(A) = 00H
LOOP:
XUT D LIU RA PORT
(P0) = (A)
GI CTC TO TR
DELAY500MS
TNG GI TR CA D LIU
(A) = (A) + 1
GI TR 10 (0AH)
(CHA M XONG; 9)
DELAY500MS
(XEM CTC NY TI V D A1)
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI 0 -> 9 TREN LED 7 DOAN
;***************************************************
;KET NOI:
1 LED -> PORT0
;
SEL LED -> PORT1
;CHE DO:
MULTI, BCD IN, MULTI INT, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
P1,#0FEH
;CHO PHEP LED 7 SANG
MOV
A,#00H
;GIA TRI BAT DAU
LOOP:
MOV
P0,A
;XUAT HIEN THI
LCALL DELAY500MS
INC
A
;TANG GIA TRI
CJNE
A,#10,LOOP
;GIA TRI KET THUC + 1
SJMP
MAIN
;****************************************************
DELAY500MS: ;CHUONG TRINH CON TAO THOI GIAN TRE 500MS
PUSH 00H
MOV
R0,#100
MOV
TMOD,#01H
LOOP2:
MOV
TH0,#HIGH(-5000)
32
Bi 2: Chng trnh iu khin hin th m s BCD t 0 ln 9 trn LED0 (LED0 c ni vi Port0, tn hiu
SEL7 c ni vi P1.0).
MOV
SETB
JNB
CLR
CLR
DJNZ
POP
RET
END
TL0,#LOW(-5000)
TR0
TF0,$
TR0
TF0
R0,LOOP2
00H
Bi tp:
Bi 1: Hy vit chng trnh iu khin hin th s 5 trn LED5.
Bi 2: Hy vit chng trnh iu khin hin th m s BCD t 0 ln 5 trn LED4.
Bi 3: Hy vit chng trnh iu khin hin th m s BCD t 5 xung 0 trn LED4.
Bi 4: Nu trng hp LED ca ta l loi Cathode chung th chng trnh phi thay i nh th no? Ti
sao? Tin hnh m phng th xem sao?
Bi 5: Sinh vin t mnh suy ngh v pht trin thm chng trnh.
33
Bi 3: Chng trnh iu khin hin th s 12 trn hai LED (LED1, LED0 c ni vi Port0; tn hiu SEL0 v
SEL1 ln lt c ni vi P1.0 v P1.1).
C2
2
3
4
5
6
7
8
9
33p
X1
12MHz
C1
33p
+5V
U1
19
18
C3
XTAL1
XTAL2
10uF
9
RST
R1
10k
P1.0
P1.1
29
30
31
1
2
3
4
5
6
7
8
PSEN
ALE
EA
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
10K
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
+5V
+5V
+5V
RP1
P1.0
P1.1
R11
R12
R13
R14
R15
R16
R17
U2
39 AD0
38 AD1
37 AD2
36 AD3
35 AD4
34 AD5
33 AD6
32 AD7
AD0
AD1
AD2
AD3
7
1
2
6
4
5
3
A
B
C
D
BI/RBO
RBI
LT
74LS47
21
22
23
24
25
26
27
28
QA
QB
QC
QD
QE
QF
QG
13
12
11
10
9
15
14
56
56
56
56
56
56
56
A
B
C
D
E
F
G
R3
Q1
R2
Q2
1K
A1015
1K
A1015
A
B
C
D
E
F
G
A
B
C
D
E
F
G
LED1
LED0
10
11
12
13
14
15
16
17
AT89C51
34
Bi 3: Chng trnh iu khin hin th s 12 trn hai LED (LED1, LED0 c ni vi Port0; tn hiu SEL0 v
SEL1 ln lt c ni vi P1.0 v P1.1).
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 12 TREN LED 7 DOAN
;***************************************************
;KET NOI:
2 LED -> PORT0
;
SEL LED -> PORT1
;CHE DO:
MULTI, BCD IN, MULTI INT, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
P1,#0FEH
;CHO PHEP LED 7 SANG
MOV
P0,#02H
;HIEN THI SO 2
LCALL DELAYLED
MOV
P1,#0FDH
;CHO PHEP LED 6 SANG
MOV
P0,#01H
;HIEN THI SO 1
LCALL DELAYLED
SJMP
MAIN
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS
PUSH 00H
PUSH 01H
MOV
R1,#5
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
POP
01H
POP
00H
RET
END
35
Bi 3: Chng trnh iu khin hin th s 12 trn hai LED (LED1, LED0 c ni vi Port0; tn hiu SEL0 v
SEL1 ln lt c ni vi P1.0 v P1.1).
Cch 2:
B3.2
MBI
BEGIN
MAIN:
NP A CH VNG M
(DPTR) = 100H
DISP:
NP S LN QUT (2 LED)
(R0) = 02H
NP OFFSET CA D LIU
(R1) = 00H CODEDISP (100H)
NP OFFSET CA M QUT
(R2) = 10H CODESCAN (110H)
DISP1:
NP OFFSET D LIU HIN TH
(A) = (R1)
LY M D LIU HIN TH
(A) = (@A+DPTR)
XUT M D LIU RA PORT
(P0) = (A)
NP OFFSET M QUT
(A) = (R2)
DELAYLED
LY M QUT
(A) = (@A+DPTR)
S
VNG D LIU CODEDISP 100H
02H,01H
VNG D LIU CODESCAN 110H
FEH,FDH
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 12 TREN LED 7 DOAN
;***************************************************
;KET NOI:
2 LED -> PORT0
;
SEL LED -> PORT1
;CHE DO:
MULTI, BCD IN, MULTI INT, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
DPTR,#100H
;NAP DIA CHI VUNG DU LIEU
DISP:
MOV
R0,#02H
;SO LAN QUET (SO LED)
MOV
R1,#00H
;NAP DIA CHI (OFFSET) CUA DU LIEU
MOV
R2,#10H
;NAP DIA CHI (OFFSET) CUA MA QUET
DISP1:
MOV
A,R1
;LAY DU LIEU
MOVC A,@A+DPTR
MOV
P0,A
;XUAT DU LIEU HIEN THI
MOV
A,R2
;LAY MA QUET
MOVC A,@A+DPTR
MOV
P1,A
;XUAT MA QUET
LCALL DELAYLED
36
Bi 3: Chng trnh iu khin hin th s 12 trn hai LED (LED1, LED0 c ni vi Port0; tn hiu SEL0 v
SEL1 ln lt c ni vi P1.0 v P1.1).
MOV
P1,#0FFH
;CHONG LEM
INC
R1
;DIA CHI (OFFSET) CUA DU LIEU KE TIEP
INC
R2
;DIA CHI (OFFSET) CUA MA QUET KE TIEP
DJNZ
R0,DISP1
SJMP
MAIN
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS
PUSH 00H
PUSH 01H
MOV
R1,#5
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
POP
01H
POP
00H
RET
;****************************************************
ORG
100H
;VUNG DU LIEU HIEN THI
CODEDISP:
DB
02H,01H
ORG
110H
CODESCAN:
;VUNG MA QUET
DB
0FEH,0FDH
END
Cch 3:
BEGIN
B3.3
MBI
MAIN:
NP GI TR HNG CHC
(61H) = 01H
DISP7SEGMUL2
NAME:
DISP7SEGMUL2 - QUT HIN TH 2 LED 7 ON.
INPUT:
61H, 60H = GI TR HIN TH (CHC/N V).
OUTPUT: P0 = 7 ON LED / DP (MSB) - A (LSB).
P1 = QUT LED / LEFT (MSD) RIGHT (LSD).
NP GI TR HNG N V
(60H) = 02H
DISP7SEGMUL2:
CT TM GI TR CA ACC, R0
VO STACK
GI CTC QUT-HIN TH
DISP7SEGMUL2
NP M QUT U TIN
(A) = 11111101B = FDH
NP A CH NI CHA GI TR HIN TH U TIN
(R0) = 61H
DISP:
XUT GI TR RA PORT
(P0) = (@R0)
XUT M QUT RA PORT
(P1) = (A)
GI CTC TO TR CHO 1 LED
DELAYLED
DELAYLED
(XEM CTC NY TI V D B3.1 MBI)
S
LY LI GI TR CHO ACC, R0
T STACK
RET
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 12 TREN LED 7 DOAN
;***************************************************
;KET NOI:
2 LED -> PORT0
;
SEL LED -> PORT1
;CHE DO:
MULTI, BCD IN, MULTI INT, CA, ACTIVE = 0
;***************************************************
ORG
00H
37
Bi 3: Chng trnh iu khin hin th s 12 trn hai LED (LED1, LED0 c ni vi Port0; tn hiu SEL0 v
SEL1 ln lt c ni vi P1.0 v P1.1).
MAIN:
MOV
61H,#01H
;HANG CHUC
MOV
60H,#02H
;HANG DON VI
LCALL DISP7SEGMUL2 ;QUET HIEN THI
SJMP
MAIN
;***************************************************
;CTC QUET HIEN THI LED 7 DOAN (2 LED 7 DOAN).
;***************************************************
;LED: ANODE CHUNG, KICH HOAT MUC 0, 7 DOAN: DP (MSB) -> A (LSB)
;DU LIEU HIEN THI CHUA TRONG O NHO CUA RAM.
;***************************************************
;NAME:
DISP7SEGMUL2.
;INPUT:
61H,60H = GI TR HIN TH (CHUC - DON VI).
;OUTPUT:
P0 = 7 DOAN LED - DP (MSB) -> A (LSB).
;
P1 = CHON LED - LEFT (MSD) -> RIGHT (LSD).
;***************************************************
DISP7SEGMUL2:
PUSH ACC
;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH 00H
MOV
A,#0FDH
;MA QUET
MOV
R0,#61H
;DIA CHI VUNG MA HIEN THI
DISP:
MOV
P0,@R0
;XUAT MA HIEN THI
MOV
P1,A
;XUAT MA QUET
LCALL DELAYLED
MOV
P1,#0FFH
;CHONG LEM
DEC
R0
;LAY MA HIEN THI KE TIEP
RR
A
;CHUYEN SANG LED KE TIEP
CJNE
R0,#5FH,DISP
;KIEM TRA DA QUET XONG CHUA
POP
00H
;PHUC HOI GIA TRI CHO CAC THANH GHI
POP
ACC
RET
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS
PUSH 00H
PUSH 01H
MOV
R1,#5
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
POP
01H
POP
00H
RET
END
Bi tp:
(xem thm trong phn hng dn v phn bi tp ca Bi 4)
38
Bi 4: Chng trnh iu khin hin th m s BCD t 00 ln 99 trn hai LED (LED1, LED0 c ni vi
Port0; tn hiu SEL0 v SEL1 ln lt c ni vi P1.0 v P1.1).
1 Trnh t tin hnh th nghim:
1.1 Kt ni thit b th nghim.
Qu trnh kt ni thit b th nghim tng t nh Bi 1.
1.2 S nguyn l ca h thng:
S nguyn l ca h thng tng t nh Bi 3.
1.3 V lu gii thut v vit chng trnh iu khin.
BEGIN
B4
MBI
DELAY_SCAN
DELAY_SCAN:
MAIN:
CT TM GI TR CA R0 VO
STACK
NP GI TR BT U
(60H) = 00H - N V
(61H) = 00H - CHC
NP GI TR VNG LP
(R0) = 50
MP1:
GI CTC DELAY V QUT-HIN TH
DELAY_SCAN
KHI NG TIMER
(TIMER 0, MODE 1)
(TMOD) = 01H
TNG GI TR HNG N V
(60H) = (60H) + 1
N V 10 (0AH)
(CHA TNG XONG; 9)
LOOP2:
NP GI TR CHO TIMER
(TDELAY = 5000.TMY)
(TH0/TL0) = -5000 = EC78H
S
NP LI GI TR HNG N V
(60H) = 00H
S
DNG TIMER
(TR0) = 0
DISP7SEGMUL2
(XEM CTC NY TI V D B3.3 MBI)
XA C TRN TIMER
(TF0) = 0
DELAYLED
GIM S LN LP
S
LY LI GI TR CHO R0 T
STACK
RET
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI 00 -> 99 TREN LED 7 DOAN
;***************************************************
;KET NOI:
2 LED -> PORT0
;
SEL LED -> PORT1
;CHE DO:
MULTI, BCD IN, MULTI INT, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
61H,#00H
;HANG CHUC
MOV
60H,#00H
;HANG DON VI
MP1:
LCALL DELAY_SCAN ;DELAY VA QUET HIEN THI
INC
60H
;TANG HANG DON VI
MOV
A,60H
CJNE
A,#10,MP1
;KIEM TRA HANG DON VI > 9
MOV
60H,#00H
;XOA HANG DON VI (DON VI = 0)
INC
61H
;TANG HANG CHUC
MOV
A,61H
CJNE
A,#10,MP1
;KIEM TRA HANG CHUC > 9
SJMP
MAIN
;***************************************************
;CTC QUET HIEN THI LED 7 DOAN (2 LED 7 DOAN).
39
Bi 4: Chng trnh iu khin hin th m s BCD t 00 ln 99 trn hai LED (LED1, LED0 c ni vi
Port0; tn hiu SEL0 v SEL1 ln lt c ni vi P1.0 v P1.1).
;***************************************************
;LED: ANODE CHUNG, KICH HOAT MUC 0, 7 DOAN: DP (MSB) -> A (LSB)
;DU LIEU HIEN THI CHUA TRONG O NHO CUA RAM.
;***************************************************
;NAME:
DISP7SEGMUL2.
;INPUT:
61H,60H = GI TR HIN TH (CHUC - DON VI).
;OUTPUT:
P0 = 7 DOAN LED - DP (MSB) -> A (LSB).
;
P1 = CHON LED - LEFT (MSD) -> RIGHT (LSD).
;***************************************************
DISP7SEGMUL2:
PUSH ACC
;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH 00H
MOV
A,#0FDH
;MA QUET
MOV
R0,#61H
;DIA CHI VUNG MA HIEN THI
DISP:
MOV
P0,@R0
;XUAT MA HIEN THI
MOV
P1,A
;XUAT MA QUET
LCALL DELAYLED
MOV
P1,#0FFH
;CHONG LEM
DEC
R0
;LAY MA HIEN THI KE TIEP
RR
A
;CHUYEN SANG LED KE TIEP
CJNE
R0,#05FH,DISP ;KIEM TRA DA QUET XONG CHUA
POP
00H
;PHUC HOI GIA TRI CHO CAC THANH GHI
POP
ACC
RET
;****************************************************
DELAY_SCAN: ;CHUONG TRINH CON TAO THOI GIAN TRE 250MS CO GOI CTC QUET HIEN THI
PUSH 00H
MOV
R0,#50
MOV
TMOD,#01H
LOOP2:
MOV
TH0,#HIGH(-5000)
MOV
TL0,#LOW(-5000)
SETB
TR0
SCAN:
;LIEN TUC GOI CTC QUET HIEN THI TRONG LUC TIMER DANG CHAY
LCALL DISP7SEGMUL2
;GOI CTC QUET HIEN THI
JNB
TF0,SCAN
CLR
TR0
CLR
TF0
DJNZ
R0,LOOP2
POP
00H
RET
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS
PUSH 00H
PUSH 01H
MOV
R1,#5
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
POP
01H
POP
00H
RET
END
Bi tp:
Bi 1: Hy vit chng trnh iu khin hin th s 34 trn hai LED.
Bi 2: Hy vit chng trnh iu khin hin th m s BCD t 00 ln 59 trn hai LED.
Bi 3: Hy vit chng trnh iu khin hin th m s BCD t 59 xung 00 trn hai LED.
Bi 4: Hy vit chng trnh iu khin hin th m s BCD t 00 ln 23 trn hai LED.
Bi 5: Hy vit chng trnh iu khin hin th m s BCD t 23 xung 00 trn hai LED.
40
Bi 4: Chng trnh iu khin hin th m s BCD t 00 ln 99 trn hai LED (LED1, LED0 c ni vi
Port0; tn hiu SEL0 v SEL1 ln lt c ni vi P1.0 v P1.1).
Bi 6: Nu trng hp LED ca ta l loi Cathode chung th chng trnh phi thay i nh th no? Ti
sao? Tin hnh m phng th xem sao?
Bi 7: Sinh vin t mnh suy ngh v pht trin thm chng trnh.
41
Bi 5: Chng trnh iu khin hin th s 1234 trn bn LED (LED3, LED2, LED1 v LED0 c ni vi
Port0; tn hiu SEL0, SEL1, SEL2 v SEL3 ln lt c ni vi P1.0, P1.1, P1.2 v P1.3).
C2
X1
12MHz
C1
33p
+5V
U1
19
18
C3
XTAL1
XTAL2
10uF
9
RST
R1
10k
P1.0
P1.1
P1.2
P1.3
29
30
31
1
2
3
4
5
6
7
8
PSEN
ALE
EA
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
2
3
4
5
6
7
8
9
33p
10K
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
+5V
P1.0
P1.1
+5V
+5V
+5V
+5V
RP1
P1.2
P1.3
R11
R12
R13
R14
R15
R16
R17
U2
39 AD0
38 AD1
37 AD2
36 AD3
35 AD4
34 AD5
33 AD6
32 AD7
AD0
AD1
AD2
AD3
7
1
2
6
4
5
3
A
B
C
D
BI/RBO
RBI
LT
QA
QB
QC
QD
QE
QF
QG
13
12
11
10
9
15
14
56
56
56
56
56
56
56
A
B
C
D
E
F
G
R3
Q1
R2
Q2
R4
Q3
R5
Q4
1K
A1015
1K
A1015
1K
A1015
1K
A1015
A
B
C
D
E
F
G
A
B
C
D
E
F
G
LED3
74LS47
21
22
23
24
25
26
27
28
A
B
C
D
E
F
G
LED2
A
B
C
D
E
F
G
LED1
LED0
MA CH IE U KHIE N LED 7 OA N
10
11
12
13
14
15
16
17
AT89C51
BEGIN
XUT M IU KHIN LED
(P1) = 11111110B = FEH
XUT S 4 RA PORT
(P0) = 04H
DELAYLED
(XEM CTC NY TI V D B3.1 MBI)
END
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 1234 TREN LED 7 DOAN
;***************************************************
;KET NOI:
4 LED -> PORT0 SEL LED -> PORT1
;CHE DO:
MULTI, BCD IN, MULTI INT, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
P1,#0FEH
;CHO PHEP LED 7 SANG
42
Bi 5: Chng trnh iu khin hin th s 1234 trn bn LED (LED3, LED2, LED1 v LED0 c ni vi
Port0; tn hiu SEL0, SEL1, SEL2 v SEL3 ln lt c ni vi P1.0, P1.1, P1.2 v P1.3).
MOV
P0,#04H
;HIEN THI SO 4
LCALL DELAYLED
MOV
P1,#0FDH
;CHO PHEP LED 6 SANG
MOV
P0,#03H
;HIEN THI SO 3
LCALL DELAYLED
MOV
P1,#0FBH
;CHO PHEP LED 5 SANG
MOV
P0,#02H
;HIEN THI SO 2
LCALL DELAYLED
MOV
P1,#0F7H
;CHO PHEP LED 4 SANG
MOV
P0,#01H
;HIEN THI SO 1
LCALL DELAYLED
SJMP
MAIN
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS
PUSH 00H
PUSH 01H
MOV
R1,#5
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
POP
01H
POP
00H
RET
END
43
Bi 6: Chng trnh iu khin hin th m s BCD t 0000 ln 9999 trn bn LED (LED3, LED2, LED1 v
LED0 c ni vi Port0; tn hiu SEL0, SEL1, SEL2 v SEL3 ln lt c ni vi P1.0, P1.1, P1.2
v P1.3).
1 Trnh t tin hnh th nghim:
1.1 Kt ni thit b th nghim.
Qu trnh kt ni thit b th nghim tng t nh Bi 1.
1.2 S nguyn l ca h thng:
S nguyn l ca h thng tng t nh Bi 5.
1.3 V lu gii thut v vit chng trnh iu khin.
B6
MBI
BEGIN
MAIN:
NP GI TR BT U
(60H) = 00H - N V
(61H) = 00H - CHC
(62H) = 00H - TRM
(63H) = 00H - NGN
MP1:
GI CTC DELAY V QUT-HIN TH
DELAY_SCAN
NP GI TR VNG LP
(R0) = 50
DISP7SEGMUL4:
CT TM GI TR CA ACC, R0
VO STACK
KHI NG TIMER
(TIMER 0, MODE 1)
(TMOD) = 01H
NP M QUT U TIN
(A) = 11110111B = F7H
NP A CH NI CHA GI TR HIN TH U TIN
(R0) = 63H
DISP:
XUT GI TR RA PORT
(P0) = (@R0)
NP GI TR CHO TIMER
(TDELAY = 5000.TMY)
(TH0/TL0) = -5000 = EC78H
GIM S LN LP
S LN LP 0
(CHA LP XONG)
S
NP LI GI TR HNG TRM
(62H) = 00H
S
LY LI GI TR CHO R0 T
STACK
XA C TRN TIMER
(TF0) = 0
NGN 10 (0AH)
(CHA TNG XONG; 9)
CT TM GI TR CA R0 VO
STACK
S
DNG TIMER
(TR0) = 0
S
NP LI GI TR HNG CHC
(61H) = 00H
TRM 10 (0AH)
(CHA TNG XONG; 9)
S
NP LI GI TR HNG N V
(60H) = 00H
CHC 10 (0AH)
(CHA TNG XONG; 9)
DISP7SEGMUL4
NAME:
INPUT:
LOOP2:
TNG GI TR HNG N V
(60H) = (60H) + 1
N V 10 (0AH)
(CHA TNG XONG; 9)
DELAY_SCAN
DELAY_SCAN:
S
LY LI GI TR CHO ACC, R0
T STACK
RET
RET
DELAYLED
(XEM CTC NY TI V D B3.1 MBI)
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI 0000 -> 9999 TREN LED 7 DOAN
;***************************************************
;KET NOI:
4 LED -> PORT0
;
SEL LED -> PORT1
;CHE DO:
MULTI, BCD IN, MULTI INT, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
63H,#00H
;HANG NGAN
MOV
62H,#00H
;HANG TRAM
MOV
61H,#00H
;HANG CHUC
MOV
60H,#00H
;HANG DON VI
MP1:
LCALL DELAY_SCAN ;DELAY VA QUET HIEN THI
INC
60H
;TANG HANG DON VI
MOV
A,60H
CJNE
A,#10,MP1
;KIEM TRA HANG DON VI > 9
44
Bi 6: Chng trnh iu khin hin th m s BCD t 0000 ln 9999 trn bn LED (LED3, LED2, LED1 v
LED0 c ni vi Port0; tn hiu SEL0, SEL1, SEL2 v SEL3 ln lt c ni vi P1.0, P1.1, P1.2
v P1.3).
MOV
60H,#00H
;XOA HANG DON VI (DON VI = 0)
INC
61H
;TANG HANG CHUC
MOV
A,61H
CJNE
A,#10,MP1
;KIEM TRA HANG CHUC > 9
MOV
61H,#00H
;XOA HANG CHUC (CHUC = 0)
INC
62H
;TANG HANG TRAM
MOV
A,62H
CJNE
A,#10,MP1
;KIEM TRA HANG TRAM > 9
MOV
62H,#00H
;XOA HANG TRAM (TRAM = 0)
INC
63H
;TANG HANG NGAN
MOV
A,63H
CJNE
A,#10,MP1
;KIEM TRA HANG NGAN > 9
SJMP
MAIN
;***************************************************
;CTC QUET HIEN THI LED 7 DOAN (4 LED 7 DOAN).
;***************************************************
;LED: ANODE CHUNG, KICH HOAT MUC 0, 7 DOAN: DP (MSB) -> A (LSB)
;DU LIEU HIEN THI CHUA TRONG O NHO CUA RAM.
;***************************************************
;NAME:
DISP7SEGMUL4.
;INPUT:
63H,62H = GI TR HIN TH (NGAN - TRAM).
;
61H,60H = GI TR HIN TH (CHUC - DON VI).
;OUTPUT:
P0 = 7 DOAN LED - DP (MSB) -> A (LSB).
;
P1 = CHON LED - LEFT (MSD) -> RIGHT (LSD).
;***************************************************
DISP7SEGMUL4:
PUSH ACC
;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH 00H
MOV
A,#0F7H
;MA QUET
MOV
R0,#63H
;DIA CHI VUNG MA HIEN THI
DISP:
MOV
P0,@R0
;XUAT MA HIEN THI
MOV
P1,A
;XUAT MA QUET
LCALL DELAYLED
MOV
P1,#0FFH
;CHONG LEM
DEC
R0
;LAY MA HIEN THI KE TIEP
RR
A
;CHUYEN SANG LED KE TIEP
CJNE
R0,#5FH,DISP
;KIEM TRA DA QUET XONG CHUA
POP
00H
;PHUC HOI GIA TRI CHO CAC THANH GHI
POP
ACC
RET
;***************************************************
DELAY_SCAN: ;CHUONG TRINH CON TAO THOI GIAN TRE 250MS CO GOI CTC QUET HIEN THI
PUSH 00H
MOV
R0,#50
MOV
TMOD,#01H
LOOP2:
MOV
TH0,#0ECH
MOV
TL0,#78H
SETB
TR0
SCAN:
;LIEN TUC GOI CTC QUET HIEN THI TRONG LUC TIMER DANG CHAY
LCALL DISP7SEGMUL4
;GOI CTC QUET HIEN THI
JNB
TF0,SCAN
CLR
TR0
CLR
TF0
DJNZ
R0,LOOP2
POP
00H
RET
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS
PUSH 00H
PUSH 01H
MOV
R1,#5
DEL:
MOV
R0,#250
45
Bi 6: Chng trnh iu khin hin th m s BCD t 0000 ln 9999 trn bn LED (LED3, LED2, LED1 v
LED0 c ni vi Port0; tn hiu SEL0, SEL1, SEL2 v SEL3 ln lt c ni vi P1.0, P1.1, P1.2
v P1.3).
DJNZ
DJNZ
POP
POP
RET
END
R0,$
R1,DEL
01H
00H
Bi tp:
Bi 1: Hy vit chng trnh iu khin hin th s 5678 trn bn LED.
Bi 2: Hy vit chng trnh iu khin hin th m s BCD t 0000 ln 5999 trn bn LED.
Bi 3: Hy vit chng trnh iu khin hin th m s BCD t 5999 xung 0000 trn bn LED.
Bi 4: Hy vit chng trnh iu khin hin th m s BCD t 0000 ln 1234 trn bn LED.
Bi 5: Hy vit chng trnh iu khin hin th m s BCD t 1234 xung 0000 trn bn LED.
Bi 6: Nu trng hp LED ca ta l loi Cathode chung th chng trnh phi thay i nh th no? Ti
sao? Tin hnh m phng th xem sao?
Bi 7: Sinh vin t mnh suy ngh v pht trin thm chng trnh.
46
Bi 7: Chng trnh iu khin hin th s 12345678 trn tm LED (LED0 n LED7 c ni vi Port0; tn
hiu SEL0 n SEL7 ln lt c ni vi P1.0 n P1.7).
PORT 1
PORT 3
20 PINS
40 PINS
PORT 3
PORT 2
DEC.
2-4
DEC.
OUT
7 SEG
OUT 3
7 SEG
OUT 4
BCD IN
3-4
7 SEG
OUT 1
7 SEG
OUT 2
DEC.
OUT
BCD IN POWER
1-2
DEC.
3-8
PORT 1
PORT 0
1
2
3
4
5
6
7
8
9
33p
X1
12MHz
C1
33p
+5V
U1
19
18
C3
XTAL1
XTAL2
10uF
9
RST
R1
10k
29
30
31
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
1
2
3
4
5
6
7
8
PSEN
ALE
EA
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
10K
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
+5V
P1.0
+5V
P1.1
+5V
P1.2
+5V
P1.3
+5V
P1.4
P1.5
+5V
+5V
+5V
+5V
RP1
C2
P1.6
P1.7
R2
R3
R4
R5
R6
R7
R8
U2
39 AD0
38 AD1
37 AD2
36 AD3
35 AD4
34 AD5
33 AD6
32 AD7
AD0
AD1
AD2
AD3
7
1
2
6
4
5
3
A
B
C
D
BI/RBO
RBI
LT
74LS47
QA
QB
QC
QD
QE
QF
QG
13
12
11
10
9
15
14
56
56
56
56
56
56
56
A
B
C
D
E
F
G
R9
Q1
R10
Q2
R11
Q3
R12
Q4
R13
Q5
R14
Q6
R15
Q7
R16
Q8
1K
A1015
1K
A1015
1K
A1015
1K
A1015
1K
A1015
1K
A1015
1K
A1015
1K
A1015
A
B
C
D
E
F
G
A
B
C
D
E
F
G
LED7
A
B
C
D
E
F
G
LED6
21
22
23
24
25
26
27
28
A
B
C
D
E
F
G
LED5
A
B
C
D
E
F
G
LED4
A
B
C
D
E
F
G
LED3
A
B
C
D
E
F
G
LED2
A
B
C
D
E
F
G
LED1
LED0
MA CH IE U KHIE N LED 7 OA N
10
11
12
13
14
15
16
17
AT89C51
47
Bi 7: Chng trnh iu khin hin th s 12345678 trn tm LED (LED0 n LED7 c ni vi Port0; tn
hiu SEL0 n SEL7 ln lt c ni vi P1.0 n P1.7).
B7
MBI
BEGIN
XUT M IU KHIN LED
(P1) = 11111110B = FEH
XUT S 4 RA PORT
(P0) = 04H
XUT S 8 RA PORT
(P0) = 08H
XUT S 3 RA PORT
(P0) = 03H
XUT S 7 RA PORT
(P0) = 07H
XUT S 2 RA PORT
(P0) = 02H
XUT S 6 RA PORT
(P0) = 06H
XUT S 1 RA PORT
(P0) = 01H
XUT S 5 RA PORT
(P0) = 05H
END
DELAYLED
(XEM CTC NY TI V D B3.1 MBI)
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 12345678 TREN LED 7 DOAN
;***************************************************
;KET NOI:
8 LED -> PORT0
;
SEL LED -> PORT1
;CHE DO:
MULTI, BCD IN, MULTI INT, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
P1,#0FEH
;CHO PHEP LED 7 SANG
MOV
P0,#08H
;HIEN THI SO 8
LCALL DELAYLED
MOV
P1,#0FDH
;CHO PHEP LED 6 SANG
MOV
P0,#07H
;HIEN THI SO 7
LCALL DELAYLED
MOV
P1,#0FBH
;CHO PHEP LED 5 SANG
MOV
P0,#06H
;HIEN THI SO 6
LCALL DELAYLED
MOV
P1,#0F7H
;CHO PHEP LED 4 SANG
MOV
P0,#05H
;HIEN THI SO 5
LCALL DELAYLED
MOV
P1,#0EFH
;CHO PHEP LED 3 SANG
MOV
P0,#04H
;HIEN THI SO 4
LCALL DELAYLED
MOV
P1,#0DFH
;CHO PHEP LED 2 SANG
MOV
P0,#03H
;HIEN THI SO 3
LCALL DELAYLED
MOV
P1,#0BFH
;CHO PHEP LED 1 SANG
MOV
P0,#02H
;HIEN THI SO 2
LCALL DELAYLED
MOV
P1,#07FH
;CHO PHEP LED 0 SANG
MOV
P0,#01H
;HIEN THI SO 1
LCALL DELAYLED
SJMP
MAIN
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS
PUSH 00H
48
Bi 7: Chng trnh iu khin hin th s 12345678 trn tm LED (LED0 n LED7 c ni vi Port0; tn
hiu SEL0 n SEL7 ln lt c ni vi P1.0 n P1.7).
PUSH
MOV
01H
R1,#5
MOV
DJNZ
DJNZ
POP
POP
RET
END
R0,#250
R0,$
R1,DEL
01H
00H
DEL:
Bi tp:
(xem thm trong phn hng dn v phn bi tp ca Bi 8)
49
Bi 8: Chng trnh iu khin hin th m s BCD t 00000000 ln 99999999 trn tm LED (LED0 n
LED7 c ni vi Port0; tn hiu SEL0 n SEL7 ln lt c ni vi P1.0 n P1.7).
1 Trnh t tin hnh th nghim:
1.1 Kt ni thit b th nghim.
Qu trnh kt ni thit b th nghim tng t nh Bi 7.
1.2 S nguyn l ca h thng:
S nguyn l ca h thng tng t nh Bi 7.
1.3 V lu gii thut v vit chng trnh iu khin.
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI 00000000 -> 99999999 TREN LED 7 DOAN
;***************************************************
;KET NOI:
8 LED -> PORT0
;
SEL LED -> PORT1
;CHE DO:
MULTI, BCD IN, MULTI INT, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
67H,#00H
;HANG CH TRIEU
MOV
66H,#00H
;HANG TRIEU
MOV
65H,#00H
;HANG TR NGAN
MOV
64H,#00H
;HANG CH NGAN
MOV
63H,#00H
;HANG NGAN
MOV
62H,#00H
;HANG TRAM
MOV
61H,#00H
;HANG CHUC
MOV
60H,#00H
;HANG DON VI
MP1:
LCALL DELAY_SCAN ;DELAY VA QUET HIEN THI
INC
60H
;TANG HANG DON VI
MOV
A,60H
CJNE
A,#10,MP1
;KIEM TRA HANG DON VI > 9
50
Bi 8: Chng trnh iu khin hin th m s BCD t 00000000 ln 99999999 trn tm LED (LED0 n
LED7 c ni vi Port0; tn hiu SEL0 n SEL7 ln lt c ni vi P1.0 n P1.7).
MOV
60H,#00H
;XOA HANG DON VI (DON VI = 0)
INC
61H
;TANG HANG CHUC
MOV
A,61H
CJNE
A,#10,MP1
;KIEM TRA HANG CHUC > 9
MOV
61H,#00H
;XOA HANG CHUC (CHUC = 0)
INC
62H
;TANG HANG TRAM
MOV
A,62H
CJNE
A,#10,MP1
;KIEM TRA HANG TRAM > 9
MOV
62H,#00H
;XOA HANG TRAM (TRAM = 0)
INC
63H
;TANG HANG NGAN
MOV
A,63H
CJNE
A,#10,MP1
;KIEM TRA HANG NGAN > 9
MOV
63H,#00H
;XOA HANG NGAN (NGAN = 0)
INC
64H
;TANG HANG CH NGAN
MOV
A,64H
CJNE
A,#10,MP1
;KIEM TRA HANG CH NGAN > 9
MOV
64H,#00H
;XOA HANG CH NGAN (CH NGAN = 0)
INC
65H
;TANG HANG TR NGAN
MOV
A,65H
CJNE
A,#10,MP1
;KIEM TRA HANG TR NGAN > 9
MOV
65H,#00H
;XOA HANG TR NGAN (TR NGAN = 0)
INC
66H
;TANG HANG TRIEU
MOV
A,66H
CJNE
A,#10,MP1
;KIEM TRA HANG TRIEU > 9
MOV
66H,#00H
;XOA HANG TRIEU (TRIEU = 0)
INC
67H
;TANG HANG CH TRIEU
MOV
A,67H
CJNE
A,#10,MP1
;KIEM TRA HANG CH TRIEU > 9
SJMP
MAIN
;***************************************************
;CTC QUET HIEN THI LED 7 DOAN (8 LED 7 DOAN).
;***************************************************
;LED: ANODE CHUNG, KICH HOAT MUC 0, 7 DOAN: DP (MSB) -> A (LSB)
;DU LIEU HIEN THI CHUA TRONG O NHO CUA RAM.
;***************************************************
;NAME:
DISP7SEGMUL8.
;INPUT:
67H,66H = GI TR HIN TH (CH TRIEU - TRIEU).
;
65H,64H = GI TR HIN TH (TR NGAN - CH NGAN).
;
63H,62H = GI TR HIN TH (NGAN - TRAM).
;
61H,60H = GI TR HIN TH (CHUC - DON VI).
;OUTPUT:
P0 = 7 DOAN LED - DP (MSB) -> A (LSB).
;
P2 = CHON LED - LEFT (MSD) -> RIGHT (LSD).
;***************************************************
DISP7SEGMUL8:
PUSH ACC
;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH 00H
MOV
A,#7FH
;MA QUET
MOV
R0,#67H
;DIA CHI VUNG MA HIEN THI
DISP:
MOV
P0,@R0
;XUAT MA HIEN THI
MOV
P1,A
;XUAT MA QUET
LCALL DELAYLED
MOV
P1,#0FFH
;CHONG LEM
DEC
R0
;LAY MA HIEN THI KE TIEP
RR
A
;CHUYEN SANG LED KE TIEP
CJNE
R0,#5FH,DISP
;KIEM TRA DA QUET XONG CHUA
POP
00H
;PHUC HOI GIA TRI CHO CAC THANH GHI
POP
ACC
RET
;***************************************************
DELAY_SCAN: ;CHUONG TRINH CON TAO THOI GIAN TRE 250MS CO GOI CTC QUET HIEN THI
PUSH 00H
MOV
R0,#50
MOV
TMOD,#01H
LOOP2:
MOV
TH0,#HIGH(-5000)
51
Bi 8: Chng trnh iu khin hin th m s BCD t 00000000 ln 99999999 trn tm LED (LED0 n
LED7 c ni vi Port0; tn hiu SEL0 n SEL7 ln lt c ni vi P1.0 n P1.7).
MOV
SETB
TL0,#LOW(-5000)
TR0
SCAN:
;LIEN TUC GOI CTC QUET HIEN THI TRONG LUC TIMER DANG CHAY
LCALL DISP7SEGMUL8 ;GOI CTC QUET HIEN THI
JNB
TF0,SCAN
CLR
TR0
CLR
TF0
DJNZ
R0,LOOP2
POP
00H
RET
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS
PUSH 00H
PUSH 01H
MOV
R1,#5
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
POP
01H
POP
00H
RET
END
Bi tp:
Bi 1: Hy vit chng trnh iu khin hin th s 87654321 trn tm LED.
Bi 2: Hy vit chng trnh iu khin hin th m s BCD t 00000000 ln 59999999 trn tm LED.
Bi 3: Hy vit chng trnh iu khin hin th m s BCD t 59999999 xung 00000000 trn tm LED.
Bi 4: Hy vit chng trnh iu khin hin th m s BCD t 00000000 ln 12345678 trn tm LED.
Bi 5: Nu trng hp LED ca ta l loi Cathode chung th chng trnh phi thay i nh th no? Ti
sao? Tin hnh m phng th xem sao?
Bi 6: Sinh vin t mnh suy ngh v pht trin thm chng trnh.
52
Bi 1: Chng trnh iu khin hin th s 1 trn LED0 (LED0 c ni vi Port0, tn hiu SEL0 c ni vi
P1.0).
1 Trnh t tin hnh th nghim:
1.1 Kt ni thit b th nghim.
Tt ngun cp cho m hnh th nghim.
Dng dy bus 8 ni J63 (PORT0 / DATA) khi vi iu khin vi J4 (7SEG IN MUL) khi gii m.
Dng dy bus 4 ni J64 (PORT1) khi vi iu khin vi J1 (SEL IN1) khi LED 7 on (ch l ta
ch ni 4 bit thp ca J64 v J1 vi nhau).
Dng dy bus 3 ni J110 (POWER) khi LED 7 on vi ngun +5V khi ngun.
2
3
4
5
6
7
8
9
33p
X1
12MHz
C1
33p
+5V
U1
19
XTAL1
18
XTAL2
C3
10uF
9
RST
R1
10k
29
30
31
PSEN
ALE
EA
1
2
3
4
5
6
7
8
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
R4
R5
R6
R7
R8
R9
R10
10K
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
39 AD0
38 AD1
37 AD2
36 AD3
35 AD4
34 AD5
33 AD6
32 AD7
21
22
23
24
25
26
27
28
10
11
12
13
14
15
16
17
+5V
+5V
AD0
AD1
AD2
AD3
AD4
AD5
AD6
56
56
56
56
56
56
56
A
B
C
D
E
F
G
R2
Q1
1K
A1015
A
B
C
D
E
F
G
LED0
MA C H IE U KHIEN LED 7 OA N
AT89C51
53
Bi 1: Chng trnh iu khin hin th s 1 trn LED0 (LED0 c ni vi Port0, tn hiu SEL0 c ni vi
P1.0).
1.3 V lu gii thut v vit chng trnh iu khin.
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 1 TREN LED 7 DOAN
;***************************************************
;KET NOI:
1 LED -> PORT0
;
SEL LED -> PORT1
;CHE DO:
MULTI, 7SEG IN (DP -> A), MULTI INT, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
P1,#0FEH
;CHO PHEP LED 7 SANG
MOV
P0,#0F9H
;XUAT SO HIEN THI
SJMP
$
END
Bi tp:
(xem thm trong phn hng dn v phn bi tp ca Bi 2)
54
Bi 2: Chng trnh iu khin hin th m s BCD t 0 ln 9 trn LED0 (LED0 c ni vi Port0, tn hiu
SEL7 c ni vi P1.0).
1 Trnh t tin hnh th nghim:
1.1 Kt ni thit b th nghim.
Qu trnh kt ni thit b th nghim tng t nh Bi 1.
1.2 S nguyn l ca h thng:
S nguyn l ca h thng tng t nh Bi 1.
1.3 V lu gii thut v vit chng trnh iu khin.
Cch 1:
B2.1
M7I
BEGIN
MAIN:
XUT M IU KHIN LED
(P1) = 11111110B = FEH
DELAY500MS
XUT M CA S 0 RA PORT
(P0) = C0H
GI CTC TO TR
DELAY500MS
XUT M CA S 1 RA PORT
(P0) = F9H
XUT M CA S 6 RA PORT
(P0) = 82H
GI CTC TO TR
GI CTC TO TR
DELAY500MS
DELAY500MS
XUT M CA S 2 RA PORT
(P0) = A4H
XUT M CA S 7 RA PORT
(P0) = F8H
GI CTC TO TR
GI CTC TO TR
DELAY500MS
DELAY500MS
XUT M CA S 3 RA PORT
(P0) = B0H
XUT M CA S 8 RA PORT
(P0) = 80H
GI CTC TO TR
GI CTC TO TR
DELAY500MS
DELAY500MS
XUT M CA S 4 RA PORT
(P0) = 99H
XUT M CA S 9 RA PORT
(P0) = 90H
GI CTC TO TR
GI CTC TO TR
DELAY500MS
DELAY500MS
XUT M CA S 5 RA PORT
(P0) = 92H
GI CTC TO TR
DELAY500MS
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI 0 -> 9 TREN LED 7 DOAN
;***************************************************
;KET NOI:
1 LED -> PORT0
;
SEL LED -> PORT1
;CHE DO:
MULTI, 7SEG IN (DP -> A), MULTI INT, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
P1,#0FEH
;CHO PHEP LED 7 SANG
MOV
P0,#0C0H
;SO 0
LCALL DELAY500MS
MOV
P0,#0F9H
;SO 1
LCALL DELAY500MS
MOV
P0,#0A4H
;SO 2
LCALL DELAY500MS
MOV
P0,#0B0H
;SO 3
LCALL DELAY500MS
MOV
P0,#99H
;SO 4
LCALL DELAY500MS
MOV
P0,#92H
;SO 5
LCALL DELAY500MS
MOV
P0,#82H
;SO 6
LCALL DELAY500MS
MOV
P0,#0F8H
;SO 7
LCALL DELAY500MS
55
Bi 2: Chng trnh iu khin hin th m s BCD t 0 ln 9 trn LED0 (LED0 c ni vi Port0, tn hiu
SEL7 c ni vi P1.0).
MOV
P0,#80H
;SO 8
LCALL DELAY500MS
MOV
P0,#90H
;SO 9
LCALL DELAY500MS
SJMP
MAIN
;****************************************************
DELAY500MS: ;CHUONG TRINH CON TAO THOI GIAN TRE 500MS
PUSH 00H
MOV
R0,#100
MOV
TMOD,#01H
LOOP2:
MOV
TH0,#HIGH(-5000)
MOV
TL0,#LOW(-5000)
SETB
TR0
JNB
TF0,$
CLR
TR0
CLR
TF0
DJNZ
R0,LOOP2
POP
00H
RET
END
Cch 2:
B2.2
M7I
BEGIN
MAIN:
NP A CH VNG M 7 ON
(DPTR) = CODEDISP
NP GI TR BT U
(R0) = 00H
XUT M IU KHIN LED
(P1) = 11111110B = FEH
DISP:
NP D LIU HIN TH
(A) = (R0)
DELAY500MS
(XEM CTC NY TI V D A1)
DELAY500MS
TNG GI TR CA D LIU
(R0) = (R0) + 1
GI TR 10 (0AH)
(CHA M XONG; 9)
S
VNG D LIU CODEDISP
C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI 0 -> 9 TREN LED 7 DOAN
;***************************************************
;KET NOI:
1 LED -> PORT0
;
SEL LED -> PORT1
;CHE DO:
MULTI, 7SEG IN (DP -> A), MULTI INT, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
DPTR,#CODEDISP
;NAP DIA CHI VUNG MA HIEN THI
MOV
R0,#00H
;VI TRI DU LIEU HIEN THI TRONG VUNG MA
MOV
P1,#0FEH
;CHO PHEP LED 7 SANG
DISP:
MOV
A,R0
;NAP VI TRI DU LIEU
MOVC A,@A+DPTR
;LAY MA HIEN THI
MOV
P0,A
;XUAT HIEN THI
LCALL DELAY500MS
INC
R0
56
Bi 2: Chng trnh iu khin hin th m s BCD t 0 ln 9 trn LED0 (LED0 c ni vi Port0, tn hiu
SEL7 c ni vi P1.0).
CJNE
R0,#10,DISP
;KIEM TRA VI TRI DU LIEU > 9 (DEM XONG)
SJMP
MAIN
;****************************************************
DELAY500MS: ;CHUONG TRINH CON TAO THOI GIAN TRE 500MS
PUSH 00H
MOV
R0,#100
MOV
TMOD,#01H
LOOP2:
MOV
TH0,#HIGH(-5000)
MOV
TL0,#LOW(-5000)
SETB
TR0
JNB
TF0,$
CLR
TR0
CLR
TF0
DJNZ
R0,LOOP2
POP
00H
RET
;****************************************************
CODEDISP:
;VUNG DU LIEU HIEN THI
DB
0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
Bi tp:
Bi 1: Hy vit chng trnh iu khin hin th s 5 trn LED5.
Bi 2: Hy vit chng trnh iu khin hin th m s BCD t 0 ln 5 trn LED4.
Bi 3: Hy vit chng trnh iu khin hin th m s BCD t 5 xung 0 trn LED4.
Bi 4: Hy vit chng trnh iu khin hin th m s HEX t 0 ln F trn LED4.
Bi 5: Hy vit chng trnh iu khin hin th m s HEX t F xung 0 trn LED4.
Bi 6: Nu trng hp LED ca ta l loi Cathode chung th chng trnh phi thay i nh th no? Ti
sao? Tin hnh m phng th xem sao?
Bi 7: Sinh vin t mnh suy ngh v pht trin thm chng trnh.
57
Bi 3: Chng trnh iu khin hin th s 12 trn hai LED (LED1, LED0 c ni vi Port0; tn hiu SEL0 v
SEL1 ln lt c ni vi P1.0 v P1.1).
+5V
C2
2
3
4
5
6
7
8
9
33p
X1
12MHz
C1
33p
+5V
U1
19
18
C3
XTAL1
XTAL2
10uF
9
RST
R1
10k
P1.0
P1.1
29
30
31
1
2
3
4
5
6
7
8
PSEN
ALE
EA
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
R4
R5
R6
R7
R8
R9
R10
10K
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
P1.1
RP1
39 AD0
38 AD1
37 AD2
36 AD3
35 AD4
34 AD5
33 AD6
32 AD7
AD0
AD1
AD2
AD3
AD4
AD5
AD6
56
56
56
56
56
56
56
A
B
C
D
E
F
G
+5V
+5V
R2
Q1
R3
Q2
1K
A1015
1K
A1015
A
B
C
D
E
F
G
A
B
C
D
E
F
G
LED1
21
22
23
24
25
26
27
28
P1.0
LED0
MA CH IE U KHIE N LED 7 OA N
10
11
12
13
14
15
16
17
AT89C51
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 12 TREN LED 7 DOAN
;***************************************************
;KET NOI:
2 LED -> PORT0
;
SEL LED -> PORT1
;CHE DO:
MULTI, 7SEG IN (DP -> A), MULTI INT, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
58
Bi 3: Chng trnh iu khin hin th s 12 trn hai LED (LED1, LED0 c ni vi Port0; tn hiu SEL0 v
SEL1 ln lt c ni vi P1.0 v P1.1).
MOV
P1,#0FEH
;CHO PHEP LED 7 SANG
MOV
P0,#0A4H
;HIEN THI SO 2
LCALL DELAYLED
MOV
P1,#0FDH
;CHO PHEP LED 6 SANG
MOV
P0,#0F9H
;HIEN THI SO 1
LCALL DELAYLED
SJMP
MAIN
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS
PUSH 00H
PUSH 01H
MOV
R1,#5
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
POP
01H
POP
00H
RET
END
Cch 2:
59
Bi 3: Chng trnh iu khin hin th s 12 trn hai LED (LED1, LED0 c ni vi Port0; tn hiu SEL0 v
SEL1 ln lt c ni vi P1.0 v P1.1).
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 12 TREN LED 7 DOAN
;***************************************************
;KET NOI:
2 LED -> PORT0
;
SEL LED -> PORT1
;CHE DO:
MULTI, 7SEG IN (DP -> A), MULTI INT, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
DPTR,#100H
;NAP DIA CHI VUNG DU LIEU
DISP:
MOV
R0,#02H
;SO LAN QUET (SO LED)
MOV
R1,#00H
;NAP DIA CHI (OFFSET) CUA DU LIEU
MOV
R2,#10H
;NAP DIA CHI (OFFSET) CUA MA QUET
DISP1:
MOV
A,R1
;LAY DU LIEU
MOVC A,@A+DPTR
MOV
P0,A
;XUAT DU LIEU HIEN THI
MOV
A,R2
;LAY MA QUET
MOVC A,@A+DPTR
MOV
P1,A
;XUAT MA QUET
LCALL DELAYLED
MOV
P1,#0FFH
;CHONG LEM
INC
R1
;DIA CHI (OFFSET) CUA DU LIEU KE TIEP
INC
R2
;DIA CHI (OFFSET) CUA MA QUET KE TIEP
DJNZ
R0,DISP1
SJMP
MAIN
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS
PUSH 00H
PUSH 01H
MOV
R1,#5
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
POP
01H
POP
00H
RET
;****************************************************
ORG
100H
;VUNG DU LIEU HIEN THI
CODEDISP:
DB
0A4H,0F9H
ORG
110H
CODESCAN:
;VUNG MA QUET
DB
0FEH,0FDH
END
Cch 3:
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 12 TREN LED 7 DOAN
;***************************************************
;KET NOI:
2 LED -> PORT0
;
SEL LED -> PORT1
;CHE DO:
MULTI, 7SEG IN (DP -> A), MULTI INT, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
R7,#12H
;SO HIEN THI
LCALL BCD2TO7SEG
;GIAI MA BCD SANG MA 7 DOAN
LCALL DISP7SEGMUL2
;QUET HIEN THI
SJMP
MAIN
;***************************************************
;CTC QUET HIEN THI LED 7 DOAN (2 LED 7 DOAN).
;***************************************************
;LED: ANODE CHUNG, KICH HOAT MUC 0, 7 DOAN: DP (MSB) -> A (LSB)
;DU LIEU HIEN THI CHUA TRONG O NHO CUA RAM.
60
Bi 3: Chng trnh iu khin hin th s 12 trn hai LED (LED1, LED0 c ni vi Port0; tn hiu SEL0 v
SEL1 ln lt c ni vi P1.0 v P1.1).
;***************************************************
;NAME:
DISP7SEGMUL2.
;INPUT:
61H,60H = MA 7 DOAN (CHUC - DON VI).
;OUTPUT:
P0 = 7 DOAN LED - DP (MSB) -> A (LSB).
;
P1 = CHON LED - LEFT (MSD) -> RIGHT (LSD).
;***************************************************
DISP7SEGMUL2:
PUSH ACC
;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH 00H
MOV
A,#0FDH
;MA QUET
MOV
R0,#61H
;DIA CHI VUNG MA HIEN THI
DISP:
MOV
P0,@R0
;XUAT MA HIEN THI
MOV
P1,A
;XUAT MA QUET
LCALL DELAYLED
MOV
P1,#0FFH
;CHONG LEM
DEC
R0
;LAY MA HIEN THI KE TIEP
RR
A
;CHUYEN SANG LED KE TIEP
CJNE
R0,#05FH,DISP ;KIEM TRA DA QUET XONG CHUA
POP
00H
;PHUC HOI GIA TRI CHO CAC THANH GHI
POP
ACC
RET
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS
PUSH 00H
PUSH 01H
MOV
R1,#5
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
POP
01H
POP
00H
RET
;***************************************************
;CTC GIAI MA TU SO BCD NEN SANG MA 7 DOAN (1 SO BCD NEN).
;***************************************************
;LED: ANODE CHUNG, 7 DOAN: DP (MSB) -> A (LSB)
;GIA TRI GIAI MA: 0 -> 9
;***************************************************
;NAME:
BCD2TO7SEG.
;INPUT:
R7 = SO BCD NEN (CHUC - DON VI).
;OUTPUT:
61H,60H = MA 7 DOAN (CHUC - DON VI).
;***************************************************
BCD2TO7SEG:
PUSH DPH
;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH DPL
PUSH ACC
MOV
DPTR,#CODE7SEG
MOV
ANL
MOVC
MOV
A,R7
A,#0FH
A,@A+DPTR
60H,A
MOV
ANL
SWAP
MOVC
MOV
A,R7
A,#0F0H
A
A,@A+DPTR
61H,A
POP
POP
POP
RET
ACC
DPL
DPH
61
Bi 3: Chng trnh iu khin hin th s 12 trn hai LED (LED1, LED0 c ni vi Port0; tn hiu SEL0 v
SEL1 ln lt c ni vi P1.0 v P1.1).
;***************************************************
CODE7SEG:
;VUNG CHUA MA 7 DOAN (0 -> 9)
DB
0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
BEGIN
BCD2TO7SEG
MAIN:
NP GI TR HIN TH
(R7) = 12H
NAME:
BCD2TO7SEG - GII M BCD SANG M 7 ON.
INPUT:
R7 = S BCD NN (CHC/N V).
OUTPUT: 61H, 60H = M 7 ON (CHC/N V).
B3.3
M7I
BCD2TO7SEG:
CT TM GI TR CA DPH,
DPL, ACC VO STACK
NP A CH VNG M
(DPTR) = CODE7SEG
NP S BCD NN CN GII M
Y
(A) = (R7) = X
DISP7SEGMUL2
(XEM CTC NY TI V D B3.3 MBI)
DELAYLED
X L LY GI TR TH NHT TRONG
S BCD NN (4 BIT THP)
Y
(A) = 0
GII M D LIU
(A) = (@A+DPTR)
CT M 7 ON CA BCD HNG N V
VO NH
(60H) = (A)
NP S BCD NN CN GII M
(A) = (R7) = X
Y
X L LY GI TR TH HAI TRONG S
BCD NN (4 BIT CAO)
X
(A) = 0
GII M D LIU
(A) = (@A+DPTR)
CT M 7 ON CA BCD HNG CHC VO
NH
(61H) = (A)
LY LI GI TR CHO DPH, DPL,
ACC T STACK
RET
VNG D LIU CODE7SEG
C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H
Bi tp:
(xem thm trong phn hng dn v phn bi tp ca Bi 4)
62
Bi 4: Chng trnh iu khin hin th m s BCD t 00 ln 99 trn hai LED (LED1, LED0 c ni vi
Port0; tn hiu SEL0 v SEL1 ln lt c ni vi P1.0 v P1.1).
1 Trnh t tin hnh th nghim:
1.1 Kt ni thit b th nghim.
Qu trnh kt ni thit b th nghim tng t nh Bi 1.
1.2 S nguyn l ca h thng:
S nguyn l ca h thng tng t nh Bi 3.
1.3 V lu gii thut v vit chng trnh iu khin.
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI 00 -> 99 TREN LED 7 DOAN
;***************************************************
;KET NOI:
2 LED -> PORT0
;
SEL LED -> PORT1
;CHE DO:
MULTI, 7SEG IN (DP -> A), MULTI INT, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
R7,#00H
;SO HIEN THI BAN DAU
MP1:
LCALL BCD2TO7SEG
;GIAI MA BCD SANG MA 7 DOAN
LCALL DELAY_SCAN
;DELAY VA QUET HIEN THI
MOV
A,R7
;TANG GIA TRI
ADD
A,#1
DA
A
MOV
R7,A
CJNE
A,#00H,MP1
;KIEM TRA GIA TRI HIEN THI > 99
SJMP
MAIN
;***************************************************
;CTC QUET HIEN THI LED 7 DOAN (2 LED 7 DOAN).
;***************************************************
;LED: ANODE CHUNG, KICH HOAT MUC 0, 7 DOAN: DP (MSB) -> A (LSB)
;DU LIEU HIEN THI CHUA TRONG O NHO CUA RAM.
;***************************************************
;NAME:
DISP7SEGMUL2.
;INPUT:
61H,60H = MA 7 DOAN (CHUC - DON VI).
;OUTPUT:
P0 = 7 DOAN LED - DP (MSB) -> A (LSB).
;
P1 = CHON LED - LEFT (MSD) -> RIGHT (LSD).
;***************************************************
DISP7SEGMUL2:
PUSH ACC
;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH 00H
MOV
A,#0FDH
;MA QUET
MOV
R0,#61H
;DIA CHI VUNG MA HIEN THI
DISP:
MOV
P0,@R0
;XUAT MA HIEN THI
MOV
P1,A
;XUAT MA QUET
LCALL DELAYLED
MOV
P1,#0FFH
;CHONG LEM
DEC
R0
;LAY MA HIEN THI KE TIEP
63
Bi 4: Chng trnh iu khin hin th m s BCD t 00 ln 99 trn hai LED (LED1, LED0 c ni vi
Port0; tn hiu SEL0 v SEL1 ln lt c ni vi P1.0 v P1.1).
RR
A
;CHUYEN SANG LED KE TIEP
CJNE
R0,#05FH,DISP ;KIEM TRA DA QUET XONG CHUA
POP
00H
;PHUC HOI GIA TRI CHO CAC THANH GHI
POP
ACC
RET
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS
PUSH 00H
PUSH 01H
MOV
R1,#5
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
POP
01H
POP
00H
RET
;****************************************************
DELAY_SCAN: ;CHUONG TRINH CON TAO THOI GIAN TRE 250MS CO GOI CTC QUET HIEN THI
PUSH 00H
MOV
R0,#50
MOV
TMOD,#01H
LOOP2:
MOV
TH0,#HIGH(-5000)
MOV
TL0,#LOW(-5000)
SETB
TR0
SCAN:
;LIEN TUC GOI CTC QUET HIEN THI TRONG LUC TIMER DANG CHAY
LCALL DISP7SEGMUL2 ;GOI CTC QUET HIEN THI
JNB
TF0,SCAN
CLR
TR0
CLR
TF0
DJNZ
R0,LOOP2
POP
00H
RET
;****************************************************
;CTC GIAI MA TU SO BCD NEN SANG MA 7 DOAN (1 SO BCD NEN).
;***************************************************
;LED: ANODE CHUNG, 7 DOAN: DP (MSB) -> A (LSB)
;GIA TRI GIAI MA: 0 -> 9
;***************************************************
;NAME:
BCD2TO7SEG.
;INPUT:
R7 = SO BCD NEN (CHUC - DON VI).
;OUTPUT:
61H,60H = MA 7 DOAN (CHUC - DON VI).
;***************************************************
BCD2TO7SEG:
PUSH DPH
;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH DPL
PUSH ACC
MOV
DPTR,#CODE7SEG
;DIA CHI VUNG MA 7 DOAN
MOV
A,R7
;LAY SO BCD CAN GIAI MA
ANL
A,#0FH
;XOA 4 BIT CAO
MOVC A,@A+DPTR
;LAY MA 7 DOAN TUONG UNG
MOV
60H,A
;CAT BCD HANG DON VI VAO O NHO
MOV
A,R7
;LAY SO BCD CAN GIAI MA
ANL
A,#0F0H
;XOA 4 BIT THAP
SWAP A
;HOAN CHUYEN CAO - THAP
MOVC A,@A+DPTR
;LAY MA 7 DOAN TUONG UNG
MOV
61H,A
;CAT BCD HANG CHUC VAO O NHO
POP
ACC
;PHUC HOI GIA TRI CHO CAC THANH GHI
POP
DPL
POP
DPH
RET
;***************************************************
CODE7SEG:
;VUNG CHUA MA 7 DOAN (0 -> 9)
DB
0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
64
Bi 4: Chng trnh iu khin hin th m s BCD t 00 ln 99 trn hai LED (LED1, LED0 c ni vi
Port0; tn hiu SEL0 v SEL1 ln lt c ni vi P1.0 v P1.1).
1.4 Thc hin ln lt cc bc t 1.3 n 1.8 tng t nh bi trn.
2
Bi tp:
Bi 1: Hy vit chng trnh iu khin hin th s 34 trn hai LED.
Bi 2: Hy vit chng trnh iu khin hin th m s BCD t 00 ln 59 trn hai LED.
Bi 3: Hy vit chng trnh iu khin hin th m s BCD t 59 xung 00 trn hai LED.
Bi 4: Hy vit chng trnh iu khin hin th m s BCD t 00 ln 23 trn hai LED.
Bi 5: Hy vit chng trnh iu khin hin th m s HEX t 00 ln FF trn hai LED.
Bi 6: Hy vit chng trnh iu khin hin th m s HEX t FF xung 00 trn hai LED.
Bi 7: Hy vit chng trnh iu khin hin th m s HEX t 00 ln AB trn hai LED.
Bi 8: Nu trng hp LED ca ta l loi Cathode chung th chng trnh phi thay i nh th no? Ti
sao? Tin hnh m phng th xem sao?
Bi 9: Sinh vin t mnh suy ngh v pht trin thm chng trnh.
65
Bi 5: Chng trnh iu khin hin th s 1234 trn bn LED (LED3, LED2, LED1 v LED0 c ni vi
Port0; tn hiu SEL0, SEL1, SEL2 v SEL3 ln lt c ni vi P1.0, P1.1, P1.2 v P1.3).
2
3
4
5
6
7
8
9
33p
X1
12MHz
C1
33p
+5V
18
C3
XTAL1
XTAL2
10uF
9
RST
R1
10k
P1.0
P1.1
P1.2
P1.3
29
30
31
1
2
3
4
5
6
7
8
PSEN
ALE
EA
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
R4
R5
R6
R7
R8
R9
R10
10K
U1
19
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
39 AD0
38 AD1
37 AD2
36 AD3
35 AD4
34 AD5
33 AD6
32 AD7
AD0
AD1
AD2
AD3
AD4
AD5
AD6
56
56
56
56
56
56
56
A
B
C
D
E
F
G
+5V
+5V
R2
Q1
R3
Q2
R11
Q3
R12
Q4
1K
A1015
1K
A1015
1K
A1015
1K
A1015
A
B
C
D
E
F
G
A
B
C
D
E
F
G
LED3
21
22
23
24
25
26
27
28
+5V
P1.0
+5V
P1.1
+5V
C2
P1.3
RP1
P1.2
A
B
C
D
E
F
G
LED2
A
B
C
D
E
F
G
LED1
LED0
10
11
12
13
14
15
16
17
AT89C51
BEGIN
XUT M IU KHIN LED
(P1) = 11111110B = FEH
XUT M CA S 4 RA PORT
(P0) = 99H
GI CTC TO TR CHO 1 LED
DELAYLED
XUT M IU KHIN LED
(P1) = 11111101B = FDH
XUT M CA S 3 RA PORT
(P0) = B0H
GI CTC TO TR CHO 1 LED
DELAYLED
DELAYLED
(XEM CTC NY TI V D B3.1 MBI)
END
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 1234 TREN LED 7 DOAN
;***************************************************
;KET NOI:
4 LED -> PORT0
;
SEL LED -> PORT1
;CHE DO:
MULTI, 7SEG IN (DP -> A), MULTI INT, CA, ACTIVE = 0
66
Bi 5: Chng trnh iu khin hin th s 1234 trn bn LED (LED3, LED2, LED1 v LED0 c ni vi
Port0; tn hiu SEL0, SEL1, SEL2 v SEL3 ln lt c ni vi P1.0, P1.1, P1.2 v P1.3).
;***************************************************
ORG
00H
MAIN:
MOV
P1,#0FEH
;CHO PHEP LED 7 SANG
MOV
P0,#99H
;HIEN THI SO 4
LCALL DELAYLED
MOV
P1,#0FDH
;CHO PHEP LED 6 SANG
MOV
P0,#0B0H
;HIEN THI SO 3
LCALL DELAYLED
MOV
P1,#0FBH
;CHO PHEP LED 5 SANG
MOV
P0,#0A4H
;HIEN THI SO 2
LCALL DELAYLED
MOV
P1,#0F7H
;CHO PHEP LED 4 SANG
MOV
P0,#0F9H
;HIEN THI SO 1
LCALL DELAYLED
SJMP
MAIN
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS
PUSH 00H
PUSH 01H
MOV
R1,#5
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
POP
01H
POP
00H
RET
END
Bi tp:
(xem thm trong phn hng dn v phn bi tp ca Bi 6)
67
Bi 6: Chng trnh iu khin hin th m s BCD t 0000 ln 9999 trn bn LED (LED3, LED2, LED1 v
LED0 c ni vi Port0; tn hiu SEL0, SEL1, SEL2 v SEL3 ln lt c ni vi P1.0, P1.1, P1.2
v P1.3).
1 Trnh t tin hnh th nghim:
1.1 Kt ni thit b th nghim.
Qu trnh kt ni thit b th nghim tng t nh Bi 1.
1.2 S nguyn l ca h thng:
S nguyn l ca h thng tng t nh Bi 5.
1.3 V lu gii thut v vit chng trnh iu khin.
B6
M7I
BEGIN
BCD4TO7SEG
NAME:
INPUT:
MAIN:
NP GI TR BT U
(R6) = 00H - CHC/N V
(R7) = 00H - NGN/TRM
BCD4TO7SEG:
CT TM GI TR CA DPH,
DPL, ACC VO STACK
MP1:
GI CTC GII M BCD-7 ON
BCD4TO7SEG
GI CTC DELAY V QUT-HIN TH
DELAY_SCAN
TNG GI TR CA D LIU
(TNG THEO KIU DEC)
ADD / DA - (R6) - CHC/N V
GI TR 00H (100H)
(CHA M XONG; 99)
S
TNG GI TR CA D LIU
(TNG THEO KIU DEC)
ADD / DA - (R7) - NGN/TRM
GI TR 00H (100H)
(CHA M XONG; 99)
DISP7SEGMUL4
(XEM CTC NY TI V D B6 MBI)
DELAYLED
(XEM CTC NY TI V D B3.1 MBI)
DELAY_SCAN
NP A CH VNG M
(DPTR) = CODE7SEG
NP S BCD NN CN GII M
Y
(A) = (R6) = X
NP S BCD NN CN GII M
Y
(A) = (R7) = X
X L LY GI TR TH NHT TRONG
S BCD NN (4 BIT THP)
Y
(A) = 0
X L LY GI TR TH NHT TRONG
S BCD NN (4 BIT THP)
Y
(A) = 0
GII M D LIU
(A) = (@A+DPTR)
GII M D LIU
(A) = (@A+DPTR)
CT M 7 ON CA BCD HNG N V
VO NH
(60H) = (A)
NP S BCD NN CN GII M
(A) = (R6) = X
Y
NP S BCD NN CN GII M
(A) = (R7) = X
Y
X L LY GI TR TH HAI TRONG S
BCD NN (4 BIT CAO)
X
(A) = 0
X L LY GI TR TH HAI TRONG S
BCD NN (4 BIT CAO)
X
(A) = 0
GII M D LIU
(A) = (@A+DPTR)
GII M D LIU
(A) = (@A+DPTR)
RET
VNG D LIU CODE7SEG
C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI 0000 -> 9999 TREN LED 7 DOAN
;***************************************************
;KET NOI:
4 LED -> PORT0
;
SEL LED -> PORT1
;CHE DO:
MULTI, 7SEG IN (DP -> A), MULTI INT, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
R7,#00H
;SO HIEN THI BAN DAU
MOV
R6,#00H
MP1:
LCALL BCD4TO7SEG
;GIAI MA BCD SANG MA 7 DOAN
LCALL DELAY_SCAN
;DELAY VA QUET HIEN THI
MOV
A,R6
;TANG GIA TRI (CHUC - DON VI)
ADD
A,#1
DA
A
MOV
R6,A
CJNE
A,#00H,MP1
;KIEM TRA GIA TRI HIEN THI > 99 (CHUC - DON VI)
MOV
A,R7
;TANG GIA TRI (NGAN - TRAM)
68
Bi 6: Chng trnh iu khin hin th m s BCD t 0000 ln 9999 trn bn LED (LED3, LED2, LED1 v
LED0 c ni vi Port0; tn hiu SEL0, SEL1, SEL2 v SEL3 ln lt c ni vi P1.0, P1.1, P1.2
v P1.3).
ADD
A,#1
DA
A
MOV
R7,A
CJNE
A,#00H,MP1
;KIEM TRA GIA TRI HIEN THI > 99 (NGAN - TRAM)
SJMP
MAIN
;***************************************************
;CTC QUET HIEN THI LED 7 DOAN (4 LED 7 DOAN).
;***************************************************
;LED: ANODE CHUNG, KICH HOAT MUC 0, 7 DOAN: DP (MSB) -> A (LSB)
;DU LIEU HIEN THI CHUA TRONG O NHO CUA RAM.
;***************************************************
;NAME:
DISP7SEGMUL4.
;INPUT:
63H,62H = MA 7 DOAN (NGAN - TRAM).
;
61H,60H = MA 7 DOAN (CHUC - DON VI).
;OUTPUT:
P0 = 7 DOAN LED - DP (MSB) -> A (LSB).
;
P2 = CHON LED - LEFT (MSD) -> RIGHT (LSD).
;***************************************************
DISP7SEGMUL4:
PUSH ACC
;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH 00H
MOV
A,#0F7H
;MA QUET
MOV
R0,#63H
;DIA CHI VUNG MA HIEN THI
DISP:
MOV
P0,@R0
;XUAT MA HIEN THI
MOV
P1,A
;XUAT MA QUET
LCALL DELAYLED
MOV
P1,#0FFH
;CHONG LEM
DEC
R0
;LAY MA HIEN THI KE TIEP
RR
A
;CHUYEN SANG LED KE TIEP
CJNE
R0,#5FH,DISP
;KIEM TRA DA QUET XONG CHUA
POP
00H
;PHUC HOI GIA TRI CHO CAC THANH GHI
POP
ACC
RET
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS
PUSH 00H
PUSH 01H
MOV
R1,#5
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
POP
01H
POP
00H
RET
;****************************************************
DELAY_SCAN: ;CHUONG TRINH CON TAO THOI GIAN TRE 250MS CO GOI CTC QUET HIEN THI
PUSH 00H
MOV
R0,#50
MOV
TMOD,#01H
LOOP2:
MOV
TH0,#HIGH(-5000)
MOV
TL0,#LOW(-5000)
SETB
TR0
SCAN:
;LIEN TUC GOI CTC QUET HIEN THI TRONG LUC TIMER DANG CHAY
LCALL DISP7SEGMUL4 ;GOI CTC QUET HIEN THI
JNB
TF0,SCAN
CLR
TR0
CLR
TF0
DJNZ
R0,LOOP2
POP
00H
RET
;***************************************************
;CTC GIAI MA TU SO BCD NEN SANG MA 7 DOAN (2 SO BCD NEN).
;***************************************************
69
Bi 6: Chng trnh iu khin hin th m s BCD t 0000 ln 9999 trn bn LED (LED3, LED2, LED1 v
LED0 c ni vi Port0; tn hiu SEL0, SEL1, SEL2 v SEL3 ln lt c ni vi P1.0, P1.1, P1.2
v P1.3).
;LED: ANODE CHUNG, 7 DOAN: DP (MSB) -> A (LSB)
;GIA TRI GIAI MA: 0 -> 9
;***************************************************
;NAME:
BCD4TO7SEG.
;INPUT:
R7 = SO BCD NEN (NGAN - TRAM).
;
R6 = SO BCD NEN (CHUC - DON VI).
;OUTPUT:
63H,62H = MA 7 DOAN (NGAN - TRAM).
;
61H,60H = MA 7 DOAN (CHUC - DON VI).
;***************************************************
BCD4TO7SEG:
PUSH DPH
;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH DPL
PUSH ACC
MOV
DPTR,#CODE7SEG
MOV
ANL
MOVC
MOV
A,R6
A,#0FH
A,@A+DPTR
60H,A
MOV
ANL
SWAP
MOVC
MOV
A,R6
A,#0F0H
A
A,@A+DPTR
61H,A
MOV
ANL
MOVC
MOV
A,R7
A,#0FH
A,@A+DPTR
62H,A
MOV
ANL
SWAP
MOVC
MOV
A,R7
A,#0F0H
A
A,@A+DPTR
63H,A
POP
ACC
;PHUC HOI GIA TRI CHO CAC THANH GHI
POP
DPL
POP
DPH
RET
;***************************************************
CODE7SEG:
;VUNG CHUA MA 7 DOAN (0 -> 9)
DB
0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
Bi tp:
Bi 1: Hy vit chng trnh iu khin hin th s 5678 trn bn LED (LED4, LED5, LED6 v LED7
c ni vi Port0; tn hiu SEL4, SEL5, SEL6 v SEL7 ln lt c ni vi P1.0, P1.1, P1.2 v P1.3).
Bi 2: Hy vit chng trnh iu khin hin th m s BCD t 0000 ln 9999 trn bn LED (LED4,
LED5, LED6 v LED7 c ni vi Port0; tn hiu SEL4, SEL5, SEL6 v SEL7 ln lt c ni vi
P1.0, P1.1, P1.2 v P1.3).
Bi 3: Hy vit chng trnh iu khin hin th m s BCD t 9999 xung 0000 trn bn LED (LED4,
LED5, LED6 v LED7 c ni vi Port0; tn hiu SEL4, SEL5, SEL6 v SEL7 ln lt c ni vi
P1.0, P1.1, P1.2 v P1.3).
Bi 4: Hy vit chng trnh iu khin hin th m s BCD t 0000 ln 1234 trn bn LED (LED4,
LED5, LED6 v LED7 c ni vi Port0; tn hiu SEL4, SEL5, SEL6 v SEL7 ln lt c ni vi
P1.0, P1.1, P1.2 v P1.3).
70
Bi 6: Chng trnh iu khin hin th m s BCD t 0000 ln 9999 trn bn LED (LED3, LED2, LED1 v
LED0 c ni vi Port0; tn hiu SEL0, SEL1, SEL2 v SEL3 ln lt c ni vi P1.0, P1.1, P1.2
v P1.3).
Bi 5: Hy vit chng trnh iu khin hin th m s HEX t 0000 ln FFFF trn bn LED (LED4,
LED5, LED6 v LED7 c ni vi Port0; tn hiu SEL4, SEL5, SEL6 v SEL7 ln lt c ni vi
P1.0, P1.1, P1.2 v P1.3).
Bi 6: Hy vit chng trnh iu khin hin th m s HEX t FFFF xung 0000 trn bn LED (LED4,
LED5, LED6 v LED7 c ni vi Port0; tn hiu SEL4, SEL5, SEL6 v SEL7 ln lt c ni vi
P1.0, P1.1, P1.2 v P1.3).
Bi 7: Hy vit chng trnh iu khin hin th m s HEX t 0000 ln ABCD trn bn LED (LED4,
LED5, LED6 v LED7 c ni vi Port0; tn hiu SEL4, SEL5, SEL6 v SEL7 ln lt c ni vi
P1.0, P1.1, P1.2 v P1.3).
Bi 8: Nu trng hp LED ca ta l loi Cathode chung th chng trnh phi thay i nh th no? Ti
sao? Tin hnh m phng th xem sao?
Bi 9: Sinh vin t mnh suy ngh v pht trin thm chng trnh.
71
Bi 7: Chng trnh iu khin hin th s 12345678 trn tm LED (LED0 n LED7 c ni vi Port0; tn
hiu SEL0 n SEL7 ln lt c ni vi P1.0 n P1.7).
PORT 1
PORT 3
20 PINS
PORT 2
PORT 3
40 PINS
PORT 1
PORT 0
2
3
4
5
6
7
8
9
X1
12MHz
C1
33p
+5V
U1
19
18
C3
XTAL1
XTAL2
10uF
9
RST
R1
10k
29
30
31
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
1
2
3
4
5
6
7
8
PSEN
ALE
EA
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
R4
R5
R6
R7
R8
R9
R10
10K
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
39 AD0
38 AD1
37 AD2
36 AD3
35 AD4
34 AD5
33 AD6
32 AD7
AD0
AD1
AD2
AD3
AD4
AD5
AD6
56
56
56
56
56
56
56
21
22
23
24
25
26
27
28
A
B
C
D
E
F
G
+5V
P1.0
+5V
P1.1
+5V
P1.2
+5V
P1.3
+5V
P1.4
+5V
P1.5
+5V
33p
P1.7
RP1
C2
P1.6
+5V
R2
Q1
R3
Q2
R11
Q3
R12
Q4
R13
Q5
R14
Q6
R15
Q7
R16
Q8
1K
A1015
1K
A1015
1K
A1015
1K
A1015
1K
A1015
1K
A1015
1K
A1015
1K
A1015
A
B
C
D
E
F
G
A
B
C
D
E
F
G
LED7
A
B
C
D
E
F
G
LED6
A
B
C
D
E
F
G
LED5
A
B
C
D
E
F
G
LED4
A
B
C
D
E
F
G
LED3
A
B
C
D
E
F
G
LED2
A
B
C
D
E
F
G
LED1
LED0
MA C H IE U KHIE N LED 7 OA N
10
11
12
13
14
15
16
17
AT89C51
72
Bi 7: Chng trnh iu khin hin th s 12345678 trn tm LED (LED0 n LED7 c ni vi Port0; tn
hiu SEL0 n SEL7 ln lt c ni vi P1.0 n P1.7).
LCALL DELAYLED
MOV
P1,#0F7H
;CHO PHEP LED 4 SANG
MOV
P0,#92H
;HIEN THI SO 5
LCALL DELAYLED
MOV
P1,#0EFH
;CHO PHEP LED 3 SANG
MOV
P0,#99H
;HIEN THI SO 4
LCALL DELAYLED
MOV
P1,#0DFH
;CHO PHEP LED 2 SANG
MOV
P0,#0B0H
;HIEN THI SO 3
LCALL DELAYLED
MOV
P1,#0BFH
;CHO PHEP LED 1 SANG
MOV
P0,#0A4H
;HIEN THI SO 2
LCALL DELAYLED
MOV
P1,#07FH
;CHO PHEP LED 0 SANG
MOV
P0,#0F9H
;HIEN THI SO 1
LCALL DELAYLED
SJMP
MAIN
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS
PUSH 00H
PUSH 01H
MOV
R1,#5
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
POP
01H
POP
00H
RET
END
B7
M7I
BEGIN
XUT M IU KHIN LED
(P1) = 11111110B = FEH
XUT M CA S 4 RA PORT
(P0) = 99H
XUT M CA S 8 RA PORT
(P0) = 80H
XUT M CA S 3 RA PORT
(P0) = B0H
XUT M CA S 7 RA PORT
(P0) = F8H
XUT M CA S 2 RA PORT
(P0) = A4H
XUT M CA S 6 RA PORT
(P0) = 82H
XUT M CA S 1 RA PORT
(P0) = F9H
XUT M CA S 5 RA PORT
(P0) = 92H
END
DELAYLED
(XEM CTC NY TI V D B3.1 MBI)
Bi tp:
(xem thm trong phn hng dn v phn bi tp ca Bi 8)
73
Bi 8: Chng trnh iu khin hin th m s BCD t 00000000 ln 99999999 trn tm LED (LED0 n
LED7 c ni vi Port0; tn hiu SEL0 n SEL7 ln lt c ni vi P1.0 n P1.7).
1 Trnh t tin hnh th nghim:
1.1 Kt ni thit b th nghim.
Qu trnh kt ni thit b th nghim tng t nh Bi 7.
1.2 S nguyn l ca h thng:
S nguyn l ca h thng tng t nh Bi 7.
1.3 V lu gii thut v vit chng trnh iu khin.
74
Bi 8: Chng trnh iu khin hin th m s BCD t 00000000 ln 99999999 trn tm LED (LED0 n
LED7 c ni vi Port0; tn hiu SEL0 n SEL7 ln lt c ni vi P1.0 n P1.7).
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI 00000000 -> 99999999 TREN LED 7 DOAN
;***************************************************
;KET NOI:
8 LED -> PORT0
;
SEL LED -> PORT1
;CHE DO:
MULTI, 7SEG IN (DP -> A), MULTI INT, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
R7,#00H
;SO HIEN THI BAN DAU
MOV
R6,#00H
MOV
R5,#00H
;SO HIEN THI BAN DAU
MOV
R4,#00H
MP1:
LCALL BCD8TO7SEG
;GIAI MA BCD SANG MA 7 DOAN
LCALL DELAY_SCAN
;DELAY VA QUET HIEN THI
MOV
A,R4
;TANG GIA TRI (CHUC - DON VI)
ADD
A,#1
DA
A
MOV
R4,A
CJNE
A,#00H,MP1
;KIEM TRA GIA TRI HIEN THI > 99 (CHUC - DON VI)
MOV
A,R5
;TANG GIA TRI (NGAN - TRAM)
ADD
A,#1
DA
A
MOV
R5,A
CJNE
A,#00H,MP1
;KIEM TRA GIA TRI HIEN THI > 99 (NGAN - TRAM)
MOV
A,R6
;TANG GIA TRI (TR NGAN - CH NGAN)
ADD
A,#1
DA
A
MOV
R6,A
CJNE
A,#00H,MP1
;KIEM TRA GIA TRI HIEN THI > 99 (TR NGAN - CH NGAN)
MOV
A,R7
;TANG GIA TRI (CH TRIEU - TRIEU)
ADD
A,#1
DA
A
MOV
R7,A
CJNE
A,#00H,MP1
;KIEM TRA GIA TRI HIEN THI > 99 (CH TRIEU - TRIEU)
SJMP
MAIN
;***************************************************
;CTC QUET HIEN THI LED 7 DOAN (8 LED 7 DOAN).
;***************************************************
;LED: ANODE CHUNG, KICH HOAT MUC 0, 7 DOAN: DP (MSB) -> A (LSB)
;DU LIEU HIEN THI CHUA TRONG O NHO CUA RAM.
;***************************************************
;NAME:
DISP7SEGMUL8.
;INPUT:
67H,66H = MA 7 DOAN (CH TRIEU - TRIEU).
;
65H,64H = MA 7 DOAN (TR NGAN - CH NGAN).
;
63H,62H = MA 7 DOAN (NGAN - TRAM).
;
61H,60H = MA 7 DOAN (CHUC - DON VI).
;OUTPUT:
P0 = 7 DOAN LED - DP (MSB) -> A (LSB).
;
P2 = CHON LED - LEFT (MSD) -> RIGHT (LSD).
;***************************************************
DISP7SEGMUL8:
PUSH ACC
;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH 00H
MOV
A,#7FH
;MA QUET
MOV
R0,#67H
;DIA CHI VUNG MA HIEN THI
DISP:
MOV
P0,@R0
;XUAT MA HIEN THI
MOV
P1,A
;XUAT MA QUET
LCALL DELAYLED
MOV
P1,#0FFH
;CHONG LEM
DEC
R0
;LAY MA HIEN THI KE TIEP
RR
A
;CHUYEN SANG LED KE TIEP
CJNE
R0,#5FH,DISP
;KIEM TRA DA QUET XONG CHUA
POP
00H
;PHUC HOI GIA TRI CHO CAC THANH GHI
POP
ACC
75
Bi 8: Chng trnh iu khin hin th m s BCD t 00000000 ln 99999999 trn tm LED (LED0 n
LED7 c ni vi Port0; tn hiu SEL0 n SEL7 ln lt c ni vi P1.0 n P1.7).
RET
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS
PUSH 00H
PUSH 01H
MOV
R1,#5
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
POP
01H
POP
00H
RET
;****************************************************
DELAY_SCAN: ;CHUONG TRINH CON TAO THOI GIAN TRE 250MS CO GOI CTC QUET HIEN THI
PUSH 00H
MOV
R0,#50
MOV
TMOD,#01H
LOOP2:
MOV
TH0,#HIGH(-5000)
MOV
TL0,#LOW(-5000)
SETB
TR0
SCAN:
;LIEN TUC GOI CTC QUET HIEN THI TRONG LUC TIMER DANG CHAY
LCALL DISP7SEGMUL8 ;GOI CTC QUET HIEN THI
JNB
TF0,SCAN
CLR
TR0
CLR
TF0
DJNZ
R0,LOOP2
POP
00H
RET
;***************************************************
;CTC GIAI MA TU SO BCD NEN SANG MA 7 DOAN (4 SO BCD NEN).
;***************************************************
;LED: ANODE CHUNG, 7 DOAN: DP (MSB) -> A (LSB)
;GIA TRI GIAI MA: 0 -> 9
;***************************************************
;NAME:
BCD8TO7SEG.
;INPUT:
R7 = SO BCD NEN (CH TRIEU - TRIEU).
;
R6 = SO BCD NEN (TR NGAN - CH NGAN).
;
R5 = SO BCD NEN (NGAN - TRAM).
;
R4 = SO BCD NEN (CHUC - DON VI).
;OUTPUT:
67H,66H = MA 7 DOAN (CH TRIEU - TRIEU).
;
65H,64H = MA 7 DOAN (TR NGAN - CH NGAN).
;
63H,62H = MA 7 DOAN (NGAN - TRAM).
;
61H,60H = MA 7 DOAN (CHUC - DON VI).
;***************************************************
BCD8TO7SEG:
PUSH DPH
;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH DPL
PUSH ACC
MOV
DPTR,#CODE7SEG
MOV
ANL
MOVC
MOV
A,R4
A,#0FH
A,@A+DPTR
60H,A
MOV
ANL
SWAP
MOVC
MOV
A,R4
A,#0F0H
A
A,@A+DPTR
61H,A
MOV
ANL
A,R5
A,#0FH
76
Bi 8: Chng trnh iu khin hin th m s BCD t 00000000 ln 99999999 trn tm LED (LED0 n
LED7 c ni vi Port0; tn hiu SEL0 n SEL7 ln lt c ni vi P1.0 n P1.7).
MOVC A,@A+DPTR
MOV
62H,A
MOV
ANL
SWAP
MOVC
MOV
A,R5
A,#0F0H
A
A,@A+DPTR
63H,A
MOV
ANL
MOVC
MOV
A,R6
A,#0FH
A,@A+DPTR
64H,A
MOV
ANL
SWAP
MOVC
MOV
A,R6
A,#0F0H
A
A,@A+DPTR
65H,A
MOV
ANL
MOVC
MOV
A,R7
A,#0FH
A,@A+DPTR
66H,A
MOV
ANL
SWAP
MOVC
MOV
A,R7
A,#0F0H
A
A,@A+DPTR
67H,A
POP
ACC
;PHUC HOI GIA TRI CHO CAC THANH GHI
POP
DPL
POP
DPH
RET
;***************************************************
CODE7SEG:
;VUNG CHUA MA 7 DOAN (0 -> 9)
DB
0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
Bi tp:
Bi 1: Hy vit chng trnh iu khin hin th s 87654321 trn tm LED.
Bi 2: Hy vit chng trnh iu khin hin th m s BCD t 00000000 ln 59999999 trn tm LED.
Bi 3: Hy vit chng trnh iu khin hin th m s BCD t 59999999 xung 00000000 trn tm LED.
Bi 4: Hy vit chng trnh iu khin hin th m s BCD t 00000000 ln 12345678 trn tm LED.
Bi 5: Hy vit chng trnh iu khin hin th m s HEX t 00000000 ln FFFFFFFF trn tm LED.
Bi 6: Hy vit chng trnh iu khin hin th m s HEX t 00000000 ln 89ABCDEF trn tm LED.
Bi 7: Nu trng hp LED ca ta l loi Cathode chung th chng trnh phi thay i nh th no? Ti
sao? Tin hnh m phng th xem sao?
Bi 8: Sinh vin t mnh suy ngh v pht trin thm chng trnh.
77
Bi 1: Chng trnh iu khin hin th s 1 trn LED0 (LED0 c ni vi Port0, tn hiu SEL-ABC c ni
vi P1.0 - P1.1).
PORT 1
PORT 3
20 PINS
40 PINS
PORT 3
PORT 2
DEC.
3-8
DEC.
2-4
DEC.
OUT
7 SEG
OUT 3
7 SEG
OUT 4
BCD IN
3-4
7 SEG
OUT 1
DEC.
OUT
7 SEG
OUT 2
BCD IN POWER
1-2
PORT 1
PORT 0
RP1
1
C2
2
3
4
5
6
7
8
9
33p
X1
12MHz
C1
33p
+5V
U1
19
18
C3
XTAL1
XTAL2
10uF
9
RST
R1
10k
29
30
31
PSEN
ALE
EA
U2:A
4
5
6
7
Y0
Y1
Y2
Y3
74LS139
A
B
E
2
3
1
1
2
3
4
5
6
7
8
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
10K
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
R8
R7
R6
R5
R4
R3
R2
U3
39 AD0
38 AD1
37 AD2
36 AD3
35 AD4
34 AD5
33 AD6
32 AD7
AD0
AD1
AD2
AD3
7
1
2
6
4
5
3
A
B
C
D
BI/RBO
RBI
LT
74LS47
21
22
23
24
25
26
27
28
QA
QB
QC
QD
QE
QF
QG
13
12
11
10
9
15
14
56
56
56
56
56
56
56
A
B
C
D
E
F
G
R9
Q1
1K
A1015
A
B
C
D
E
F
G
LED0
MA CH IE U KHIE N LED 7 OA N
10
11
12
13
14
15
16
17
AT89C51
78
Bi 1: Chng trnh iu khin hin th s 1 trn LED0 (LED0 c ni vi Port0, tn hiu SEL-ABC c ni
vi P1.0 - P1.1).
1.3 V lu gii thut v vit chng trnh iu khin.
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 1 TREN LED 7 DOAN
;***************************************************
;KET NOI:
1 LED -> PORT0
;
SEL ABC -> PORT1
;CHE DO:
MULTI, BCD IN, MULTI EXT 2 TO 4, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
P1,#00H
;CHO PHEP LED 7 SANG
MOV
P0,#01H
;XUAT SO HIEN THI
SJMP
$
END
Bi tp:
(xem thm trong phn hng dn v phn bi tp ca Bi 2)
79
Bi 2: Chng trnh iu khin hin th m s BCD t 0 ln 9 trn LED0 (LED0 c ni vi Port0, tn hiu
SEL-ABC c ni vi P1.0 - P1.1).
1 Trnh t tin hnh th nghim:
1.1 Kt ni thit b th nghim.
Qu trnh kt ni thit b th nghim tng t nh Bi 1.
1.2 S nguyn l ca h thng:
S nguyn l ca h thng tng t nh Bi 1.
1.3 V lu gii thut v vit chng trnh iu khin.
Cch 1:
B2.1
MBO
BEGIN
MAIN:
XUT M IU KHIN LED
(P1) = 00000000B = 00H
DELAY500MS
XUT S 0 RA PORT
(P0) = 00H
GI CTC TO TR
DELAY500MS
XUT S 1 RA PORT
(P0) = 01H
XUT S 6 RA PORT
(P0) = 06H
GI CTC TO TR
GI CTC TO TR
DELAY500MS
DELAY500MS
XUT S 2 RA PORT
(P0) = 02H
XUT S 7 RA PORT
(P0) = 07H
GI CTC TO TR
GI CTC TO TR
DELAY500MS
DELAY500MS
XUT S 3 RA PORT
(P0) = 03H
XUT S 8 RA PORT
(P0) = 08H
GI CTC TO TR
GI CTC TO TR
DELAY500MS
DELAY500MS
XUT S 4 RA PORT
(P0) = 04H
XUT S 9 RA PORT
(P0) = 09H
GI CTC TO TR
GI CTC TO TR
DELAY500MS
DELAY500MS
XUT S 5 RA PORT
(P0) = 05H
GI CTC TO TR
DELAY500MS
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI 0 -> 9 TREN LED 7 DOAN
;***************************************************
;KET NOI:
1 LED -> PORT0
;
SEL ABC -> PORT1
;CHE DO:
MULTI, BCD IN, MULTI EXT 2 TO 4, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
P1,#00H
;CHO PHEP LED 7 SANG
MOV
P0,#00H
;SO 0
LCALL DELAY500MS
MOV
P0,#01H
;SO 1
LCALL DELAY500MS
MOV
P0,#02H
;SO 2
LCALL DELAY500MS
MOV
P0,#03H
;SO 3
LCALL DELAY500MS
MOV
P0,#04H
;SO 4
LCALL DELAY500MS
MOV
P0,#05H
;SO 5
LCALL DELAY500MS
MOV
P0,#06H
;SO 6
LCALL DELAY500MS
MOV
P0,#07H
;SO 7
LCALL DELAY500MS
80
Bi 2: Chng trnh iu khin hin th m s BCD t 0 ln 9 trn LED0 (LED0 c ni vi Port0, tn hiu
SEL-ABC c ni vi P1.0 - P1.1).
MOV
P0,#08H
;SO 8
LCALL DELAY500MS
MOV
P0,#09H
;SO 9
LCALL DELAY500MS
SJMP
MAIN
;****************************************************
DELAY500MS: ;CHUONG TRINH CON TAO THOI GIAN TRE 500MS
PUSH 00H
MOV
R0,#100
MOV
TMOD,#01H
LOOP2:
MOV
TH0,#HIGH(-5000)
MOV
TL0,#LOW(-5000)
SETB
TR0
JNB
TF0,$
CLR
TR0
CLR
TF0
DJNZ
R0,LOOP2
POP
00H
RET
END
Cch 2:
B2.2
MBO
BEGIN
MAIN:
XUT M IU KHIN LED
(P1) = 00000000B = 00H
NP GI TR BT U
(A) = 00H
LOOP:
XUT D LIU RA PORT
(P0) = (A)
GI CTC TO TR
DELAY500MS
TNG GI TR CA D LIU
(A) = (A) + 1
GI TR 10 (0AH)
(CHA M XONG; 9)
DELAY500MS
(XEM CTC NY TI V D A1)
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI 0 -> 9 TREN LED 7 DOAN
;***************************************************
;KET NOI:
1 LED -> PORT0
;
SEL ABC -> PORT1
;CHE DO:
MULTI, BCD IN, MULTI EXT 2 TO 4, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
P1,#00H
;CHO PHEP LED 7 SANG
MOV
A,#00H
;GIA TRI BAT DAU
LOOP:
MOV
P0,A
;XUAT HIEN THI
LCALL DELAY500MS
INC
A
;TANG GIA TRI
CJNE
A,#10,LOOP
SJMP
MAIN
;****************************************************
DELAY500MS: ;CHUONG TRINH CON TAO THOI GIAN TRE 500MS
PUSH 00H
MOV
R0,#100
MOV
TMOD,#01H
LOOP2:
MOV
TH0,#HIGH(-5000)
81
Bi 2: Chng trnh iu khin hin th m s BCD t 0 ln 9 trn LED0 (LED0 c ni vi Port0, tn hiu
SEL-ABC c ni vi P1.0 - P1.1).
MOV
SETB
JNB
CLR
CLR
DJNZ
POP
RET
END
TL0,#LOW(-5000)
TR0
TF0,$
TR0
TF0
R0,LOOP2
00H
Bi tp:
Bi 1: Hy vit chng trnh iu khin hin th s 5 trn LED5.
Bi 2: Hy vit chng trnh iu khin hin th m s BCD t 0 ln 5 trn LED4.
Bi 3: Hy vit chng trnh iu khin hin th m s BCD t 5 xung 0 trn LED4.
Bi 4: Nu trng hp LED ca ta l loi Cathode chung th chng trnh phi thay i nh th no? Ti
sao? Tin hnh m phng th xem sao?
Bi 5: Sinh vin t mnh suy ngh v pht trin thm chng trnh.
82
Bi 3: Chng trnh iu khin hin th s 12 trn hai LED (LED7, LED6 c ni vi Port0; tn hiu SELABC c ni vi P1.0 - P1.1).
C2
2
3
4
5
6
7
8
9
33p
X1
12MHz
C1
33p
+5V
18
C3
XTAL1
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
XTAL2
10uF
9
RST
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
R1
10k
29
30
31
PSEN
ALE
EA
U2:A
Y0
Y1
4
5
6
7
Y0
Y1
Y2
Y3
74LS139
A
B
E
2
3
1
1
2
3
4
5
6
7
8
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
10K
U1
19
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
+5V
+5V
+5V
RP1
Y0
Y1
R8
R7
R6
R5
R4
R3
R2
U3
39 AD0
38 AD1
37 AD2
36 AD3
35 AD4
34 AD5
33 AD6
32 AD7
AD0
AD1
AD2
AD3
7
1
2
6
4
5
3
A
B
C
D
BI/RBO
RBI
LT
QA
QB
QC
QD
QE
QF
QG
13
12
11
10
9
15
14
56
56
56
56
56
56
56
R9
Q1
R10
Q2
1K
A1015
1K
A1015
A
B
C
D
E
F
G
A
B
C
D
E
F
G
A
B
C
D
E
F
G
LED1
74LS47
21
22
23
24
25
26
27
28
LED0
MA CH IE U KHIE N LED 7 OA N
10
11
12
13
14
15
16
17
AT89C51
BEGIN
XUT M IU KHIN LED
(P1) = 00000000B = 00H
DELAYLED
DELAYLED:
CT TM GI TR CA R0, R1
VO STACK
XUT S 2 RA PORT
(P0) = 02H
NP GI TR VNG LP 1
(R1) = 10
DEL:
NP GI TR VNG LP 2
(R0) = 250
GIM S LN LP 2
S LN LP 2 0
(CHA LP XONG)
END
S
GIM S LN LP 1
S LN LP 1 0
(CHA LP XONG)
S
LY LI GI TR CHO R0, R1 T
STACK
RET
83
Bi 3: Chng trnh iu khin hin th s 12 trn hai LED (LED7, LED6 c ni vi Port0; tn hiu SELABC c ni vi P1.0 - P1.1).
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 12 TREN LED 7 DOAN
;***************************************************
;KET NOI:
2 LED -> PORT0
;
SEL ABC -> PORT1
;CHE DO:
MULTI, BCD IN, MULTI EXT 2 TO 4, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
P1,#00H
;CHO PHEP LED 7 SANG
MOV
P0,#02H
;HIEN THI SO 2
LCALL DELAYLED
MOV
P1,#01H
;CHO PHEP LED 6 SANG
MOV
P0,#01H
;HIEN THI SO 1
LCALL DELAYLED
SJMP
MAIN
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 5MS
PUSH 00H
PUSH 01H
MOV
R1,#10
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
POP
01H
POP
00H
RET
END
Cch 2:
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 12 TREN LED 7 DOAN
;***************************************************
;KET NOI:
2 LED -> PORT0
;
SEL ABC -> PORT1
;CHE DO:
MULTI, BCD IN, MULTI EXT 2 TO 4, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
DPTR,#100H
;NAP DIA CHI VUNG DU LIEU
DISP:
MOV
R0,#02H
;SO LAN QUET (SO LED)
MOV
R1,#00H
;NAP DIA CHI (OFFSET) CUA DU LIEU
MOV
R2,#10H
;NAP DIA CHI (OFFSET) CUA MA QUET
DISP1:
MOV
A,R1
;LAY DU LIEU
MOVC A,@A+DPTR
MOV
P0,A
;XUAT DU LIEU HIEN THI
MOV
A,R2
;LAY MA QUET
MOVC A,@A+DPTR
MOV
P1,A
;XUAT MA QUET
LCALL DELAYLED
MOV
P0,#0FFH
;CHONG LEM
INC
R1
;DIA CHI (OFFSET) CUA DU LIEU KE TIEP
INC
R2
;DIA CHI (OFFSET) CUA MA QUET KE TIEP
DJNZ
R0,DISP1
SJMP
MAIN
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 5MS
PUSH 00H
PUSH 01H
MOV
R1,#10
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
84
Bi 3: Chng trnh iu khin hin th s 12 trn hai LED (LED7, LED6 c ni vi Port0; tn hiu SELABC c ni vi P1.0 - P1.1).
POP
01H
POP
00H
RET
;****************************************************
ORG
100H
;VUNG DU LIEU HIEN THI
CODEDISP:
DB
02H,01H
ORG
110H
;VUNG MA QUET
CODESCAN:
DB
00H,01H
END
B3.2
MBI
BEGIN
MAIN:
NP A CH VNG M
(DPTR) = 100H
DISP:
NP S LN QUT (2 LED)
(R0) = 02H
NP OFFSET CA D LIU
(R1) = 00H CODEDISP (100H)
NP OFFSET CA M QUT
(R2) = 10H CODESCAN (110H)
DISP1:
NP OFFSET D LIU HIN TH
(A) = (R1)
LY M D LIU HIN TH
(A) = (@A+DPTR)
XUT M D LIU RA PORT
(P0) = (A)
NP OFFSET M QUT
(A) = (R2)
DELAYLED
LY M QUT
(A) = (@A+DPTR)
S
VNG D LIU CODEDISP 100H
02H,01H
VNG D LIU CODESCAN 110H
00H,01H
85
Bi 3: Chng trnh iu khin hin th s 12 trn hai LED (LED7, LED6 c ni vi Port0; tn hiu SELABC c ni vi P1.0 - P1.1).
Cch 3:
BEGIN
DISP7SEGMUL2EXT
MAIN:
NP GI TR HNG CHC
(61H) = 01H
NAME:
DISP7SEGMUL2EXT - QUT HIN TH 2 LED 7 ON.
INPUT:
61H, 60H = GI TR HIN TH (CHC/N V).
OUTPUT: P0 = 7 ON LED / DP (MSB) - A (LSB).
P1 = QUT LED / LEFT (MSD) RIGHT (LSD).
B3.3
MBO
NP GI TR HNG N V
(60H) = 02H
GI CTC QUT-HIN TH
DISP7SEGMUL2EXT
DISP7SEGMUL2EXT:
CT TM GI TR CA ACC, R0
VO STACK
NP M QUT U TIN
(A) = 00000001B = 01H
NP A CH NI CHA GI TR HIN TH U TIN
(R0) = 61H
DISP:
XUT GI TR RA PORT
(P0) = (@R0)
XUT M QUT RA PORT
(P1) = (A)
GI CTC TO TR CHO 1 LED
DELAYLED
DELAYLED
(XEM CTC NY TI V D B3.1 MBO)
S
LY LI GI TR CHO ACC, R0
T STACK
RET
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 12 TREN LED 7 DOAN
;***************************************************
;KET NOI:
2 LED -> PORT0
;
SEL ABC -> PORT1
;CHE DO:
MULTI, BCD IN, MULTI EXT 2 TO 4, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
61H,#01H
;HANG CHUC
MOV
60H,#02H
;HANG DON VI
LCALL DISP7SEGMUL2EXT
;QUET HIEN THI
SJMP
MAIN
;***************************************************
;CTC QUET HIEN THI LED 7 DOAN (2 LED 7 DOAN).
;***************************************************
;LED: ANODE CHUNG, KICH HOAT MUC 0, 7 DOAN: DP (MSB) -> A (LSB)
;DU LIEU HIEN THI CHUA TRONG O NHO CUA RAM.
;***************************************************
;NAME:
DISP7SEGMUL2EXT.
;INPUT:
61H,60H = GI TR HIN TH (CHUC - DON VI).
;OUTPUT:
P0 = 7 DOAN LED - DP (MSB) -> A (LSB).
;
P1 = EXT MULTIPLEXER - LEFT (MSD) -> RIGHT (LSD).
;***************************************************
DISP7SEGMUL2EXT:
PUSH ACC
;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH 00H
MOV
A,#01H
;MA QUET
MOV
R0,#61H
;DIA CHI VUNG MA HIEN THI
DISP:
MOV
P0,@R0
;XUAT MA HIEN THI
MOV
P1,A
;XUAT MA QUET
LCALL DELAYLED
86
Bi 3: Chng trnh iu khin hin th s 12 trn hai LED (LED7, LED6 c ni vi Port0; tn hiu SELABC c ni vi P1.0 - P1.1).
MOV
P0,#0FFH
;CHONG LEM
DEC
R0
;LAY MA HIEN THI KE TIEP
DEC
A
;CHUYEN SANG LED KE TIEP
CJNE
R0,#05FH,DISP ;KIEM TRA DA QUET XONG CHUA
POP
00H
;PHUC HOI GIA TRI CHO CAC THANH GHI
POP
ACC
RET
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 5MS
PUSH 00H
PUSH 01H
MOV
R1,#10
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
POP
01H
POP
00H
RET
END
Bi tp:
(xem thm trong phn hng dn v phn bi tp ca Bi 4)
87
Bi 4: Chng trnh iu khin hin th m s BCD t 00 ln 99 trn hai LED (LED1, LED0 c ni vi
Port0; tn hiu SEL-ABC c ni vi P1.0 - P1.1).
1 Trnh t tin hnh th nghim:
1.1 Kt ni thit b th nghim.
Qu trnh kt ni thit b th nghim tng t nh Bi 1.
1.2 S nguyn l ca h thng:
S nguyn l ca h thng tng t nh Bi 3.
1.3 V lu gii thut v vit chng trnh iu khin.
BEGIN
B4
MBO
DELAY_SCAN
DELAY_SCAN:
MAIN:
CT TM GI TR CA R0 VO
STACK
NP GI TR BT U
(60H) = 00H - N V
(61H) = 00H - CHC
NP GI TR VNG LP
(R0) = 50
MP1:
GI CTC DELAY V QUT-HIN TH
DELAY_SCAN
KHI NG TIMER
(TIMER 0, MODE 1)
(TMOD) = 01H
TNG GI TR HNG N V
(60H) = (60H) + 1
N V 10 (0AH)
(CHA TNG XONG; 9)
LOOP2:
NP GI TR CHO TIMER
(TDELAY = 5000.TMY)
(TH0/TL0) = -5000 = EC78H
S
NP LI GI TR HNG N V
(60H) = 00H
S
DNG TIMER
(TR0) = 0
DISP7SEGMUL2EXT
(XEM CTC NY TI V D B3.3 MBO)
XA C TRN TIMER
(TF0) = 0
DELAYLED
GIM S LN LP
S
LY LI GI TR CHO R0 T
STACK
RET
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI 00 -> 99 TREN LED 7 DOAN
;***************************************************
;KET NOI:
2 LED -> PORT0
;
SEL ABC -> PORT1
;CHE DO:
MULTI, BCD IN, MULTI EXT 2 TO 4, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
61H,#00H
;HANG CHUC
MOV
60H,#00H
;HANG DON VI
MP1:
LCALL DELAY_SCAN ;DELAY VA QUET HIEN THI
INC
60H
;TANG HANG DON VI
MOV
A,60H
CJNE
A,#10,MP1
;KIEM TRA HANG DON VI > 9
MOV
60H,#00H
;XOA HANG DON VI (DON VI = 0)
INC
61H
;TANG HANG CHUC
MOV
A,61H
CJNE
A,#10,MP1
;KIEM TRA HANG CHUC > 9
SJMP
MAIN
;***************************************************
;CTC QUET HIEN THI LED 7 DOAN (2 LED 7 DOAN).
88
Bi 4: Chng trnh iu khin hin th m s BCD t 00 ln 99 trn hai LED (LED1, LED0 c ni vi
Port0; tn hiu SEL-ABC c ni vi P1.0 - P1.1).
;***************************************************
;LED: ANODE CHUNG, KICH HOAT MUC 0, 7 DOAN: DP (MSB) -> A (LSB)
;DU LIEU HIEN THI CHUA TRONG O NHO CUA RAM.
;***************************************************
;NAME:
DISP7SEGMUL2EXT.
;INPUT:
61H,60H = GI TR HIN TH (CHUC - DON VI).
;OUTPUT:
P0 = 7 DOAN LED - DP (MSB) -> A (LSB).
;
P1 = EXT MULTIPLEXER - LEFT (MSD) -> RIGHT (LSD).
;***************************************************
DISP7SEGMUL2EXT:
PUSH ACC
;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH 00H
MOV
A,#01H
;MA QUET
MOV
R0,#61H
;DIA CHI VUNG MA HIEN THI
DISP:
MOV
P0,@R0
;XUAT MA HIEN THI
MOV
P1,A
;XUAT MA QUET
LCALL DELAYLED
MOV
P0,#0FFH
;CHONG LEM
DEC
R0
;LAY MA HIEN THI KE TIEP
DEC
A
;CHUYEN SANG LED KE TIEP
CJNE
R0,#05FH,DISP ;KIEM TRA DA QUET XONG CHUA
POP
00H
;PHUC HOI GIA TRI CHO CAC THANH GHI
POP
ACC
RET
;****************************************************
DELAY_SCAN: ;CHUONG TRINH CON TAO THOI GIAN TRE 250MS CO GOI CTC QUET HIEN THI
PUSH 00H
MOV
R0,#50
MOV
TMOD,#01H
LOOP2:
MOV
TH0,#HIGH(-5000)
MOV
TL0,#LOW(-5000)
SETB
TR0
SCAN:
;LIEN TUC GOI CTC QUET HIEN THI TRONG LUC TIMER DANG CHAY
LCALL DISP7SEGMUL2EXT
;GOI CTC QUET HIEN THI
JNB
TF0,SCAN
CLR
TR0
CLR
TF0
DJNZ
R0,LOOP2
POP
00H
RET
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 5MS
PUSH 00H
PUSH 01H
MOV
R1,#10
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
POP
01H
POP
00H
RET
END
Bi tp:
Bi 1: Hy vit chng trnh iu khin hin th s 34 trn hai LED.
Bi 2: Hy vit chng trnh iu khin hin th m s BCD t 00 ln 59 trn hai LED.
Bi 3: Hy vit chng trnh iu khin hin th m s BCD t 59 xung 00 trn hai LED.
Bi 4: Hy vit chng trnh iu khin hin th m s BCD t 00 ln 23 trn hai LED.
Bi 5: Hy vit chng trnh iu khin hin th m s BCD t 23 xung 00 trn hai LED.
89
Bi 4: Chng trnh iu khin hin th m s BCD t 00 ln 99 trn hai LED (LED1, LED0 c ni vi
Port0; tn hiu SEL-ABC c ni vi P1.0 - P1.1).
Bi 6: Nu trng hp LED ca ta l loi Cathode chung th chng trnh phi thay i nh th no? Ti
sao? Tin hnh m phng th xem sao?
Bi 7: Sinh vin t mnh suy ngh v pht trin thm chng trnh.
90
Bi 5: Chng trnh iu khin hin th s 1234 trn bn LED (LED3, LED2, LED1 v LED0 c ni vi
Port0; tn hiu SEL-ABC c ni vi P1.0 - P1.1).
C2
2
3
4
5
6
7
8
9
33p
X1
12MHz
C1
33p
+5V
18
C3
XTAL1
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
XTAL2
10uF
9
RST
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
R1
10k
29
30
31
PSEN
ALE
EA
U2:A
Y0
Y1
Y2
Y3
4
5
6
7
Y0
Y1
Y2
Y3
74LS139
A
B
E
2
3
1
1
2
3
4
5
6
7
8
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
10K
U1
19
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
+5V
Y0
Y1
+5V
+5V
+5V
+5V
RP1
Y2
Y3
R8
R7
R6
R5
R4
R3
R2
U3
39 AD0
38 AD1
37 AD2
36 AD3
35 AD4
34 AD5
33 AD6
32 AD7
AD0
AD1
AD2
AD3
7
1
2
6
4
5
3
A
B
C
D
BI/RBO
RBI
LT
QA
QB
QC
QD
QE
QF
QG
13
12
11
10
9
15
14
56
56
56
56
56
56
56
A
B
C
D
E
F
G
R9
Q1
R10
Q2
R11
Q3
R12
Q4
1K
A1015
1K
A1015
1K
A1015
1K
A1015
A
B
C
D
E
F
G
A
B
C
D
E
F
G
LED3
74LS47
21
22
23
24
25
26
27
28
A
B
C
D
E
F
G
LED2
A
B
C
D
E
F
G
LED1
LED0
MA C H IE U KHIE N LED 7 OA N
10
11
12
13
14
15
16
17
AT89C51
BEGIN
XUT M IU KHIN LED
(P1) = 00000000B = 00H
XUT S 4 RA PORT
(P0) = 04H
DELAYLED
(XEM CTC NY TI V D B3.1 MBO)
END
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 1234 TREN LED 7 DOAN
;***************************************************
;KET NOI:
4 LED -> PORT0
;
SEL ABC -> PORT1
;CHE DO:
MULTI, BCD IN, MULTI EXT 2 TO 4, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
P1,#00H
;CHO PHEP LED 7 SANG
91
Bi 5: Chng trnh iu khin hin th s 1234 trn bn LED (LED3, LED2, LED1 v LED0 c ni vi
Port0; tn hiu SEL-ABC c ni vi P1.0 - P1.1).
MOV
P0,#04H
;HIEN THI SO 4
LCALL DELAYLED
MOV
P1,#01H
;CHO PHEP LED 6 SANG
MOV
P0,#03H
;HIEN THI SO 3
LCALL DELAYLED
MOV
P1,#02H
;CHO PHEP LED 5 SANG
MOV
P0,#02H
;HIEN THI SO 2
LCALL DELAYLED
MOV
P1,#03H
;CHO PHEP LED 4 SANG
MOV
P0,#01H
;HIEN THI SO 1
LCALL DELAYLED
SJMP
MAIN
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 5MS
PUSH 00H
PUSH 01H
MOV
R1,#10
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
POP
01H
POP
00H
RET
END
92
Bi 6: Chng trnh iu khin hin th m s BCD t 0000 ln 9999 trn bn LED (LED3, LED2, LED1 v
LED0 c ni vi Port0; tn hiu SEL-ABC c ni vi P1.0 - P1.1).
1 Trnh t tin hnh th nghim:
1.1 Kt ni thit b th nghim.
Qu trnh kt ni thit b th nghim tng t nh Bi 1.
1.2 S nguyn l ca h thng:
S nguyn l ca h thng tng t nh Bi 5.
1.3 V lu gii thut v vit chng trnh iu khin.
B6
MBO
BEGIN
MAIN:
NP GI TR BT U
(60H) = 00H - N V
(61H) = 00H - CHC
(62H) = 00H - TRM
(63H) = 00H - NGN
MP1:
GI CTC DELAY V QUT-HIN TH
DELAY_SCAN
NP GI TR VNG LP
(R0) = 50
DISP7SEGMUL4EXT:
CT TM GI TR CA ACC, R0
VO STACK
KHI NG TIMER
(TIMER 0, MODE 1)
(TMOD) = 01H
NP M QUT U TIN
(A) = 00000011B = 03H
NP A CH NI CHA GI TR HIN TH U TIN
(R0) = 63H
DISP:
XUT GI TR RA PORT
(P0) = (@R0)
NP GI TR CHO TIMER
(TDELAY = 5000.TMY)
(TH0/TL0) = -5000 = EC78H
LY M QUT LED
(A) = (A) - 1 - QUT LED K TIP
QUT LED ?
(CHA QUT XONG)
GIM S LN LP
S LN LP 0
(CHA LP XONG)
S
NP LI GI TR HNG TRM
(62H) = 00H
S
LY LI GI TR CHO R0 T
STACK
XA C TRN TIMER
(TF0) = 0
NGN 10 (0AH)
(CHA TNG XONG; 9)
CT TM GI TR CA R0 VO
STACK
S
DNG TIMER
(TR0) = 0
S
NP LI GI TR HNG CHC
(61H) = 00H
TRM 10 (0AH)
(CHA TNG XONG; 9)
S
NP LI GI TR HNG N V
(60H) = 00H
CHC 10 (0AH)
(CHA TNG XONG; 9)
DISP7SEGMUL4EXT
NAME:
INPUT:
LOOP2:
TNG GI TR HNG N V
(60H) = (60H) + 1
N V 10 (0AH)
(CHA TNG XONG; 9)
DELAY_SCAN
DELAY_SCAN:
S
LY LI GI TR CHO ACC, R0
T STACK
RET
RET
DELAYLED
(XEM CTC NY TI V D B3.1 MBO)
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI 0000 -> 9999 TREN LED 7 DOAN
;***************************************************
;KET NOI:
4 LED -> PORT0
;
SEL ABC -> PORT1
;CHE DO:
MULTI, BCD IN, MULTI EXT 2 TO 4, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
63H,#00H
;HANG NGAN
MOV
62H,#00H
;HANG TRAM
MOV
61H,#00H
;HANG CHUC
MOV
60H,#00H
;HANG DON VI
MP1:
LCALL DELAY_SCAN ;DELAY VA QUET HIEN THI
INC
60H
;TANG HANG DON VI
MOV
A,60H
CJNE
A,#10,MP1
;KIEM TRA HANG DON VI > 9
MOV
60H,#00H
;XOA HANG DON VI (DON VI = 0)
93
Bi 6: Chng trnh iu khin hin th m s BCD t 0000 ln 9999 trn bn LED (LED3, LED2, LED1 v
LED0 c ni vi Port0; tn hiu SEL-ABC c ni vi P1.0 - P1.1).
INC
61H
;TANG HANG CHUC
MOV
A,61H
CJNE
A,#10,MP1
;KIEM TRA HANG CHUC > 9
MOV
61H,#00H
;XOA HANG CHUC (CHUC = 0)
INC
62H
;TANG HANG TRAM
MOV
A,62H
CJNE
A,#10,MP1
;KIEM TRA HANG TRAM > 9
MOV
62H,#00H
;XOA HANG TRAM (TRAM = 0)
INC
63H
;TANG HANG NGAN
MOV
A,63H
CJNE
A,#10,MP1
;KIEM TRA HANG NGAN > 9
SJMP
MAIN
;***************************************************
;CTC QUET HIEN THI LED 7 DOAN (4 LED 7 DOAN).
;***************************************************
;LED: ANODE CHUNG, KICH HOAT MUC 0, 7 DOAN: DP (MSB) -> A (LSB)
;DU LIEU HIEN THI CHUA TRONG O NHO CUA RAM.
;***************************************************
;NAME:
DISP7SEGMUL4EXT.
;INPUT:
63H,62H = GI TR HIN TH (NGAN - TRAM).
;
61H,60H = GI TR HIN TH (CHUC - DON VI).
;OUTPUT:
P0 = 7 DOAN LED - DP (MSB) -> A (LSB).
;
P1 = EXT MULTIPLEXER - LEFT (MSD) -> RIGHT (LSD).
;***************************************************
DISP7SEGMUL4EXT:
PUSH ACC
;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH 00H
MOV
A,#03H
;MA QUET
MOV
R0,#63H
;DIA CHI VUNG MA HIEN THI
DISP:
MOV
P0,@R0
;XUAT MA HIEN THI
MOV
P1,A
;XUAT MA QUET
LCALL DELAYLED
MOV
P0,#0FFH
;CHONG LEM
DEC
R0
;LAY MA HIEN THI KE TIEP
DEC
A
;CHUYEN SANG LED KE TIEP
CJNE
R0,#5FH,DISP
;KIEM TRA DA QUET XONG CHUA
POP
00H
;PHUC HOI GIA TRI CHO CAC THANH GHI
POP
ACC
RET
;***************************************************
DELAY_SCAN: ;CHUONG TRINH CON TAO THOI GIAN TRE 250MS CO GOI CTC QUET HIEN THI
PUSH 00H
MOV
R0,#50
MOV
TMOD,#01H
LOOP2:
MOV
TH0,#HIGH(-5000)
MOV
TL0,#LOW(-5000)
SETB
TR0
SCAN:
;LIEN TUC GOI CTC QUET HIEN THI TRONG LUC TIMER DANG CHAY
LCALL DISP7SEGMUL4EXT
;GOI CTC QUET HIEN THI
JNB
TF0,SCAN
CLR
TR0
CLR
TF0
DJNZ
R0,LOOP2
POP
00H
RET
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 5MS
PUSH 00H
PUSH 01H
MOV
R1,#10
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
94
Bi 6: Chng trnh iu khin hin th m s BCD t 0000 ln 9999 trn bn LED (LED3, LED2, LED1 v
LED0 c ni vi Port0; tn hiu SEL-ABC c ni vi P1.0 - P1.1).
POP
POP
RET
END
01H
00H
Bi tp:
Bi 1: Hy vit chng trnh iu khin hin th s 5678 trn bn LED.
Bi 2: Hy vit chng trnh iu khin hin th m s BCD t 0000 ln 5999 trn bn LED.
Bi 3: Hy vit chng trnh iu khin hin th m s BCD t 5999 xung 0000 trn bn LED.
Bi 4: Hy vit chng trnh iu khin hin th m s BCD t 0000 ln 1234 trn bn LED.
Bi 5: Hy vit chng trnh iu khin hin th m s BCD t 1234 xung 0000 trn bn LED.
Bi 6: Nu trng hp LED ca ta l loi Cathode chung th chng trnh phi thay i nh th no? Ti
sao? Tin hnh m phng th xem sao?
Bi 7: Sinh vin t mnh suy ngh v pht trin thm chng trnh.
95
Bi 7: Chng trnh iu khin hin th s 12345678 trn tm LED (LED0 n LED7 c ni vi Port0; tn
hiu SEL-ABC c ni vi P1.0 - P1.2).
PORT 3
DEC.
3-8
PORT 2
DEC.
2-4
7 SEG
OUT 3
DEC.
OUT
7 SEG
OUT 4
BCD IN
3-4
POWER
SW
SELECT
CHIP
A0..A7
CLOCK
OUT
DEC.
OUT
7 SEG
OUT 2
7 SEG
OUT 1
GIAI MA
BCD IN POWER
1-2
7SEG7 IN
MUL
PORT 1
PORT 3
LED 7 OAN
VI IEU KHIEN
20 PINS
40 PINS
PORT 1
POWER
NGUON
+5V
PORT 0
1
2
3
4
5
6
7
8
9
33p
X1
12MHz
C1
33p
+5V
U1
19
18
C3
XTAL1
XTAL2
10uF
9
RST
R1
10k
29
30
31
PSEN
ALE
EA
U2
15
14
13
12
11
10
9
7
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
74LS138
A
B
C
E1
E2
E3
1
2
3
6
4
5
+5V
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
1
2
3
4
5
6
7
8
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
10K
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
+5V
Y0
+5V
Y1
+5V
Y2
+5V
Y3
+5V
Y4
Y5
+5V
+5V
+5V
+5V
RP1
C2
Y6
Y7
R8
R7
R6
R5
R4
R3
R2
U3
39 AD0
38 AD1
37 AD2
36 AD3
35 AD4
34 AD5
33 AD6
32 AD7
AD0
AD1
AD2
AD3
7
1
2
6
4
5
3
A
B
C
D
BI/RBO
RBI
LT
74LS47
QA
QB
QC
QD
QE
QF
QG
13
12
11
10
9
15
14
56
56
56
56
56
56
56
A
B
C
D
E
F
G
R9
Q1
R10
Q2
R11
Q3
R12
Q4
R13
Q5
R14
Q6
R15
Q7
R16
Q8
1K
A1015
1K
A1015
1K
A1015
1K
A1015
1K
A1015
1K
A1015
1K
A1015
1K
A1015
A
B
C
D
E
F
G
A
B
C
D
E
F
G
LED7
A
B
C
D
E
F
G
LED6
21
22
23
24
25
26
27
28
A
B
C
D
E
F
G
LED5
A
B
C
D
E
F
G
LED4
A
B
C
D
E
F
G
LED3
A
B
C
D
E
F
G
LED2
A
B
C
D
E
F
G
LED1
LED0
MA CH IE U KHIEN LED 7 OA N
10
11
12
13
14
15
16
17
AT89C51
96
Bi 7: Chng trnh iu khin hin th s 12345678 trn tm LED (LED0 n LED7 c ni vi Port0; tn
hiu SEL-ABC c ni vi P1.0 - P1.2).
B7
MBO
BEGIN
XUT M IU KHIN LED
(P1) = 00000000B = 00H
XUT S 4 RA PORT
(P0) = 04H
XUT S 8 RA PORT
(P0) = 08H
XUT S 3 RA PORT
(P0) = 03H
XUT S 7 RA PORT
(P0) = 07H
XUT S 2 RA PORT
(P0) = 02H
XUT S 6 RA PORT
(P0) = 06H
XUT S 1 RA PORT
(P0) = 01H
XUT S 5 RA PORT
(P0) = 05H
END
DELAYLED
(XEM CTC NY TI V D B3.1 MBO)
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 12345678 TREN LED 7 DOAN
;***************************************************
;KET NOI:
8 LED -> PORT0
;
SEL ABC -> PORT1
;CHE DO:
MULTI, BCD IN, MULTI EXT 3 TO 8, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
P1,#00H
;CHO PHEP LED 7 SANG
MOV
P0,#08H
;HIEN THI SO 8
LCALL DELAYLED
MOV
P1,#01H
;CHO PHEP LED 6 SANG
MOV
P0,#07H
;HIEN THI SO 7
LCALL DELAYLED
MOV
P1,#02H
;CHO PHEP LED 5 SANG
MOV
P0,#06H
;HIEN THI SO 6
LCALL DELAYLED
MOV
P1,#03H
;CHO PHEP LED 4 SANG
MOV
P0,#05H
;HIEN THI SO 5
LCALL DELAYLED
MOV
P1,#04H
;CHO PHEP LED 3 SANG
MOV
P0,#04H
;HIEN THI SO 4
LCALL DELAYLED
MOV
P1,#05H
;CHO PHEP LED 2 SANG
MOV
P0,#03H
;HIEN THI SO 3
LCALL DELAYLED
MOV
P1,#06H
;CHO PHEP LED 1 SANG
MOV
P0,#02H
;HIEN THI SO 2
LCALL DELAYLED
MOV
P1,#07H
;CHO PHEP LED 0 SANG
MOV
P0,#01H
;HIEN THI SO 1
LCALL DELAYLED
SJMP
MAIN
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS
PUSH 00H
97
Bi 7: Chng trnh iu khin hin th s 12345678 trn tm LED (LED0 n LED7 c ni vi Port0; tn
hiu SEL-ABC c ni vi P1.0 - P1.2).
PUSH
MOV
01H
R1,#5
MOV
DJNZ
DJNZ
POP
POP
RET
END
R0,#250
R0,$
R1,DEL
01H
00H
DEL:
Bi tp:
(xem thm trong phn hng dn v phn bi tp ca Bi 8)
98
Bi 8: Chng trnh iu khin hin th m s BCD t 00000000 ln 99999999 trn tm LED (LED0 n
LED7 c ni vi Port0; tn hiu SEL-ABC c ni vi P1.0 - P1.2).
1 Trnh t tin hnh th nghim:
1.1 Kt ni thit b th nghim.
Qu trnh kt ni thit b th nghim tng t nh Bi 7.
1.2 S nguyn l ca h thng:
S nguyn l ca h thng tng t nh Bi 7.
1.3 V lu gii thut v vit chng trnh iu khin.
B8
MBO
BEGIN
DELAY_SCAN
DELAY_SCAN:
MAIN:
NP GI TR VNG LP
(R0) = 50
LOOP2:
TNG GI TR HNG N V
(60H) = (60H) + 1
S LN LP 0
(CHA LP XONG)
CH TRIU 10 (0AH)
(CHA TNG XONG; 9)
S
LY LI GI TR CHO R0 T
STACK
QUT LED ?
(CHA QUT XONG)
S
LY LI GI TR CHO ACC, R0
T STACK
RET
RET
DELAYLED
(XEM CTC NY TI V D B3.1 MBO)
XA C TRN TIMER
(TF0) = 0
S
NP LI GI TR HNG TRIU
(66H) = 00H
GIM S LN LP
S
NP LI GI TR HNG TRM
(62H) = 00H
S
DNG TIMER
(TR0) = 0
S
NP LI GI TR HNG TR NGN
(65H) = 00H
S
NP LI GI TR HNG CHC
(61H) = 00H
NGN 10 (0AH)
(CHA TNG XONG; 9)
S
NP LI GI TR HNG CH NGN
(64H) = 00H
NP M QUT U TIN
(A) = 00000111B = 07H
NP GI TR CHO TIMER
(TDELAY = 5000.TMY)
(TH0/TL0) = -5000 = EC78H
NP LI GI TR HNG NGN
(63H) = 00H
CH NGN 10 (0AH)
(CHA TNG XONG; 9)
S
NP LI GI TR HNG N V
(60H) = 00H
TRM 10 (0AH)
(CHA TNG XONG; 9)
DISP7SEGMUL8EXT:
CT TM GI TR CA ACC, R0
VO STACK
KHI NG TIMER
(TIMER 0, MODE 1)
(TMOD) = 01H
MP1:
GI CTC DELAY V QUT-HIN TH
DELAY_SCAN
CHC 10 (0AH)
(CHA TNG XONG; 9)
CT TM GI TR CA R0 VO
STACK
NP GI TR BT U
(60H) = 00H - N V
(61H) = 00H - CHC
(62H) = 00H - TRM
(63H) = 00H - NGN
(64H) = 00H CH NGN
(65H) = 00H TR NGN
(66H) = 00H - TRIU
(67H) = 00H CH TRIU
N V 10 (0AH)
(CHA TNG XONG; 9)
DISP7SEGMUL8EXT
NAME:
INPUT:
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI 00000000 -> 99999999 TREN LED 7 DOAN
;***************************************************
;KET NOI:
8 LED -> PORT0
;
SEL ABC -> PORT1
;CHE DO:
MULTI, BCD IN, MULTI EXT 3 TO 8, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
67H,#00H
;HANG CH TRIEU
MOV
66H,#00H
;HANG TRIEU
MOV
65H,#00H
;HANG TR NGAN
MOV
64H,#00H
;HANG CH NGAN
MOV
63H,#00H
;HANG NGAN
MOV
62H,#00H
;HANG TRAM
MOV
61H,#00H
;HANG CHUC
MOV
60H,#00H
;HANG DON VI
MP1:
LCALL DELAY_SCAN ;DELAY VA QUET HIEN THI
INC
60H
;TANG HANG DON VI
MOV
A,60H
CJNE
A,#10,MP1
;KIEM TRA HANG DON VI > 9
99
Bi 8: Chng trnh iu khin hin th m s BCD t 00000000 ln 99999999 trn tm LED (LED0 n
LED7 c ni vi Port0; tn hiu SEL-ABC c ni vi P1.0 - P1.2).
MOV
60H,#00H
;XOA HANG DON VI (DON VI = 0)
INC
61H
;TANG HANG CHUC
MOV
A,61H
CJNE
A,#10,MP1
;KIEM TRA HANG CHUC > 9
MOV
61H,#00H
;XOA HANG CHUC (CHUC = 0)
INC
62H
;TANG HANG TRAM
MOV
A,62H
CJNE
A,#10,MP1
;KIEM TRA HANG TRAM > 9
MOV
62H,#00H
;XOA HANG TRAM (TRAM = 0)
INC
63H
;TANG HANG NGAN
MOV
A,63H
CJNE
A,#10,MP1
;KIEM TRA HANG NGAN > 9
MOV
63H,#00H
;XOA HANG NGAN (NGAN = 0)
INC
64H
;TANG HANG CH NGAN
MOV
A,64H
CJNE
A,#10,MP1
;KIEM TRA HANG CH NGAN > 9
MOV
64H,#00H
;XOA HANG CH NGAN (CH NGAN = 0)
INC
65H
;TANG HANG TR NGAN
MOV
A,65H
CJNE
A,#10,MP1
;KIEM TRA HANG TR NGAN > 9
MOV
65H,#00H
;XOA HANG TR NGAN (TR NGAN = 0)
INC
66H
;TANG HANG TRIEU
MOV
A,66H
CJNE
A,#10,MP1
;KIEM TRA HANG TRIEU > 9
MOV
66H,#00H
;XOA HANG TRIEU (TRIEU = 0)
INC
67H
;TANG HANG CH TRIEU
MOV
A,67H
CJNE
A,#10,MP1
;KIEM TRA HANG CH TRIEU > 9
SJMP
MAIN
;***************************************************
;CTC QUET HIEN THI LED 7 DOAN (8 LED 7 DOAN).
;***************************************************
;LED: ANODE CHUNG, KICH HOAT MUC 0, 7 DOAN: DP (MSB) -> A (LSB)
;DU LIEU HIEN THI CHUA TRONG O NHO CUA RAM.
;***************************************************
;NAME:
DISP7SEGMUL8EXT.
;INPUT:
67H,66H = GI TR HIN TH (CH TRIEU - TRIEU).
;
65H,64H = GI TR HIN TH (TR NGAN - CH NGAN).
;
63H,62H = GI TR HIN TH (NGAN - TRAM).
;
61H,60H = GI TR HIN TH (CHUC - DON VI).
;OUTPUT:
P0 = 7 DOAN LED - DP (MSB) -> A (LSB).
;
P1 = EXT MULTIPLEXER - LEFT (MSD) -> RIGHT (LSD).
;***************************************************
DISP7SEGMUL8EXT:
PUSH ACC
;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH 00H
MOV
A,#07H
;MA QUET
MOV
R0,#67H
;DIA CHI VUNG MA HIEN THI
DISP:
MOV
P0,@R0
;XUAT MA HIEN THI
MOV
P1,A
;XUAT MA QUET
LCALL DELAYLED
MOV
P0,#0FFH
;CHONG LEM
DEC
R0
;LAY MA HIEN THI KE TIEP
DEC
A
;CHUYEN SANG LED KE TIEP
CJNE
R0,#5FH,DISP
;KIEM TRA DA QUET XONG CHUA
POP
00H
;PHUC HOI GIA TRI CHO CAC THANH GHI
POP
ACC
RET
;***************************************************
DELAY_SCAN: ;CHUONG TRINH CON TAO THOI GIAN TRE 250MS CO GOI CTC QUET HIEN THI
PUSH 00H
MOV
R0,#50
MOV
TMOD,#01H
LOOP2:
MOV
TH0,#HIGH(-5000)
100
Bi 8: Chng trnh iu khin hin th m s BCD t 00000000 ln 99999999 trn tm LED (LED0 n
LED7 c ni vi Port0; tn hiu SEL-ABC c ni vi P1.0 - P1.2).
MOV
SETB
TL0,#LOW(-5000)
TR0
SCAN:
;LIEN TUC GOI CTC QUET HIEN THI TRONG LUC TIMER DANG CHAY
LCALL DISP7SEGMUL8EXT
;GOI CTC QUET HIEN THI
JNB
TF0,SCAN
CLR
TR0
CLR
TF0
DJNZ
R0,LOOP2
POP
00H
RET
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS
PUSH 00H
PUSH 01H
MOV
R1,#5
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
POP
01H
POP
00H
RET
END
Bi tp:
Bi 1: Hy vit chng trnh iu khin hin th s 87654321 trn tm LED.
Bi 2: Hy vit chng trnh iu khin hin th m s BCD t 00000000 ln 59999999 trn tm LED.
Bi 3: Hy vit chng trnh iu khin hin th m s BCD t 59999999 xung 00000000 trn tm LED.
Bi 4: Hy vit chng trnh iu khin hin th m s BCD t 00000000 ln 12345678 trn tm LED.
Bi 5: Nu trng hp LED ca ta l loi Cathode chung th chng trnh phi thay i nh th no? Ti
sao? Tin hnh m phng th xem sao?
Bi 6: Sinh vin t mnh suy ngh v pht trin thm chng trnh.
101
Bi 1: Chng trnh iu khin hin th s 1 trn LED0 (LED0 c ni vi Port0; tn hiu SEL-ABC c ni
vi P1.0 - P1.1).
PORT 1
PORT 3
20 PINS
40 PINS
PORT 3
PORT 2
DEC.
3-8
DEC.
2-4
DEC.
OUT
7 SEG
OUT 3
7 SEG
OUT 4
BCD IN
3-4
7 SEG
OUT 1
DEC.
OUT
7 SEG
OUT 2
BCD IN POWER
1-2
PORT 1
PORT 0
2
3
4
5
6
7
8
9
33p
X1
12MHz
C1
33p
+5V
U1
19
18
C3
XTAL1
XTAL2
10uF
9
RST
R1
10k
29
30
31
PSEN
ALE
EA
U2:A
4
5
6
7
Y0
Y1
Y2
Y3
A
B
E
2
3
1
74LS139
1
2
3
4
5
6
7
8
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
R4
R5
R6
R7
R8
R9
R10
10K
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
39 AD0
38 AD1
37 AD2
36 AD3
35 AD4
34 AD5
33 AD6
32 AD7
21
22
23
24
25
26
27
28
10
11
12
13
14
15
16
17
+5V
+5V
AD0
AD1
AD2
AD3
AD4
AD5
AD6
56
56
56
56
56
56
56
A
B
C
D
E
F
G
R2
Q1
1K
A1015
A
B
C
D
E
F
G
LED0
MA CH IE U KHIE N LED 7 OA N
AT89C51
102
Bi 1: Chng trnh iu khin hin th s 1 trn LED0 (LED0 c ni vi Port0; tn hiu SEL-ABC c ni
vi P1.0 - P1.1).
1.3 V lu gii thut v vit chng trnh iu khin.
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 1 TREN LED 7 DOAN
;***************************************************
;KET NOI:
1 LED -> PORT0
;
SEL ABC -> PORT1
;CHE DO:
MULTI, 7SEG IN (DP -> A), MULTI EXT 2 TO 4, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
P1,#00H
;CHO PHEP LED 7 SANG
MOV
P0,#0F9H
;XUAT SO HIEN THI
SJMP
$
END
Bi tp:
(xem thm trong phn hng dn v phn bi tp ca Bi 2)
103
Bi 2: Chng trnh iu khin hin th m s BCD t 0 ln 9 trn LED0 (LED0 c ni vi Port0; tn hiu
SEL-ABC c ni vi P1.0 - P1.1).
1 Trnh t tin hnh th nghim:
1.1 Kt ni thit b th nghim.
Qu trnh kt ni thit b th nghim tng t nh Bi 1.
1.2 S nguyn l ca h thng:
S nguyn l ca h thng tng t nh Bi 1.
1.3 V lu gii thut v vit chng trnh iu khin.
Cch 1:
B2.1
M7O
BEGIN
MAIN:
XUT M IU KHIN LED
(P1) = 00000000B = 00H
DELAY500MS
XUT M CA S 0 RA PORT
(P0) = C0H
GI CTC TO TR
DELAY500MS
XUT M CA S 1 RA PORT
(P0) = F9H
XUT M CA S 6 RA PORT
(P0) = 82H
GI CTC TO TR
GI CTC TO TR
DELAY500MS
DELAY500MS
XUT M CA S 2 RA PORT
(P0) = A4H
XUT M CA S 7 RA PORT
(P0) = F8H
GI CTC TO TR
GI CTC TO TR
DELAY500MS
DELAY500MS
XUT M CA S 3 RA PORT
(P0) = B0H
XUT M CA S 8 RA PORT
(P0) = 80H
GI CTC TO TR
GI CTC TO TR
DELAY500MS
DELAY500MS
XUT M CA S 4 RA PORT
(P0) = 99H
XUT M CA S 9 RA PORT
(P0) = 90H
GI CTC TO TR
GI CTC TO TR
DELAY500MS
DELAY500MS
XUT M CA S 5 RA PORT
(P0) = 92H
GI CTC TO TR
DELAY500MS
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI 0 -> 9 TREN LED 7 DOAN
;***************************************************
;KET NOI:
1 LED -> PORT0
;
SEL ABC -> PORT1
;CHE DO:
MULTI, 7SEG IN (DP -> A), MULTI EXT 2 TO 4, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
P1,#00H
;CHO PHEP LED 7 SANG
MOV
P0,#0C0H
;SO 0
LCALL DELAY500MS
MOV
P0,#0F9H
;SO 1
LCALL DELAY500MS
MOV
P0,#0A4H
;SO 2
LCALL DELAY500MS
MOV
P0,#0B0H
;SO 3
LCALL DELAY500MS
MOV
P0,#99H
;SO 4
LCALL DELAY500MS
MOV
P0,#92H
;SO 5
LCALL DELAY500MS
MOV
P0,#82H
;SO 6
LCALL DELAY500MS
MOV
P0,#0F8H
;SO 7
LCALL DELAY500MS
104
Bi 2: Chng trnh iu khin hin th m s BCD t 0 ln 9 trn LED0 (LED0 c ni vi Port0; tn hiu
SEL-ABC c ni vi P1.0 - P1.1).
MOV
P0,#80H
;SO 8
LCALL DELAY500MS
MOV
P0,#90H
;SO 9
LCALL DELAY500MS
SJMP
MAIN
;****************************************************
DELAY500MS: ;CHUONG TRINH CON TAO THOI GIAN TRE 500MS
PUSH 00H
MOV
R0,#100
MOV
TMOD,#01H
LOOP2:
MOV
TH0,#HIGH(-5000)
MOV
TL0,#LOW(-5000)
SETB
TR0
JNB
TF0,$
CLR
TR0
CLR
TF0
DJNZ
R0,LOOP2
POP
00H
RET
END
Cch 2:
B2.2
M7O
BEGIN
MAIN:
NP A CH VNG M 7 ON
(DPTR) = CODEDISP
NP GI TR BT U
(R0) = 00H
XUT M IU KHIN LED
(P1) = 00000000B = 00H
DISP:
NP D LIU HIN TH
(A) = (R0)
DELAY500MS
(XEM CTC NY TI V D A1)
DELAY500MS
TNG GI TR CA D LIU
(R0) = (R0) + 1
GI TR 10 (0AH)
(CHA M XONG; 9)
S
VNG D LIU CODEDISP
C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI 0 -> 9 TREN LED 7 DOAN
;***************************************************
;KET NOI:
1 LED -> PORT0
;
SEL ABC -> PORT1
;CHE DO:
MULTI, 7SEG IN (DP -> A), MULTI EXT 2 TO 4, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
DPTR,#CODEDISP
;NAP DIA CHI VUNG MA HIEN THI
MOV
R0,#00H
;VI TRI DU LIEU HIEN THI TRONG VUNG MA
MOV
P1,#00H
;CHO PHEP LED 7 SANG
DISP:
MOV
A,R0
;NAP VI TRI DU LIEU
MOVC A,@A+DPTR
;LAY MA HIEN THI
MOV
P0,A
;XUAT HIEN THI
LCALL DELAY500MS
INC
R0
105
Bi 2: Chng trnh iu khin hin th m s BCD t 0 ln 9 trn LED0 (LED0 c ni vi Port0; tn hiu
SEL-ABC c ni vi P1.0 - P1.1).
CJNE
R0,#10,DISP
;KIEM TRA VI TRI DU LIEU > 9 (DEM XONG)
SJMP
MAIN
;****************************************************
DELAY500MS: ;CHUONG TRINH CON TAO THOI GIAN TRE 500MS
PUSH 00H
MOV
R0,#100
MOV
TMOD,#01H
LOOP2:
MOV
TH0,#HIGH(-5000)
MOV
TL0,#LOW(-5000)
SETB
TR0
JNB
TF0,$
CLR
TR0
CLR
TF0
DJNZ
R0,LOOP2
POP
00H
RET
;****************************************************
CODEDISP:
;VUNG DU LIEU HIEN THI
DB
0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
Bi tp:
Bi 1: Hy vit chng trnh iu khin hin th s 5 trn LED5.
Bi 2: Hy vit chng trnh iu khin hin th m s BCD t 0 ln 5 trn LED4.
Bi 3: Hy vit chng trnh iu khin hin th m s BCD t 5 xung 0 trn LED4.
Bi 4: Hy vit chng trnh iu khin hin th m s HEX t 0 ln F trn LED4.
Bi 5: Hy vit chng trnh iu khin hin th m s HEX t F xung 0 trn LED4.
Bi 6: Nu trng hp LED ca ta l loi Cathode chung th chng trnh phi thay i nh th no? Ti
sao? Tin hnh m phng th xem sao?
Bi 7: Sinh vin t mnh suy ngh v pht trin thm chng trnh.
106
Bi 3: Chng trnh iu khin hin th s 12 trn hai LED (LED1, LED0 c ni vi Port0; tn hiu SELABC c ni vi P1.0 - P1.1).
Y1
RP1
C2
2
3
4
5
6
7
8
9
33p
X1
12MHz
C1
33p
+5V
U1
19
XTAL1
18
XTAL2
C3
10uF
9
RST
R1
10k
29
30
31
PSEN
ALE
EA
U2:A
Y0
Y1
4
5
6
7
Y0
Y1
Y2
Y3
74LS139
A
B
E
2
3
1
1
2
3
4
5
6
7
8
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
R4
R5
R6
R7
R8
R9
R10
10K
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
+5V
+5V
39 AD0
38 AD1
37 AD2
36 AD3
35 AD4
34 AD5
33 AD6
32 AD7
AD0
AD1
AD2
AD3
AD4
AD5
AD6
56
56
56
56
56
56
56
A
B
C
D
E
F
G
21
22
23
24
25
26
27
28
Y0
R2
Q1
R3
Q2
1K
A1015
1K
A1015
A
B
C
D
E
F
G
A
B
C
D
E
F
G
LED1
LED0
MA C H IE U KHIE N LED 7 OA N
10
11
12
13
14
15
16
17
AT89C51
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 12 TREN LED 7 DOAN
;***************************************************
;KET NOI:
2 LED -> PORT0
;
SEL ABC -> PORT1
;CHE DO:
MULTI, 7SEG IN (DP -> A), MULTI EXT 2 TO 4, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
P1,#00H
;CHO PHEP LED 7 SANG
107
Bi 3: Chng trnh iu khin hin th s 12 trn hai LED (LED1, LED0 c ni vi Port0; tn hiu SELABC c ni vi P1.0 - P1.1).
MOV
P0,#0A4H
;HIEN THI SO 2
LCALL DELAYLED
MOV
P1,#01H
;CHO PHEP LED 6 SANG
MOV
P0,#0F9H
;HIEN THI SO 1
LCALL DELAYLED
SJMP
MAIN
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 5MS
PUSH 00H
PUSH 01H
MOV
R1,#10
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
POP
01H
POP
00H
RET
END
Cch 2:
B3.2
M7O
BEGIN
MAIN:
NP A CH VNG M
(DPTR) = 100H
DISP:
NP S LN QUT (2 LED)
(R0) = 02H
NP OFFSET CA D LIU
(R1) = 00H CODEDISP (100H)
NP OFFSET CA M QUT
(R2) = 10H CODESCAN (110H)
DISP1:
NP OFFSET D LIU HIN TH
(A) = (R1)
LY M D LIU HIN TH
(A) = (@A+DPTR)
XUT M D LIU RA PORT
(P0) = (A)
NP OFFSET M QUT
(A) = (R2)
LY M QUT
(A) = (@A+DPTR)
DELAYLED
(XEM CTC NY TI V D B3.1 MBO)
S
VNG D LIU CODEDISP 100H
A4H,F9H
VNG D LIU CODESCAN 110H
00H,01H
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 12 TREN LED 7 DOAN
;***************************************************
108
Bi 3: Chng trnh iu khin hin th s 12 trn hai LED (LED1, LED0 c ni vi Port0; tn hiu SELABC c ni vi P1.0 - P1.1).
;KET NOI:
2 LED -> PORT0
;
SEL ABC -> PORT1
;CHE DO:
MULTI, 7SEG IN (DP -> A), MULTI EXT 2 TO 4, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
DPTR,#100H
;NAP DIA CHI VUNG DU LIEU
DISP:
MOV
R0,#02H
;SO LAN QUET (SO LED)
MOV
R1,#00H
;NAP DIA CHI (OFFSET) CUA DU LIEU
MOV
R2,#10H
;NAP DIA CHI (OFFSET) CUA MA QUET
DISP1:
MOV
A,R1
;LAY DU LIEU
MOVC A,@A+DPTR
MOV
P0,A
;XUAT DU LIEU HIEN THI
MOV
A,R2
;LAY MA QUET
MOVC A,@A+DPTR
MOV
P1,A
;XUAT MA QUET
LCALL DELAYLED
MOV
P0,#0FFH
;CHONG LEM
INC
R1
;DIA CHI (OFFSET) CUA DU LIEU KE TIEP
INC
R2
;DIA CHI (OFFSET) CUA MA QUET KE TIEP
DJNZ
R0,DISP1
SJMP
MAIN
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 5MS
PUSH 00H
PUSH 01H
MOV
R1,#10
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
POP
01H
POP
00H
RET
;****************************************************
ORG
100H
CODEDISP:
;VUNG DU LIEU HIEN THI
DB
0A4H,0F9H
ORG
110H
;VUNG MA QUET
CODESCAN:
DB
00H,01H
END
Cch 3:
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 12 TREN LED 7 DOAN
;***************************************************
;KET NOI:
2 LED -> PORT0
;
SEL ABC -> PORT1
;CHE DO:
MULTI, 7SEG IN (DP -> A), MULTI EXT 2 TO 4, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
R7,#12H
;SO HIEN THI
LCALL BCD2TO7SEG
;GIAI MA BCD SANG MA 7 DOAN
LCALL DISP7SEGMUL2EXT
;QUET HIEN THI
SJMP
MAIN
;***************************************************
;CTC QUET HIEN THI LED 7 DOAN (2 LED 7 DOAN).
;***************************************************
;LED: ANODE CHUNG, KICH HOAT MUC 0, 7 DOAN: DP (MSB) -> A (LSB)
;DU LIEU HIEN THI CHUA TRONG O NHO CUA RAM.
;***************************************************
;NAME:
DISP7SEGMUL2EXT.
;INPUT:
61H,60H = MA 7 DOAN (CHUC - DON VI).
109
Bi 3: Chng trnh iu khin hin th s 12 trn hai LED (LED1, LED0 c ni vi Port0; tn hiu SELABC c ni vi P1.0 - P1.1).
;OUTPUT:
P0 = 7 DOAN LED - DP (MSB) -> A (LSB).
;
P1 = EXT MULTIPLEXER - LEFT (MSD) -> RIGHT (LSD).
;***************************************************
DISP7SEGMUL2EXT:
PUSH ACC
;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH 00H
MOV
A,#01H
;MA QUET
MOV
R0,#61H
;DIA CHI VUNG MA HIEN THI
DISP:
MOV
P0,@R0
;XUAT MA HIEN THI
MOV
P1,A
;XUAT MA QUET
LCALL DELAYLED
MOV
P0,#0FFH
;CHONG LEM
DEC
R0
;LAY MA HIEN THI KE TIEP
DEC
A
;CHUYEN SANG LED KE TIEP
CJNE
R0,#05FH,DISP ;KIEM TRA DA QUET XONG CHUA
POP
00H
;PHUC HOI GIA TRI CHO CAC THANH GHI
POP
ACC
RET
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 5MS
PUSH 00H
PUSH 01H
MOV
R1,#10
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
POP
01H
POP
00H
RET
;***************************************************
;CTC GIAI MA TU SO BCD NEN SANG MA 7 DOAN (1 SO BCD NEN).
;***************************************************
;LED: ANODE CHUNG, 7 DOAN: DP (MSB) -> A (LSB)
;GIA TRI GIAI MA: 0 -> 9
;***************************************************
;NAME:
BCD2TO7SEG.
;INPUT:
R7 = SO BCD NEN (CHUC - DON VI).
;OUTPUT:
61H,60H = MA 7 DOAN (CHUC - DON VI).
;***************************************************
BCD2TO7SEG:
PUSH DPH
;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH DPL
PUSH ACC
MOV
DPTR,#CODE7SEG
MOV
ANL
MOVC
MOV
A,R7
A,#0FH
A,@A+DPTR
60H,A
MOV
ANL
SWAP
MOVC
MOV
A,R7
A,#0F0H
A
A,@A+DPTR
61H,A
POP
ACC
;PHUC HOI GIA TRI CHO CAC THANH GHI
POP
DPL
POP
DPH
RET
;***************************************************
CODE7SEG:
;VUNG CHUA MA 7 DOAN (0 -> 9)
DB
0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
110
Bi 3: Chng trnh iu khin hin th s 12 trn hai LED (LED1, LED0 c ni vi Port0; tn hiu SELABC c ni vi P1.0 - P1.1).
END
BEGIN
BCD2TO7SEG
MAIN:
NP GI TR HIN TH
(R7) = 12H
NAME:
BCD2TO7SEG - GII M BCD SANG M 7 ON.
INPUT:
R7 = S BCD NN (CHC/N V).
OUTPUT: 61H, 60H = M 7 ON (CHC/N V).
B3.3
M7O
BCD2TO7SEG:
CT TM GI TR CA DPH,
DPL, ACC VO STACK
NP A CH VNG M
(DPTR) = CODE7SEG
NP S BCD NN CN GII M
Y
(A) = (R7) = X
DISP7SEGMUL2EXT
(XEM CTC NY TI V D B3.3 MBO)
DELAYLED
X L LY GI TR TH NHT TRONG
S BCD NN (4 BIT THP)
Y
(A) = 0
GII M D LIU
(A) = (@A+DPTR)
CT M 7 ON CA BCD HNG N V
VO NH
(60H) = (A)
NP S BCD NN CN GII M
(A) = (R7) = X
Y
X L LY GI TR TH HAI TRONG S
BCD NN (4 BIT CAO)
X
(A) = 0
GII M D LIU
(A) = (@A+DPTR)
CT M 7 ON CA BCD HNG CHC VO
NH
(61H) = (A)
LY LI GI TR CHO DPH, DPL,
ACC T STACK
RET
VNG D LIU CODE7SEG
C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H
Bi tp:
(xem thm trong phn hng dn v phn bi tp ca Bi 4)
111
Bi 4: Chng trnh iu khin hin th m s BCD t 00 ln 99 trn hai LED (LED1, LED0 c ni vi
Port0; tn hiu SEL-ABC c ni vi P1.0 - P1.1).
1 Trnh t tin hnh th nghim:
1.1 Kt ni thit b th nghim.
Qu trnh kt ni thit b th nghim tng t nh Bi 1.
1.2 S nguyn l ca h thng:
S nguyn l ca h thng tng t nh Bi 3.
1.3 V lu gii thut v vit chng trnh iu khin.
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI 00 -> 99 TREN LED 7 DOAN
;***************************************************
;KET NOI:
2 LED -> PORT0
;
SEL ABC -> PORT1
;CHE DO:
MULTI, 7SEG IN (DP -> A), MULTI EXT 2 TO 4, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
R7,#00H
;SO HIEN THI BAN DAU
MP1:
LCALL BCD2TO7SEG
;GIAI MA BCD SANG MA 7 DOAN
LCALL DELAY_SCAN
;DELAY VA QUET HIEN THI
MOV
A,R7
;TANG GIA TRI
ADD
A,#1
DA
A
MOV
R7,A
CJNE
A,#00H,MP1
;KIEM TRA GIA TRI HIEN THI > 99
SJMP
MAIN
;***************************************************
;CTC QUET HIEN THI LED 7 DOAN (2 LED 7 DOAN).
;***************************************************
;LED: ANODE CHUNG, KICH HOAT MUC 0, 7 DOAN: DP (MSB) -> A (LSB)
;DU LIEU HIEN THI CHUA TRONG O NHO CUA RAM.
;***************************************************
;NAME:
DISP7SEGMUL2EXT.
;INPUT:
61H,60H = MA 7 DOAN (CHUC - DON VI).
;OUTPUT:
P0 = 7 DOAN LED - DP (MSB) -> A (LSB).
;
P1 = EXT MULTIPLEXER - LEFT (MSD) -> RIGHT (LSD).
;***************************************************
DISP7SEGMUL2EXT:
PUSH ACC
;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH 00H
MOV
A,#01H
;MA QUET
MOV
R0,#61H
;DIA CHI VUNG MA HIEN THI
DISP:
MOV
P0,@R0
;XUAT MA HIEN THI
MOV
P1,A
;XUAT MA QUET
LCALL DELAYLED
MOV
P0,#0FFH
;CHONG LEM
DEC
R0
;LAY MA HIEN THI KE TIEP
112
Bi 4: Chng trnh iu khin hin th m s BCD t 00 ln 99 trn hai LED (LED1, LED0 c ni vi
Port0; tn hiu SEL-ABC c ni vi P1.0 - P1.1).
DEC
A
;CHUYEN SANG LED KE TIEP
CJNE
R0,#05FH,DISP ;KIEM TRA DA QUET XONG CHUA
POP
00H
;PHUC HOI GIA TRI CHO CAC THANH GHI
POP
ACC
RET
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 5MS
PUSH 00H
PUSH 01H
MOV
R1,#10
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
POP
01H
POP
00H
RET
;****************************************************
DELAY_SCAN: ;CHUONG TRINH CON TAO THOI GIAN TRE 250MS CO GOI CTC QUET HIEN THI
PUSH 00H
MOV
R0,#50
MOV
TMOD,#01H
LOOP2:
MOV
TH0,#HIGH(-5000)
MOV
TL0,#LOW(-5000)
SETB
TR0
SCAN:
;LIEN TUC GOI CTC QUET HIEN THI TRONG LUC TIMER DANG CHAY
LCALL DISP7SEGMUL2EXT
;GOI CTC QUET HIEN THI
JNB
TF0,SCAN
CLR
TR0
CLR
TF0
DJNZ
R0,LOOP2
POP
00H
RET
;****************************************************
;CTC GIAI MA TU SO BCD NEN SANG MA 7 DOAN (1 SO BCD NEN).
;***************************************************
;LED: ANODE CHUNG, 7 DOAN: DP (MSB) -> A (LSB)
;GIA TRI GIAI MA: 0 -> 9
;***************************************************
;NAME:
BCD2TO7SEG.
;INPUT:
R7 = SO BCD NEN (CHUC - DON VI).
;OUTPUT:
61H,60H = MA 7 DOAN (CHUC - DON VI).
;***************************************************
BCD2TO7SEG:
PUSH DPH
;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH DPL
PUSH ACC
MOV
DPTR,#CODE7SEG
;DIA CHI VUNG MA 7 DOAN
MOV
A,R7
;LAY SO BCD CAN GIAI MA
ANL
A,#0FH
;XOA 4 BIT CAO
MOVC A,@A+DPTR
;LAY MA 7 DOAN TUONG UNG
MOV
60H,A
;CAT BCD HANG DON VI VAO O NHO
MOV
A,R7
;LAY SO BCD CAN GIAI MA
ANL
A,#0F0H
;XOA 4 BIT THAP
SWAP A
;HOAN CHUYEN CAO - THAP
MOVC A,@A+DPTR
;LAY MA 7 DOAN TUONG UNG
MOV
61H,A
;CAT BCD HANG CHUC VAO O NHO
POP
ACC
;PHUC HOI GIA TRI CHO CAC THANH GHI
POP
DPL
POP
DPH
RET
;***************************************************
CODE7SEG:
;VUNG CHUA MA 7 DOAN (0 -> 9)
DB
0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
113
Bi 4: Chng trnh iu khin hin th m s BCD t 00 ln 99 trn hai LED (LED1, LED0 c ni vi
Port0; tn hiu SEL-ABC c ni vi P1.0 - P1.1).
1.4 Thc hin ln lt cc bc t 1.3 n 1.8 tng t nh bi trn.
2
Bi tp:
Bi 1: Hy vit chng trnh iu khin hin th s 34 trn hai LED.
Bi 2: Hy vit chng trnh iu khin hin th m s BCD t 00 ln 59 trn hai LED.
Bi 3: Hy vit chng trnh iu khin hin th m s BCD t 59 xung 00 trn hai LED.
Bi 4: Hy vit chng trnh iu khin hin th m s BCD t 00 ln 23 trn hai LED.
Bi 5: Hy vit chng trnh iu khin hin th m s HEX t 00 ln FF trn hai LED.
Bi 6: Hy vit chng trnh iu khin hin th m s HEX t FF xung 00 trn hai LED.
Bi 7: Hy vit chng trnh iu khin hin th m s HEX t 00 ln CD trn hai LED.
Bi 8: Nu trng hp LED ca ta l loi Cathode chung th chng trnh phi thay i nh th no? Ti
sao? Tin hnh m phng th xem sao?
Bi 9: Sinh vin t mnh suy ngh v pht trin thm chng trnh.
114
Bi 5: Chng trnh iu khin hin th s 1234 trn bn LED (LED3, LED2, LED1 v LED0 c ni vi
Port0; tn hiu SEL-ABC c ni vi P1.0 - P1.1).
2
3
4
5
6
7
8
9
33p
X1
12MHz
C1
33p
+5V
18
C3
XTAL1
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
XTAL2
10uF
9
RST
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
R1
10k
29
30
31
PSEN
ALE
EA
U2:A
Y0
Y1
Y2
Y3
4
5
6
7
Y0
Y1
Y2
Y3
74LS139
A
B
E
2
3
1
1
2
3
4
5
6
7
8
R4
R5
R6
R7
R8
R9
R10
10K
U1
19
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
39 AD0
38 AD1
37 AD2
36 AD3
35 AD4
34 AD5
33 AD6
32 AD7
AD0
AD1
AD2
AD3
AD4
AD5
AD6
A
B
C
D
E
F
G
56
56
56
56
56
56
56
+5V
+5V
R2
Q1
R3
Q2
R11
Q3
R12
Q4
1K
A1015
1K
A1015
1K
A1015
1K
A1015
A
B
C
D
E
F
G
A
B
C
D
E
F
G
LED3
21
22
23
24
25
26
27
28
+5V
Y0
+5V
Y1
+5V
C2
Y3
RP1
Y2
A
B
C
D
E
F
G
LED2
A
B
C
D
E
F
G
LED1
LED0
10
11
12
13
14
15
16
17
AT89C51
BEGIN
XUT M IU KHIN LED
(P1) = 00000000B = 00H
XUT M CA S 4 RA PORT
(P0) = 99H
GI CTC TO TR CHO 1 LED
DELAYLED
XUT M IU KHIN LED
(P1) = 00000001B = 01H
XUT M CA S 3 RA PORT
(P0) = B0H
GI CTC TO TR CHO 1 LED
DELAYLED
DELAYLED
(XEM CTC NY TI V D B3.1 MBO)
END
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 1234 TREN LED 7 DOAN
;***************************************************
;KET NOI:
4 LED -> PORT0
;
SEL ABC -> PORT1
;CHE DO:
MULTI, 7SEG IN (DP -> A), MULTI EXT 2 TO 4, CA, ACTIVE = 0
;***************************************************
115
Bi 5: Chng trnh iu khin hin th s 1234 trn bn LED (LED3, LED2, LED1 v LED0 c ni vi
Port0; tn hiu SEL-ABC c ni vi P1.0 - P1.1).
ORG
00H
MAIN:
MOV
P1,#00H
;CHO PHEP LED 7 SANG
MOV
P0,#99H
;HIEN THI SO 4
LCALL DELAYLED
MOV
P1,#01H
;CHO PHEP LED 6 SANG
MOV
P0,#0B0H
;HIEN THI SO 3
LCALL DELAYLED
MOV
P1,#02H
;CHO PHEP LED 5 SANG
MOV
P0,#0A4H
;HIEN THI SO 2
LCALL DELAYLED
MOV
P1,#03H
;CHO PHEP LED 4 SANG
MOV
P0,#0F9H
;HIEN THI SO 1
LCALL DELAYLED
SJMP
MAIN
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 5MS
PUSH 00H
PUSH 01H
MOV
R1,#10
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
POP
01H
POP
00H
RET
END
Bi tp:
(xem thm trong phn hng dn v phn bi tp ca Bi 6)
116
Bi 6: Chng trnh iu khin hin th m s BCD t 0000 ln 9999 trn bn LED (LED3, LED2, LED1 v
LED0 c ni vi Port0; tn hiu SEL-ABC c ni vi P1.0 - P1.1).
1 Trnh t tin hnh th nghim:
1.1 Kt ni thit b th nghim.
Qu trnh kt ni thit b th nghim tng t nh Bi 1.
1.2 S nguyn l ca h thng:
S nguyn l ca h thng tng t nh Bi 5.
1.3 V lu gii thut v vit chng trnh iu khin.
B6
M7O
BEGIN
BCD4TO7SEG
NAME:
INPUT:
MAIN:
NP GI TR BT U
(R6) = 00H - CHC/N V
(R7) = 00H - NGN/TRM
BCD4TO7SEG:
CT TM GI TR CA DPH,
DPL, ACC VO STACK
MP1:
GI CTC GII M BCD-7 ON
BCD4TO7SEG
GI CTC DELAY V QUT-HIN TH
DELAY_SCAN
TNG GI TR CA D LIU
(TNG THEO KIU DEC)
ADD / DA - (R6) - CHC/N V
GI TR 00H (100H)
(CHA M XONG; 99)
S
TNG GI TR CA D LIU
(TNG THEO KIU DEC)
ADD / DA - (R7) - NGN/TRM
GI TR 00H (100H)
(CHA M XONG; 99)
DISP7SEGMUL4EXT
(XEM CTC NY TI V D B6 MBO)
DELAYLED
(XEM CTC NY TI V D B3.1 MBO)
DELAY_SCAN
NP A CH VNG M
(DPTR) = CODE7SEG
NP S BCD NN CN GII M
Y
(A) = (R6) = X
NP S BCD NN CN GII M
Y
(A) = (R7) = X
X L LY GI TR TH NHT TRONG
S BCD NN (4 BIT THP)
Y
(A) = 0
X L LY GI TR TH NHT TRONG
S BCD NN (4 BIT THP)
Y
(A) = 0
GII M D LIU
(A) = (@A+DPTR)
GII M D LIU
(A) = (@A+DPTR)
CT M 7 ON CA BCD HNG N V
VO NH
(60H) = (A)
NP S BCD NN CN GII M
(A) = (R6) = X
Y
NP S BCD NN CN GII M
(A) = (R7) = X
Y
X L LY GI TR TH HAI TRONG S
BCD NN (4 BIT CAO)
X
(A) = 0
X L LY GI TR TH HAI TRONG S
BCD NN (4 BIT CAO)
X
(A) = 0
GII M D LIU
(A) = (@A+DPTR)
GII M D LIU
(A) = (@A+DPTR)
RET
VNG D LIU CODE7SEG
C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI 0000 -> 9999 TREN LED 7 DOAN
;***************************************************
;KET NOI:
4 LED -> PORT0
;
SEL ABC -> PORT1
;CHE DO:
MULTI, 7SEG IN (DP -> A), MULTI EXT 2 TO 4, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
R7,#00H
;SO HIEN THI BAN DAU
MOV
R6,#00H
MP1:
LCALL BCD4TO7SEG
;GIAI MA BCD SANG MA 7 DOAN
LCALL DELAY_SCAN
;DELAY VA QUET HIEN THI
MOV
A,R6
;TANG GIA TRI (CHUC - DON VI)
ADD
A,#1
DA
A
MOV
R6,A
CJNE
A,#00H,MP1
;KIEM TRA GIA TRI HIEN THI > 99 (CHUC - DON VI)
MOV
A,R7
;TANG GIA TRI (NGAN - TRAM)
ADD
A,#1
117
Bi 6: Chng trnh iu khin hin th m s BCD t 0000 ln 9999 trn bn LED (LED3, LED2, LED1 v
LED0 c ni vi Port0; tn hiu SEL-ABC c ni vi P1.0 - P1.1).
DA
A
MOV
R7,A
CJNE
A,#00H,MP1
;KIEM TRA GIA TRI HIEN THI > 99 (NGAN - TRAM)
SJMP
MAIN
;***************************************************
;CTC QUET HIEN THI LED 7 DOAN (4 LED 7 DOAN).
;***************************************************
;LED: ANODE CHUNG, KICH HOAT MUC 0, 7 DOAN: DP (MSB) -> A (LSB)
;DU LIEU HIEN THI CHUA TRONG O NHO CUA RAM.
;***************************************************
;NAME:
DISP7SEGMUL4EXT.
;INPUT:
63H,62H = MA 7 DOAN (NGAN - TRAM).
;
61H,60H = MA 7 DOAN (CHUC - DON VI).
;OUTPUT:
P0 = 7 DOAN LED - DP (MSB) -> A (LSB).
;
P1 = EXT MULTIPLEXER - LEFT (MSD) -> RIGHT (LSD).
;***************************************************
DISP7SEGMUL4EXT:
PUSH ACC
;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH 00H
MOV
A,#03H
;MA QUET
MOV
R0,#63H
;DIA CHI VUNG MA HIEN THI
DISP:
MOV
P0,@R0
;XUAT MA HIEN THI
MOV
P1,A
;XUAT MA QUET
LCALL DELAYLED
MOV
P0,#0FFH
;CHONG LEM
DEC
R0
;LAY MA HIEN THI KE TIEP
DEC
A
;CHUYEN SANG LED KE TIEP
CJNE
R0,#5FH,DISP
;KIEM TRA DA QUET XONG CHUA
POP
00H
;PHUC HOI GIA TRI CHO CAC THANH GHI
POP
ACC
RET
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 5MS
PUSH 00H
PUSH 01H
MOV
R1,#10
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
POP
01H
POP
00H
RET
;****************************************************
DELAY_SCAN: ;CHUONG TRINH CON TAO THOI GIAN TRE 250MS CO GOI CTC QUET HIEN THI
PUSH 00H
MOV
R0,#50
MOV
TMOD,#01H
LOOP2:
MOV
TH0,#HIGH(-5000)
MOV
TL0,#LOW(-5000)
SETB TR0
SCAN:
;LIEN TUC GOI CTC QUET HIEN THI TRONG LUC TIMER DANG CHAY
LCALL DISP7SEGMUL4EXT
;GOI CTC QUET HIEN THI
JNB
TF0,SCAN
CLR
TR0
CLR
TF0
DJNZ
R0,LOOP2
POP
00H
RET
;***************************************************
;CTC GIAI MA TU SO BCD NEN SANG MA 7 DOAN (2 SO BCD NEN).
;***************************************************
;LED: ANODE CHUNG, 7 DOAN: DP (MSB) -> A (LSB)
;GIA TRI GIAI MA: 0 -> 9
118
Bi 6: Chng trnh iu khin hin th m s BCD t 0000 ln 9999 trn bn LED (LED3, LED2, LED1 v
LED0 c ni vi Port0; tn hiu SEL-ABC c ni vi P1.0 - P1.1).
;***************************************************
;NAME:
BCD4TO7SEG.
;INPUT:
R7 = SO BCD NEN (NGAN - TRAM).
;
R6 = SO BCD NEN (CHUC - DON VI).
;OUTPUT:
63H,62H = MA 7 DOAN (NGAN - TRAM).
;
61H,60H = MA 7 DOAN (CHUC - DON VI).
;***************************************************
BCD4TO7SEG:
PUSH DPH
;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH DPL
PUSH ACC
MOV
DPTR,#CODE7SEG
MOV
ANL
MOVC
MOV
A,R6
A,#0FH
A,@A+DPTR
60H,A
MOV
ANL
SWAP
MOVC
MOV
A,R6
A,#0F0H
A
A,@A+DPTR
61H,A
MOV
ANL
MOVC
MOV
A,R7
A,#0FH
A,@A+DPTR
62H,A
MOV
ANL
SWAP
MOVC
MOV
A,R7
A,#0F0H
A
A,@A+DPTR
63H,A
POP
ACC
;PHUC HOI GIA TRI CHO CAC THANH GHI
POP
DPL
POP
DPH
RET
;***************************************************
CODE7SEG:
;VUNG CHUA MA 7 DOAN (0 -> 9)
DB
0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
Bi tp:
Bi 1: Hy vit chng trnh iu khin hin th s 5678 trn bn LED.
Bi 2: Hy vit chng trnh iu khin hin th m s BCD t 0000 ln 5999 trn bn LED.
Bi 3: Hy vit chng trnh iu khin hin th m s BCD t 5999 xung 0000 trn bn LED.
Bi 4: Hy vit chng trnh iu khin hin th m s BCD t 0000 ln 1234 trn bn LED.
Bi 5: Hy vit chng trnh iu khin hin th m s BCD t 1234 xung 0000 trn bn LED.
Bi 6: Hy vit chng trnh iu khin hin th m s HEX t 0000 ln FFFF trn bn LED.
Bi 7: Hy vit chng trnh iu khin hin th m s HEX t FFFF xung 0000 trn bn LED.
Bi 8: Hy vit chng trnh iu khin hin th m s HEX t 0000 ln ABCD trn bn LED.
Bi 9: Hy vit chng trnh iu khin hin th m s HEX t ABCD xung 0000 trn bn LED.
Bi 10: Nu trng hp LED ca ta l loi Cathode chung th chng trnh phi thay i nh th no? Ti
sao? Tin hnh m phng th xem sao?
Bi 11: Sinh vin t mnh suy ngh v pht trin thm chng trnh.
119
Bi 7: Chng trnh iu khin hin th s 12345678 trn tm LED (LED0 n LED7 c ni vi Port0; tn
hiu SEL-ABC c ni vi P1.0 - P1.2).
PORT 1
PORT 3
20 PINS
40 PINS
PORT 3
PORT 2
DEC.
2-4
DEC.
OUT
7 SEG
OUT 3
7 SEG
OUT 4
BCD IN
3-4
7 SEG
OUT 1
7 SEG
OUT 2
DEC.
OUT
BCD IN POWER
1-2
DEC.
3-8
PORT 1
PORT 0
2
3
4
5
6
7
8
9
X1
12MHz
C1
33p
+5V
U1
19
18
C3
XTAL1
XTAL2
10uF
9
RST
R1
10k
29
30
31
PSEN
ALE
EA
U2
15
14
13
12
11
10
9
7
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
74LS138
A
B
C
E1
E2
E3
1
2
3
6
4
5
+5V
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
1
2
3
4
5
6
7
8
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
R4
R5
R6
R7
R8
R9
R10
10K
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
39 AD0
38 AD1
37 AD2
36 AD3
35 AD4
34 AD5
33 AD6
32 AD7
21
22
23
24
25
26
27
28
AD0
AD1
AD2
AD3
AD4
AD5
AD6
56
56
56
56
56
56
56
A
B
C
D
E
F
G
+5V
Y0
+5V
Y1
+5V
Y2
+5V
Y3
+5V
Y4
+5V
+5V
33p
Y5
Y7
RP1
C2
Y6
+5V
R2
Q1
R3
Q2
R11
Q3
R12
Q4
R13
Q5
R14
Q6
R15
Q7
R16
Q8
1K
A1015
1K
A1015
1K
A1015
1K
A1015
1K
A1015
1K
A1015
1K
A1015
1K
A1015
A
B
C
D
E
F
G
A
B
C
D
E
F
G
LED7
A
B
C
D
E
F
G
LED6
A
B
C
D
E
F
G
LED5
A
B
C
D
E
F
G
LED4
A
B
C
D
E
F
G
LED3
A
B
C
D
E
F
G
LED2
A
B
C
D
E
F
G
LED1
LED0
MA C H IE U KHIE N LED 7 OA N
10
11
12
13
14
15
16
17
AT89C51
120
Bi 7: Chng trnh iu khin hin th s 12345678 trn tm LED (LED0 n LED7 c ni vi Port0; tn
hiu SEL-ABC c ni vi P1.0 - P1.2).
B7
M7O
BEGIN
XUT M IU KHIN LED
(P1) = 00000000B = 00H
XUT M CA S 4 RA PORT
(P0) = 99H
XUT M CA S 8 RA PORT
(P0) = 80H
XUT M CA S 3 RA PORT
(P0) = B0H
XUT M CA S 7 RA PORT
(P0) = F8H
XUT M CA S 2 RA PORT
(P0) = A4H
XUT M CA S 6 RA PORT
(P0) = 82H
XUT M CA S 1 RA PORT
(P0) = F9H
XUT M CA S 5 RA PORT
(P0) = 92H
END
DELAYLED
(XEM CTC NY TI V D B3.1 MBO)
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 12345678 TREN LED 7 DOAN
;***************************************************
;KET NOI:
8 LED -> PORT0
;
SEL ABC -> PORT1
;CHE DO:
MULTI, 7SEG IN (DP -> A), MULTI EXT 2 TO 4, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
P1,#00H
;CHO PHEP LED 7 SANG
MOV
P0,#80H
;HIEN THI SO 8
LCALL DELAYLED
MOV
P1,#01H
;CHO PHEP LED 6 SANG
MOV
P0,#0F8H
;HIEN THI SO 7
LCALL DELAYLED
MOV
P1,#02H
;CHO PHEP LED 5 SANG
MOV
P0,#82H
;HIEN THI SO 6
LCALL DELAYLED
MOV
P1,#03H
;CHO PHEP LED 4 SANG
MOV
P0,#92H
;HIEN THI SO 5
LCALL DELAYLED
MOV
P1,#04H
;CHO PHEP LED 3 SANG
MOV
P0,#99H
;HIEN THI SO 4
LCALL DELAYLED
MOV
P1,#05H
;CHO PHEP LED 2 SANG
MOV
P0,#0B0H
;HIEN THI SO 3
LCALL DELAYLED
MOV
P1,#06H
;CHO PHEP LED 1 SANG
MOV
P0,#0A4H
;HIEN THI SO 2
LCALL DELAYLED
MOV
P1,#07H
;CHO PHEP LED 0 SANG
MOV
P0,#0F9H
;HIEN THI SO 1
LCALL DELAYLED
SJMP
MAIN
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS
PUSH 00H
121
Bi 7: Chng trnh iu khin hin th s 12345678 trn tm LED (LED0 n LED7 c ni vi Port0; tn
hiu SEL-ABC c ni vi P1.0 - P1.2).
PUSH
MOV
01H
R1,#5
MOV
DJNZ
DJNZ
POP
POP
RET
END
R0,#250
R0,$
R1,DEL
01H
00H
DEL:
Bi tp:
(xem thm trong phn hng dn v phn bi tp ca Bi 8)
122
Bi 8: Chng trnh iu khin hin th m s BCD t 00000000 ln 99999999 trn tm LED (LED0 n
LED7 c ni vi Port0; tn hiu SEL-ABC c ni vi P1.0 - P1.2).
1 Trnh t tin hnh th nghim:
1.1 Kt ni thit b th nghim.
Qu trnh kt ni thit b th nghim tng t nh Bi 7.
1.2 S nguyn l ca h thng:
S nguyn l ca h thng tng t nh Bi 7.
1.3 V lu gii thut v vit chng trnh iu khin.
123
Bi 8: Chng trnh iu khin hin th m s BCD t 00000000 ln 99999999 trn tm LED (LED0 n
LED7 c ni vi Port0; tn hiu SEL-ABC c ni vi P1.0 - P1.2).
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI 00000000 -> 99999999 TREN LED 7 DOAN
;***************************************************
;KET NOI:
8 LED -> PORT0
;
SEL ABC -> PORT1
;CHE DO:
MULTI, 7SEG IN (DP -> A), MULTI EXT 3 TO 8, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
R7,#00H
;SO HIEN THI BAN DAU
MOV
R6,#00H
MOV
R5,#00H
;SO HIEN THI BAN DAU
MOV
R4,#00H
MP1:
LCALL BCD8TO7SEG
;GIAI MA BCD SANG MA 7 DOAN
LCALL DELAY_SCAN
;DELAY VA QUET HIEN THI
MOV
A,R4
;TANG GIA TRI (CHUC - DON VI)
ADD
A,#1
DA
A
MOV
R4,A
CJNE
A,#00H,MP1
;KIEM TRA GIA TRI HIEN THI > 99 (CHUC - DON VI)
MOV
A,R5
;TANG GIA TRI (NGAN - TRAM)
ADD
A,#1
DA
A
MOV
R5,A
CJNE
A,#00H,MP1
;KIEM TRA GIA TRI HIEN THI > 99 (NGAN - TRAM)
MOV
A,R6
;TANG GIA TRI (TR NGAN - CH NGAN)
ADD
A,#1
DA
A
MOV
R6,A
CJNE
A,#00H,MP1
;KIEM TRA GIA TRI HIEN THI > 99 (TR NGAN - CH NGAN)
MOV
A,R7
;TANG GIA TRI (CH TRIEU - TRIEU)
ADD
A,#1
DA
A
MOV
R7,A
CJNE
A,#00H,MP1
;KIEM TRA GIA TRI HIEN THI > 99 (CH TRIEU - TRIEU)
SJMP
MAIN
;***************************************************
;CTC QUET HIEN THI LED 7 DOAN (8 LED 7 DOAN).
;***************************************************
;LED: ANODE CHUNG, KICH HOAT MUC 0, 7 DOAN: DP (MSB) -> A (LSB)
;DU LIEU HIEN THI CHUA TRONG O NHO CUA RAM.
;***************************************************
;NAME:
DISP7SEGMUL8EXT.
;INPUT:
67H,66H = MA 7 DOAN (CH TRIEU - TRIEU).
;
65H,64H = MA 7 DOAN (TR NGAN - CH NGAN).
;
63H,62H = MA 7 DOAN (NGAN - TRAM).
;
61H,60H = MA 7 DOAN (CHUC - DON VI).
;OUTPUT:
P0 = 7 DOAN LED - DP (MSB) -> A (LSB).
;
P1 = EXT MULTIPLEXER - LEFT (MSD) -> RIGHT (LSD).
;***************************************************
DISP7SEGMUL8EXT:
PUSH ACC
;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH 00H
MOV
A,#07H
;MA QUET
MOV
R0,#67H
;DIA CHI VUNG MA HIEN THI
DISP:
MOV
P0,@R0
;XUAT MA HIEN THI
MOV
P1,A
;XUAT MA QUET
LCALL DELAYLED
MOV
P0,#0FFH
;CHONG LEM
DEC
R0
;LAY MA HIEN THI KE TIEP
DEC
A
;CHUYEN SANG LED KE TIEP
CJNE
R0,#5FH,DISP
;KIEM TRA DA QUET XONG CHUA
POP
00H
;PHUC HOI GIA TRI CHO CAC THANH GHI
POP
ACC
124
Bi 8: Chng trnh iu khin hin th m s BCD t 00000000 ln 99999999 trn tm LED (LED0 n
LED7 c ni vi Port0; tn hiu SEL-ABC c ni vi P1.0 - P1.2).
RET
;****************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS
PUSH 00H
PUSH 01H
MOV
R1,#5
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
POP
01H
POP
00H
RET
;***************************************************
DELAY_SCAN: ;CHUONG TRINH CON TAO THOI GIAN TRE 250MS CO GOI CTC QUET HIEN THI
PUSH 00H
MOV
R0,#50
MOV
TMOD,#01H
LOOP2:
MOV
TH0,#HIGH(-5000)
MOV
TL0,#LOW(-5000)
SETB
TR0
SCAN:
;LIEN TUC GOI CTC QUET HIEN THI TRONG LUC TIMER DANG CHAY
LCALL DISP7SEGMUL8EXT
;GOI CTC QUET HIEN THI
JNB
TF0,SCAN
CLR
TR0
CLR
TF0
DJNZ
R0,LOOP2
POP
00H
RET
;***************************************************
;CTC GIAI MA TU SO BCD NEN SANG MA 7 DOAN (4 SO BCD NEN).
;***************************************************
;LED: ANODE CHUNG, 7 DOAN: DP (MSB) -> A (LSB)
;GIA TRI GIAI MA: 0 -> 9
;***************************************************
;NAME:
BCD6TO7SEG.
;INPUT:
R7 = SO BCD NEN (CH TRIEU - TRIEU).
;
R6 = SO BCD NEN (TR NGAN - CH NGAN).
;
R5 = SO BCD NEN (NGAN - TRAM).
;
R4 = SO BCD NEN (CHUC - DON VI).
;OUTPUT:
67H,66H = MA 7 DOAN (CH TRIEU - TRIEU).
;
65H,64H = MA 7 DOAN (TR NGAN - CH NGAN).
;
63H,62H = MA 7 DOAN (NGAN - TRAM).
;
61H,60H = MA 7 DOAN (CHUC - DON VI).
;***************************************************
BCD8TO7SEG:
PUSH DPH
;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH DPL
PUSH ACC
MOV
DPTR,#CODE7SEG
MOV
ANL
MOVC
MOV
MOV
ANL
SWAP
MOVC
MOV
A,R4
A,#0FH
A,@A+DPTR
60H,A
A,R4
A,#0F0H
A
A,@A+DPTR
61H,A
MOV
A,R5
ANL
A,#0FH
MOVC A,@A+DPTR
125
Bi 8: Chng trnh iu khin hin th m s BCD t 00000000 ln 99999999 trn tm LED (LED0 n
LED7 c ni vi Port0; tn hiu SEL-ABC c ni vi P1.0 - P1.2).
MOV
MOV
ANL
SWAP
MOVC
MOV
62H,A
A,R5
A,#0F0H
A
A,@A+DPTR
63H,A
MOV
ANL
MOVC
MOV
MOV
ANL
SWAP
MOVC
MOV
A,R6
A,#0FH
A,@A+DPTR
64H,A
A,R6
A,#0F0H
A
A,@A+DPTR
65H,A
MOV
ANL
MOVC
MOV
MOV
ANL
SWAP
MOVC
MOV
A,R7
A,#0FH
A,@A+DPTR
66H,A
A,R7
A,#0F0H
A
A,@A+DPTR
67H,A
POP
ACC
;PHUC HOI GIA TRI CHO CAC THANH GHI
POP
DPL
POP
DPH
RET
;***************************************************
CODE7SEG:
;VUNG CHUA MA 7 DOAN (0 -> 9)
DB
0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
Bi tp:
Bi 1: Hy vit chng trnh iu khin hin th s 87654321 trn tm LED.
Bi 2: Hy vit chng trnh iu khin hin th m s BCD t 00000000 ln 59999999 trn tm LED.
Bi 3: Hy vit chng trnh iu khin hin th m s BCD t 59999999 xung 00000000 trn tm LED.
Bi 4: Hy vit chng trnh iu khin hin th m s BCD t 00000000 ln 12345678 trn tm LED.
Bi 6: Hy vit chng trnh iu khin hin th m s HEX t 00000000 ln FFFFFFFF trn tm LED.
Bi 7: Hy vit chng trnh iu khin hin th m s HEX t FFFFFFFF xung 00000000 trn tm
LED.
Bi 8: Hy vit chng trnh iu khin hin th m s HEX t 00000000 ln 89ABCDEF trn tm LED.
Bi 10: Nu trng hp LED ca ta l loi Cathode chung th chng trnh phi thay i nh th no? Ti
sao? Tin hnh m phng th xem sao?
Bi 11: Sinh vin t mnh suy ngh v pht trin thm chng trnh.
126
Bi 1: Chng trnh iu khin hin th m GI PHT GIY trn su LED (LED1,0: m GIY;
LED3,2: m PHT; LED5,4: m GI).
PORT 1
PORT 3
20 PINS
PORT 2
PORT 3
40 PINS
PORT 1
PORT 0
2
3
4
5
6
7
8
9
33p
X1
12MHz
C1
33p
+5V
U1
19
18
C3
XTAL1
XTAL2
10uF
9
RST
R1
10k
29
30
31
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
1
2
3
4
5
6
7
8
PSEN
ALE
EA
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
R4
R5
R6
R7
R8
R9
R10
10K
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
39 AD0
38 AD1
37 AD2
36 AD3
35 AD4
34 AD5
33 AD6
32 AD7
21
22
23
24
25
26
27
28
AD0
AD1
AD2
AD3
AD4
AD5
AD6
56
56
56
56
56
56
56
A
B
C
D
E
F
G
+5V
P1.0
+5V
P1.1
+5V
P1.2
+5V
P1.3
+5V
C2
P1.5
RP1
P1.4
+5V
R2
Q1
R3
Q2
R11
Q3
R12
Q4
R13
Q5
R14
Q6
1K
A1015
1K
A1015
1K
A1015
1K
A1015
1K
A1015
1K
A1015
A
B
C
D
E
F
G
A
B
C
D
E
F
G
LED5
A
B
C
D
E
F
G
LED4
A
B
C
D
E
F
G
LED3
A
B
C
D
E
F
G
LED2
A
B
C
D
E
F
G
LED1
LED0
10
11
12
13
14
15
16
17
AT89C51
127
Bi 1: Chng trnh iu khin hin th m GI PHT GIY trn su LED (LED1,0: m GIY;
LED3,2: m PHT; LED5,4: m GI).
B1
MIX
BEGIN
BCD6TO7SEG
NAME:
INPUT:
MAIN:
NP GI TR BT U
(R7) = 00H GI TR GI
(R6) = 00H GI TR PHT
(R5) = 00H - GI TR GIY
BCD6TO7SEG:
CT TM GI TR CA DPH,
DPL, ACC VO STACK
MP1:
GI CTC GII M BCD-7 ON
BCD6TO7SEG
GI CTC DELAY V QUT-HIN TH
DELAY_SCAN
NP A CH VNG M
(DPTR) = CODE7SEG
TNG GI TR CA GIY
(TNG THEO KIU DEC)
ADD / DA - (R5)
NP S BCD NN CN GII M
(A) = (R5) = X
Y
NP S BCD NN CN GII M
(A) = (R7) = X
Y
X L LY GI TR TH NHT TRONG
S BCD NN (4 BIT THP)
Y
(A) = 0
X L LY GI TR TH NHT TRONG
S BCD NN (4 BIT THP)
Y
(A) = 0
GII M D LIU
(A) = (@A+DPTR)
GII M D LIU
(A) = (@A+DPTR)
CT M 7 ON CA BCD HNG N V
VO NH
(60H) = (A)
NP S BCD NN CN GII M
Y
(A) = (R5) = X
NP S BCD NN CN GII M
Y
(A) = (R7) = X
X L LY GI TR TH HAI TRONG S
BCD NN (4 BIT CAO)
X
(A) = 0
X L LY GI TR TH HAI TRONG S
BCD NN (4 BIT CAO)
X
(A) = 0
GII M D LIU
(A) = (@A+DPTR)
GII M D LIU
(A) = (@A+DPTR)
NP S BCD NN CN GII M
Y
(A) = (R6) = X
X L LY GI TR TH NHT TRONG
S BCD NN (4 BIT THP)
Y
(A) = 0
RET
GI TR GIY 60H
(CHA M XONG; 59)
S
XA GI TR GIY
(R5) = 00H - GI TR GIY
TNG GI TR CA PHT
(TNG THEO KIU DEC)
ADD / DA - (R6)
GI TR PHT 60H
(CHA M XONG; 59)
S
XA GI TR PHT
(R5) = 00H - GI TR PHT
TNG GI TR CA GI
(TNG THEO KIU DEC)
ADD / DA - (R7)
GI TR GI 24H
(CHA M XONG; 23)
DELAY_SCAN
DELAY_SCAN:
GII M D LIU
(A) = (@A+DPTR)
CT TM GI TR CA R0 VO
STACK
NP GI TR VNG LP
(R0) = 50
NP S BCD NN CN GII M
(A) = (R6) = X
Y
KHI NG TIMER
(TIMER 0, MODE 1)
(TMOD) = 01H
X L LY GI TR TH HAI TRONG S
BCD NN (4 BIT CAO)
X
(A) = 0
LOOP2:
NP GI TR CHO TIMER
(TDELAY = 5000.TMY)
(TH0/TL0) = -5000 = EC78H
GII M D LIU
(A) = (@A+DPTR)
DELAYLED
(XEM CTC NY TI V D B3.1 MBI)
S
DNG TIMER
(TR0) = 0
DISP7SEGMUL6
NAME:
INPUT:
DISP7SEGMUL6:
CT TM GI TR CA ACC, R0
VO STACK
NP M QUT U TIN
(A) = 11011111B = DFH
NP A CH NI CHA GI TR HIN TH U TIN
(R0) = 65H
DISP:
XUT GI TR RA PORT
(P0) = (@R0)
XUT M QUT RA PORT
(P1) = (A)
GI CTC TO TR CHO 1 LED
DELAYLED
TT HIN TH - CHNG LEM
(P1) = 11111111B = FFH
XA C TRN TIMER
(TF0) = 0
GIM S LN LP
S LN LP 0
(CHA LP XONG)
QUT LED ?
(CHA QUT XONG)
S
LY LI GI TR CHO R0 T
STACK
S
LY LI GI TR CHO ACC, R0
T STACK
RET
RET
128
Bi 1: Chng trnh iu khin hin th m GI PHT GIY trn su LED (LED1,0: m GIY;
LED3,2: m PHT; LED5,4: m GI).
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI GIO - PHUT - GIAY TREN LED 7 DOAN
;***************************************************
;KET NOI:
6 LED -> PORT0
;
SEL LED -> PORT1
;CHE DO:
MULTI, 7SEG IN (DP -> A), MULTI INT, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
R7,#00H
;GIO
MOV
R6,#00H
;PHUT
MOV
R5,#00H
;GIAY
MP1:
LCALL BCD6TO7SEG
;GIAI MA BCD SANG MA 7 DOAN
LCALL DELAY_SCAN
;DELAY VA QUET HIEN THI
MOV
A,R5
;TANG GIAY
ADD
A,#1
DA
A
MOV
R5,A
CJNE
A,#60H,MP1
;KIEM TRA GIAY > 59
MOV
R5,#00H
;XOA GIAY
MOV
A,R6
;TANG PHUT
ADD
A,#1
DA
A
MOV
R6,A
CJNE
A,#60H,MP1
;KIEM TRA PHUT > 59
MOV
R6,#00H
;XOA PHUT
MOV
A,R7
;TANG GIO
ADD
A,#1
DA
A
MOV
R7,A
CJNE
A,#24H,MP1
;KIEM TRA GIO > 23
SJMP
MAIN
;***************************************************
;CTC GIAI MA TU SO BCD NEN SANG MA 7 DOAN (3 SO BCD NEN).
;***************************************************
;LED: ANODE CHUNG, 7 DOAN: DP (MSB) -> A (LSB)
;GIA TRI GIAI MA: 0 -> 9
;***************************************************
;NAME:
BCD6TO7SEG.
;INPUT:
R7 = SO BCD NEN (TR NGAN - CH NGAN).
;
R6 = SO BCD NEN (NGAN - TRAM).
;
R5 = SO BCD NEN (CHUC - DON VI).
;OUTPUT:
65H,64H = MA 7 DOAN (TR NGAN - CH NGAN).
;
63H,62H = MA 7 DOAN (NGAN - TRAM).
;
61H,60H = MA 7 DOAN (CHUC - DON VI).
;***************************************************
BCD6TO7SEG:
PUSH DPH
;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH DPL
PUSH ACC
MOV
DPTR,#CODE7SEG
MOV
ANL
MOVC
MOV
A,R5
A,#0FH
A,@A+DPTR
60H,A
MOV
ANL
SWAP
MOVC
MOV
A,R5
A,#0F0H
A
A,@A+DPTR
61H,A
MOV
ANL
A,R6
A,#0FH
129
Bi 1: Chng trnh iu khin hin th m GI PHT GIY trn su LED (LED1,0: m GIY;
LED3,2: m PHT; LED5,4: m GI).
MOVC A,@A+DPTR
MOV
62H,A
MOV
ANL
SWAP
MOVC
MOV
A,R6
A,#0F0H
A
A,@A+DPTR
63H,A
MOV
ANL
MOVC
MOV
A,R7
A,#0FH
A,@A+DPTR
64H,A
MOV
ANL
SWAP
MOVC
MOV
A,R7
A,#0F0H
A
A,@A+DPTR
65H,A
POP
ACC
;PHUC HOI GIA TRI CHO CAC THANH GHI
POP
DPL
POP
DPH
RET
;VUNG CHUA MA 7 DOAN (0 -> 9)
CODE7SEG:
DB
0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
;***************************************************
;CTC QUET HIEN THI LED 7 DOAN (6 LED 7 DOAN).
;***************************************************
;LED: ANODE CHUNG, KICH HOAT MUC 0, 7 DOAN: DP (MSB) -> A (LSB)
;DU LIEU HIEN THI CHUA TRONG O NHO CUA RAM.
;***************************************************
;NAME:
DISP7SEGMUL6.
;INPUT:
65H,64H = MA 7 DOAN (TR NGAN - CH NGAN).
;
63H,62H = MA 7 DOAN (NGAN - TRAM).
;
61H,60H = MA 7 DOAN (CHUC - DON VI).
;OUTPUT:
P0 = 7 DOAN LED - DP (MSB) -> A (LSB).
;
P1 = CHON LED - LEFT (MSD) -> RIGHT (LSD).
;***************************************************
DISP7SEGMUL6:
PUSH ACC
;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH 00H
MOV
A,#0DFH
;MA QUET
MOV
R0,#65H
;DIA CHI VUNG MA HIEN THI
DISP:
MOV
P0,@R0
;XUAT MA HIEN THI
MOV
P1,A
;XUAT MA QUET
LCALL DELAYLED
MOV
P1,#0FFH
;CHONG LEM
DEC
R0
;LAY MA HIEN THI KE TIEP
RR
A
;CHUYEN SANG LED KE TIEP
CJNE
R0,#5FH,DISP
;KIEM TRA DA QUET XONG CHUA
POP
00H
;PHUC HOI GIA TRI CHO CAC THANH GHI
POP
ACC
RET
;***************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS
PUSH 00H
PUSH 01H
MOV
R1,#5
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
POP
01H
POP
00H
RET
130
Bi 1: Chng trnh iu khin hin th m GI PHT GIY trn su LED (LED1,0: m GIY;
LED3,2: m PHT; LED5,4: m GI).
;****************************************************
DELAY_SCAN: ;CHUONG TRINH CON TAO THOI GIAN TRE 250MS CO GOI CTC QUET HIEN THI
PUSH 00H
MOV
R0,#50
MOV
TMOD,#01H
LOOP2:
MOV
TH0,#HIGH(-5000)
MOV
TL0,#LOW(-5000)
SETB
TR0
;LIEN TUC GOI CTC QUET HIEN THI TRONG LUC TIMER DANG CHAY
SCAN:
LCALL DISP7SEGMUL6 ;GOI CTC QUET HIEN THI
JNB
TF0,SCAN
CLR
TR0
CLR
TF0
DJNZ
R0,LOOP2
POP
00H
RET
END
Bi tp:
Bi tp: Hy vit chng trnh iu khin hin th m NGY THNG NM trn tm LED (LED7,6:
m NGY; LED5,4: m THNG; LED3,2,1,0: m NM). Gi s cc thng u c 30 ngy. T chn
la phng php kt ni cc LED 7 on.
131
PORT 1
PORT 3
20 PINS
PORT 2
PORT 3
40 PINS
PORT 1
PORT 0
33p
X1
12MHz
C1
33p
+5V
U1
19
18
C3
XTAL1
XTAL2
10uF
9
RST
R1
10k
29
30
31
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
1
2
3
4
5
6
7
8
PSEN
ALE
EA
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
R4
R5
R6
R7
R8
R9
R10
10K
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
39 AD0
38 AD1
37 AD2
36 AD3
35 AD4
34 AD5
33 AD6
32 AD7
AD0
AD1
AD2
AD3
AD4
AD5
AD6
56
56
56
56
56
56
56
21
22
23
24
25
26
27
28
A
B
C
D
E
F
G
+5V
P1.0
+5V
P1.1
+5V
P1.2
+5V
P1.3
+5V
P1.4
+5V
P1.5
+5V
1
2
3
4
5
6
7
8
9
P1.7
RP1
C2
P1.6
+5V
R2
Q1
R3
Q2
R11
Q3
R12
Q4
R13
Q5
R14
Q6
R15
Q7
R16
Q8
1K
A1015
1K
A1015
1K
A1015
1K
A1015
1K
A1015
1K
A1015
1K
A1015
1K
A1015
A
B
C
D
E
F
G
A
B
C
D
E
F
G
LED7
A
B
C
D
E
F
G
LED6
A
B
C
D
E
F
G
LED5
A
B
C
D
E
F
G
LED4
A
B
C
D
E
F
G
LED3
A
B
C
D
E
F
G
LED2
A
B
C
D
E
F
G
LED1
LED0
MA C H IE U KHIE N LED 7 OA N
10
11
12
13
14
15
16
17
AT89C51
132
B2
MIX
MAIN:
NP A CH VNG M
(DPTR) = CODEDISP
DISP7SEGMUL
NAME:
DISP7SEGMUL - QUT HIN TH 8 LED 7 ON.
INPUT:
DPTR = VNG NH CHA D LIU CN HIN TH.
OUTPUT: P0 = 7 ON LED / DP (MSB) - A (LSB).
P1 = QUT LED / LEFT (MSD) RIGHT (LSD).
DISP7SEGMUL:
CT TM GI TR CA ACC, R0,
R1 VO STACK
GI CTC QUT-HIN TH
DISP7SEGMUL
NP M QUT U TIN
(R0) = 01111111B = 7FH
DELAYLED
(XEM CTC NY TI V D B3.1 MBI)
LY M D LIU HIN TH
(A) = (@A+DPTR)
XUT M D LIU RA PORT
(P0) = (A)
XUT M QUT RA PORT
(P1) = (A)
GI CTC TO TR CHO 1 LED
DELAYLED
TT HIN TH - CHNG LEM
(P1) = 11111111B = FFH
LY M D LIU HIN TH K TIP
(R1) = (R1) + 1
DCH M QUT LED
RRC A - QUT LED K TIP
QUT LED ?
(CHA XONG C = 1)
S
LY LI GI TR CHO ACC, R0,
R1 T STACK
RET
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI CHUOI "-HA-NOI- TREN LED 7 DOAN
;***************************************************
;KET NOI:
8 LED -> PORT0
;
SEL LED -> PORT1
;CHE DO:
MULTI, 7SEG IN (DP -> A), MULTI INT, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
DPTR,#CODEDISP
;NAP DIA CHI VUNG MA HIEN THI
LCALL DISP7SEGMUL
;HIEN THI CHUOI KY TU
SJMP
MAIN
;***************************************************
;CTC QUET HIEN THI LED 7 DOAN (8 LED 7 DOAN).
;***************************************************
;LED: ANODE CHUNG, KICH HOAT MUC 0, 7 DOAN: DP (MSB) -> A (LSB)
;DU LIEU HIEN THI CHUA TRONG ROM (TRONG CHUONG TRINH)
;***************************************************
;NAME:
DISP7SEGMUL.
;INPUT:
DPTR = VUNG NHO CHUA DU LIEU HIEN THI
;OUTPUT:
P0 = 7 DOAN LED - DP (MSB) -> A (LSB).
;
P1 = CHON LED - LEFT (MSD) -> RIGHT (LSD).
;***************************************************
DISP7SEGMUL:
PUSH ACC
;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH 00H
PUSH 01H
MOV
R0,#7FH
;MA QUET
MOV
R1,#00H
;VI TRI CUA DU LIEU TRONG VUNG NHO DPTR
SETB
C
133
Bi tp:
Bi 1: Hy vit chng trnh iu khin hin th chui k t -PEP-SI- trn tm LED. T chn la
phng php kt ni LED 7 on.
Bi 2: Hy vit chng trnh iu khin hin th chui k t COCACOLA trn tm LED. T chn la
phng php kt ni LED 7 on.
Bi 3: Hy vit chng trnh iu khin hin th chui k t --DHCN-- trn tm LED. T chn la
phng php kt ni LED 7 on.
Bi 4: Sinh vin t mnh suy ngh v pht trin thm chng trnh.
134
BEGIN
TATLED
TATLED:
MAIN:
NP A CH VNG M
(DPTR) = CODEDISP
CT TM GI TR CA R0 VO
STACK
NP GI TR VNG LP
(R0) = 100
KHI NG TIMER
(TIMER 0, MODE 1)
(TMOD) = 01H
TAT:
NP GI TR CHO TIMER
(TDELAY = 10000.TMY)
(TH0/TL0) = -10000 = D8F0H
S
GI CTC TT HIN TH
TATLED
DELAYLED
S
DNG TIMER
(TR0) = 0
DISP7SEGMUL
XA C TRN TIMER
(TF0) = 0
GIM S LN LP
S LN LP 0
(CHA LP XONG)
S
LY LI GI TR CHO R0 T
STACK
RET
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI CHUOI "-HA-NOI- CHOP TAT TREN LED 7 DOAN
;***************************************************
;KET NOI:
8 LED -> PORT0
;
SEL LED -> PORT1
;CHE DO:
MULTI, 7SEG IN (DP -> A), MULTI INT, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
DPTR,#CODEDISP
;NAP DIA CHI VUNG MA HIEN THI
MOV
R0,#50
;BIEN LAP - THOI GIAN CUA 1 TRANG THAI MAN HINH
MP1:
LCALL DISP7SEGMUL
;HIEN THI CHUOI KY TU
DJNZ
R0,MP1
LCALL TATLED
;TAT HIEN THI CHUOI
SJMP
MAIN
;***************************************************
;CTC QUET HIEN THI LED 7 DOAN (8 LED 7 DOAN).
;***************************************************
;LED: ANODE CHUNG, KICH HOAT MUC 0, 7 DOAN: DP (MSB) -> A (LSB)
;DU LIEU HIEN THI CHUA TRONG ROM (TRONG CHUONG TRINH)
;***************************************************
;NAME:
DISP7SEGMUL.
;INPUT:
DPTR = VUNG NHO CHUA DU LIEU HIEN THI
;OUTPUT:
P0 = 7 DOAN LED - DP (MSB) -> A (LSB).
;
P1 = CHON LED - LEFT (MSD) -> RIGHT (LSD).
;***************************************************
135
Bi tp:
(xem thm trong phn hng dn v phn bi tp ca Bi 4)
136
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI CHUOI "-HA-NOI-","-DA-LAT-","-SAIGON-" TREN LED 7 DOAN
;***************************************************
;KET NOI:
8 LED -> PORT0
;
SEL LED -> PORT1
;CHE DO:
MULTI, 7SEG IN (DP -> A), MULTI INT, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
DPTR,#CODEDISP
;NAP DIA CHI VUNG MA HIEN THI
MP1:
MOV
R0,#100
;BIEN LAP - THOI GIAN CUA 1 TRANG THAI MAN HINH
STATICDISP:
LCALL DISP7SEGMUL
;HIEN THI CHUOI KY TU
DJNZ
R0,STATICDISP
;GIAM BIEN LAP
MOV
A,DPL
;DICH DEN DIA CHI CUA CHUOI KE TIEP
ADD
A,#8
;ADDNEXT = ADDPREV + 8 (DO DAI CHUOI = 8)
MOV
DPL,A
CJNE
A,#LOW(CODEDISP+24),MP1
;KIEM TRA HIEN THI XONG TAT CA CAC CHUOI
SJMP
MAIN
;3 CHUOI = 24 MA KY TU
;***************************************************
;CTC QUET HIEN THI LED 7 DOAN (8 LED 7 DOAN).
;***************************************************
;LED: ANODE CHUNG, KICH HOAT MUC 0, 7 DOAN: DP (MSB) -> A (LSB)
;DU LIEU HIEN THI CHUA TRONG ROM (TRONG CHUONG TRINH)
;***************************************************
;NAME:
DISP7SEGMUL.
;INPUT:
DPTR = VUNG NHO CHUA DU LIEU HIEN THI
;OUTPUT:
P0 = 7 DOAN LED - DP (MSB) -> A (LSB).
;
P1 = CHON LED - LEFT (MSD) -> RIGHT (LSD).
;***************************************************
DISP7SEGMUL:
PUSH ACC
;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH 00H
PUSH 01H
MOV
R0,#7FH
;MA QUET
MOV
R1,#00H
;VI TRI CUA DU LIEU TRONG VUNG NHO DPTR
137
DISP:
MOV
A,R1
MOVC A,@A+DPTR
;LAY MA HIEN THI
MOV
P0,A
;XUAT MA HIEN THI
MOV
P1,R0
;XUAT MA QUET
LCALL DELAYLED
MOV
P1,#0FFH
;CHONG LEM
INC
R1
;LAY MA HIEN THI KE TIEP
MOV
A,R0
;LAY MA QUET KE TIEP
RRC
A
MOV
R0,A
JC
DISP
;KIEM TRA QUET XONG (C = 0)
POP
01H
POP
00H
;PHUC HOI GIA TRI CHO CAC THANH GHI
POP
ACC
RET
;***************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS
PUSH 00H
PUSH 01H
MOV
R1,#5
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
POP
01H
POP
00H
RET
;***************************************************
CODEDISP:
;VUNG CHUA MA CHU HIEN THI
DB
0BFH,89H,88H,0BFH,0C8H,0C0H,0F9H,0BFH ;MA CHUOI "-HA-NOI-"
DB
0BFH,0A1H,88H,0BFH,0C7H,88H,0F8H,0BFH ;MA CHUOI "-DA-LAT-"
DB
0BFH,92H,88H,0F9H,90H,0C0H,0C8H,0BFH ;MA CHUOI "-SAIGON-"
END
Bi tp:
Bi 1: Hy vit chng trnh iu khin hin th v chp tt chui k t -PEP-SI- trn tm LED. T chn
la phng php kt ni LED 7 on.
Bi 2: Hy vit chng trnh iu khin hin th v chp tt 10 ln chui k t COCACOLA trn tm
LED. T chn la phng php kt ni LED 7 on.
Bi 3: Hy vit chng trnh iu khin hin th ln lt cc chui k t COCACOLA, -PEP-SI-, FANTA- trn tm LED. Mi chui hin th cch nhau 1 giy. T chn la phng php kt ni LED 7
on.
Bi 4: Sinh vin t mnh suy ngh v pht trin thm chng trnh.
138
Bi 5: Chng trnh iu khin hin th v dch chuyn chui k t -HA-NOI-SAI-GON- trn tm LED t
phi sang tri.
1 Trnh t tin hnh th nghim:
1.1 Kt ni thit b th nghim.
Qu trnh kt ni thit b th nghim tng t nh Bi 2.
1.2 S nguyn l ca h thng:
S nguyn l ca h thng tng t nh Bi 2.
1.3 V lu gii thut v vit chng trnh iu khin.
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI CHUOI "-HA-NOI-SAIGON-" DICH CHUYEN TREN LED 7 DOAN
;***************************************************
;KET NOI:
8 LED -> PORT0
;
SEL LED -> PORT1
;CHE DO:
MULTI, 7SEG IN (DP -> A), MULTI INT, CA, ACTIVE = 0
;***************************************************
ORG
00H
MAIN:
MOV
DPTR,#CODEDISP
;NAP DIA CHI VUNG MA HIEN THI
MP1:
MOV
R0,#20
;BIEN LAP - THOI GIAN CUA 1 TRANG THAI MAN HINH
STATICDISP:
LCALL DISP7SEGMUL
;HIEN THI CHUOI KY TU
DJNZ
R0,STATICDISP
;GIAM BIEN LAP
INC
DPTR
;DICH CHUOI DI MOT MA KY TU
MOV
A,DPL
CJNE
A,#LOW(CODEDISP+16),MP1
;KIEM TRA HIEN THI XONG CHUOI
SJMP
MAIN
;SO KY TU CUA CHUOI = 24 MA KY TU
;***************************************************
;CTC QUET HIEN THI LED 7 DOAN (8 LED 7 DOAN).
;***************************************************
;LED: ANODE CHUNG, KICH HOAT MUC 0, 7 DOAN: DP (MSB) -> A (LSB)
;DU LIEU HIEN THI CHUA TRONG ROM (TRONG CHUONG TRINH)
;***************************************************
;NAME:
DISP7SEGMUL.
;INPUT:
DPTR = VUNG NHO CHUA DU LIEU HIEN THI
;OUTPUT:
P0 = 7 DOAN LED - DP (MSB) -> A (LSB).
;
P1 = CHON LED - LEFT (MSD) -> RIGHT (LSD).
;***************************************************
DISP7SEGMUL:
PUSH ACC
;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH 00H
PUSH 01H
MOV
R0,#7FH
;MA QUET
MOV
R1,#00H
;VI TRI CUA DU LIEU TRONG VUNG NHO DPTR
SETB
C
139
Bi 5: Chng trnh iu khin hin th v dch chuyn chui k t -HA-NOI-SAI-GON- trn tm LED t
phi sang tri.
DISP:
MOV
A,R1
MOVC A,@A+DPTR
;LAY MA HIEN THI
MOV
P0,A
;XUAT MA HIEN THI
MOV
P1,R0
;XUAT MA QUET
LCALL DELAYLED
MOV
P1,#0FFH
;CHONG LEM
INC
R1
;LAY MA HIEN THI KE TIEP
MOV
A,R0
;LAY MA QUET KE TIEP
RRC
A
MOV
R0,A
JC
DISP
;KIEM TRA QUET XONG (C = 0)
POP
01H
POP
00H
;PHUC HOI GIA TRI CHO CAC THANH GHI
POP
ACC
RET
;***************************************************
DELAYLED:
;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS
PUSH 00H
PUSH 01H
MOV
R1,#5
DEL:
MOV
R0,#250
DJNZ
R0,$
DJNZ
R1,DEL
POP
01H
POP
00H
RET
;***************************************************
CODEDISP:
;VUNG CHUA MA CHU HIEN THI
DB
0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
;MA CHUOI XOA MAN HINH
DB
0BFH,89H,88H,0BFH,0C8H,0C0H,0F9H,0BFH
;MA CHUOI "-HA-NOI-"
DB
92H,88H,0F9H,0BFH,90H,0C0H,0C8H,0BFH
;MA CHUOI "SAI-GON-"
END
Bi tp:
Bi 1: Hy vit chng trnh iu khin hin th v dch chuyn chui k t -PEP-SI- trn tm LED t
phi sang tri. T chn la phng php kt ni LED 7 on.
Bi 2: Hy vit chng trnh iu khin hin th v dch chuyn chui k t COCACOLA trn tm LED
t tri sang phi. T chn la phng php kt ni LED 7 on.
Bi 3: Hy vit chng trnh iu khin hin th v dch chuyn chui k t COMPUTERCONTROLLER trn tm LED t phi sang tri. T chn la phng php kt ni LED 7 on.
Bi 4: Sinh vin t mnh suy ngh v pht trin thm chng trnh.
140