Professional Documents
Culture Documents
Chng 4: CC
NG DNG DA TRN VI
IU KHIN MCS-51
1. iu khin Led n
VCC
i
d
u
t
S
D1
D1
R1
LED
RESISTOR
IN
IN
R1
RESISTOR
LED
Hnh a
Hnh b
n
e
h
it
m
S
N
1
IN
IN
y
u
g
VCC
D2
R1
D1
R2
74LS04
VCC
D4
R3
D3
R4
Q1
.
o
Trang 95
D6
LED
9
8
7
6
5
4
3
2
D5
LED
U2
21
22
23
24
25
26
27
28
30
29
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
ALE/PROG
PSEN
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
XTAL1
XTAL2
39
38
37
36
35
34
33
32
1
2
3
4
5
6
7
8
19
18
31
9
h
it
m
S
EA/VPP
RST
AT89C51
1
2
3
4
5
6
7
8
n
e
y
u
16
15
14
13
12
11
10
9
D8
LED
D9
LED
D10
LED
D11
LED
D12
LED
Trang 96
10
11
12
13
14
15
16
17
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
RN1
D7
LED
u
t
R5
.
o
i
d
VCC
Ln 9: quay li ging nh ln 1
y
u
g
n
e
MOV DPTR,#MaLed
; DPTR cha v tr bng m Led
Main:
MOV R7,#0
; Phn t u tin ca bng m
Loop:
MOV A,R7
MOVC A,@A+DPTR
; c bng m
MOV P0,A
; Chuyn vo P0 sng Led
CALL Delay
; Ch mt ngi c th thy
INC R7
; Chuyn qua trng thi k
CJNE R7,#8,Loop
; ht bng m th lp li
SJMP main
MaLed: DB 0FEh,0FDh,0FBh,0F7h,0EFh,0DFh,0BFh,7Fh
Delay:
MOV TMOD,#01h
MOV TH0,#HIGH(-50000) ; Ch 50 ms
MOV TL0,#LOW(-50000)
SETB TR0
JNB TF0,$
CLR TF0
h
it
m
S
.
o
i
d
u
t
S
Trang 97
CLR TR0
RET
END
.
o
2. iu khin Led 7 on
2.1.
-
Dng Led:
a
b
f
g
dp
n
e
i
d
u
t
S
y
u
g
COM
D2
D3
D4
D5
D6
D7
N
a
h
it
D1
D8
dp
dp
i vi dng Led anode chung, chn COM phi c mc logic 1 v mun sng
Led th tng ng cc chn a f, dp s mc logic 0.
Bng 4.1 - Bng m cho Led Anode chung (a l MSB, dp l LSB):
m
S
S
0
1
2
3
4
5
6
a
0
1
0
0
1
0
0
b
0
0
0
0
0
1
1
c
0
0
1
0
0
0
0
d
0
1
0
0
1
0
0
e
0
1
0
1
1
1
0
f
0
1
1
1
0
0
0
g dp M hex
1 1
03h
1 1
9Fh
0 1
25h
0 1
0Dh
0 1
99h
0 1
49h
0 1
41h
Trang 98
7
8
9
0 0 0 1 1 1 1
0 0 0 0 0 0 0
0 0 0 0 1 0 0
1
1
1
1Fh
01h
09h
.
o
h
it
y
u
g
b
D1
D2
D3
D4
n
e
g
D5
D6
D7
i
d
u
t
S
dp
D8
dp
COM
m
S
S
0
1
2
3
4
5
6
7
a
1
0
1
1
0
1
1
1
b
1
1
1
1
1
0
0
1
c
1
1
0
1
1
1
1
1
d
1
0
1
1
0
1
1
0
e
1
0
1
0
0
0
1
0
f
1
0
0
0
1
1
1
0
g dp M hex
0 0
0FCh
0 0
60h
1 0
0DAh
1 0
0F2h
1 0
66h
1 0
0B6h
1 0
0BEh
0 0
0E0h
Trang 99
8
9
1 1 1 1 1 1 1
1 1 1 1 0 1 1
0
0
0FEh
0F6h
.
o
2.2.
y
u
g
n
e
i
d
u
t
S
h
it
Gii
Led c chn COM ni vi Vcc (thng qua Q2, Q3) nn Led l loi anode
chung v Q2, Q3 l transistor PNP nn Led sng th d liu tng ng ti cc chn
iu khin (P1.0, P1.1) phi l 1.
m
S
Trang 100
y
u
g
n
e
i
d
u
t
S
h
it
i vi chng trnh trong v d 1, khi ang thc hin qut led th chng
trnh khng lm g c trong khi , cc ng dng thc t thng x l cc cng vic
khc ng thi vi qu trnh qut. Vn ny c th gii quyt bng cch s dng
ngt ca timer: mi khi timer trn th thc hin hin th trn 1 Led.
m
S
.
o
; a ch ISR ca timer 0
Trang 101
Main:
SETB EA
; Cho php ngt ti timer 0
SETB ET0
MOV Led1,#0C0h
; S 0
MOV Led2,#0F9h
; S 1
MOV Led_Pos,#01h ; V tr sng u tin l Led1
MOV R0,#Led1 ; D liu gi ra u tin l Led1
MOV TMOD,#01h
MOV TH0,#(-200)
MOV TL0,#(-200)
SETB TR0
SJMP $
; Khng lm g c, cc ng dng thc t
; c th thm chng trnh vo
;---------------------Timer0_ISR:
MOV A,Led_Pos
; Xc nh v tr Led hin hnh
MOV P1,A
; Sng Led hin hnh
RL A
; Dch tri chuyn qua Led k
MOV Led_Pos,A
; trong qua trnh trn tip theo
MOV A,@R0
; c d liu hin hnh
MOV P0,A
INC R0
; Chuyn qua d liu k
CJNE R0,#Led_Pos,exitTimer0 ; Nu qut ht ton b
MOV Led_Pos,#01h ; Led th bt u li t Led1
MOV R0,#Led1
exitTimer0:
RETI
END
h
it
y
u
g
n
e
i
d
u
t
S
m
S
.
o
Trang 102
.
o
Gii
xut ni dung trong nh 30h ra Led 7 on cn thc hin:
-
i
d
u
t
S
h
it
y
u
g
n
e
m
S
Trang 103
RET
;---------------------BCDtoLed7:
MOV DPTR,#MaLed7
MOVC A,@A+DPTR
RET
MaLed7: DB 0C0h,0F9h,0A4h,0B0h,99h,92h,82h,0F8h,80h,90h
;---------------------Timer0_ISR:
PUSH ACC
MOV A,Led_Pos
; Xc nh v tr Led hin hnh
MOV P1,A
; Sng Led hin hnh
RL A
; Dch tri chuyn qua Led k
MOV Led_Pos,A
; trong qua trnh trn tip theo
MOV A,@R0
; c d liu hin hnh
MOV P0,A
INC R0
; Chuyn qua d liu k
CJNE R0,#Led_Pos,exitTimer0 ; Nu qut ht ton b
MOV Led_Pos,#01h ; Led th bt u li t Led1
MOV R0,#Led1
exitTimer0:
POP ACC
RETI
END
y
u
g
n
e
i
d
u
t
S
Khi thc hin tch ring cc ng d liu ca Led, ta c th cho php cc Led
sng ng thi m s khng c hin tng nh hng gia cc Led. IC cht cho php
lu tr d liu cho cc Led c th s dng l 74LS373, 74LS374. Khi thc hin bng
phng php cht, khi no cn xut d liu ra Led th gi d liu v to xung cht.
h
it
m
S
Gii
.
o
Trang 104
U3
21
22
23
24
25
26
27
28
30
29
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
39
38
37
36
35
34
33
32
1
2
3
4
5
6
7
8
19
18
XTAL1
XTAL2
EA/VPP
RST
31
9
14
13
12
11
10
9
8
220
h
it
m
S
ALE/PROG
PSEN
a
b
c
d
e
f
g
C2
a
b
c
d
e
f
g
p
C1
C2
C1
7
6
4
2
1
9
10
5
n
e
y
u
1
2
3
4
5
6
7
u
t
a
b
c
d
e
f
g
+5V
R7
R8
Q2
C828
10K
AT89C51
Trang 105
Q3
C828
10K
10
11
12
13
14
15
16
17
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
RN2
a
b
c
d
e
f
g
p
LED2
9
8
7
6
5
4
3
2
R6
10k
7
6
4
2
1
9
10
5
a
b
c
d
e
f
g
i
d
+5V
LED1
.
o
11
19
18
h
it
m
S
EA/VPP
RST
AT89C51
31
9
1
2
3
4
5
6
7
11
1
14
13
12
11
10
9
8
7
6
4
2
1
9
10
5
a
b
c
d
e
f
g
p
220
CLK
OE
74LS374
U6
3
4
7
8
13
14
17
18
C2
2
5
6
9
12
15
16
19
C1
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
1
2
3
4
5
6
7
8
D0
D1
D2
D3
D4
D5
D6
D7
D0
D1
D2
D3
D4
D5
D6
D7
CLK
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
2
5
6
9
12
15
16
19
1
2
3
4
5
6
7
+5V
LED4
RN4
14
13
12
11
10
9
8
220
OE
74LS374
Trang 106
7
6
4
2
1
9
10
5
a
b
c
d
e
f
g
p
C2
XTAL1
XTAL2
3
4
7
8
13
14
17
18
ALE/PROG
PSEN
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
n
e
y
u
39
38
37
36
35
34
33
32
C1
30
29
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
LED3
10
11
12
13
14
15
16
17
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
RN3
21
22
23
24
25
26
27
28
U5
1
9
8
7
6
5
4
3
2
U4
u
t
R9
10k
.
o
i
d
+5V
.
o
i
d
u
t
S
Ma trn LED bao gm nhiu LED cng nm trong mt v chia thnh nhiu ct
v hng, mi giao im gia hng v ct c th c 1 LED (ma trn LED mt mu) hay
nhiu LED (2 LED ti mt v tr to thnh ma trn LED 3 mu). LED ti mt v tr
no sng th phi cp hiu in th dng gia Anode v Cathode. Trn c s cu
trc nh vy, ta c th m rng hng v ct ca ma trn LED to thnh cc bng
quang bo.
y
u
g
n
e
h
it
m
S
Trang 107
.
o
h
it
m
S
Hnh a
y
u
g
n
e
i
d
u
t
S
Hnh b
Trang 108
D liu cho s 0:
X X X
X
X
X X X
.
o
i
d
u
t
S
n
e
y
u
g
main:
MOV R0,#0
lap:
MOV A,R0
MOV DPTR,#cot
MOVC A,@A+DPTR
MOV P1,A
h
it
m
S
MOV A,R0
MOV DPTR,#hang
MOVC A,@A+DPTR
MOV P0,A
CALL delay
INC R0
CJNE R0,#5,lap
; Xut ct
;
;
;
;
Xut hng
To thi gian tr hon thy
Chuyn sang ct k
Nu qut 5 ct th lp li
Trang 109
SJMP main
;-------------------delay:
MOV TMOD,#01h
MOV TL0,#LOW(-500)
MOV TH0,#HIGH(-500)
SETB TR0
JNB TF0,$
CLR TF0
CLR TR0
RET
;-------------------cot: DB 01h,02h,04h,08h,10h
hang: DB 41h,3Eh,3Eh,3Eh,41h
END
.
o
n
e
i
d
u
t
S
V d 2: Vit chng trnh cho chui KTCN di chuyn t tri sang phi trn
ma trn Led.
Gii
y
u
g
Gii thut Led di chuyn t tri sang phi tham kho thm ti Ti liu Th
nghim Vi x l Bi 3 (ma trn Led v bn phm) (download ti Website
http://eed.hutech.edu.vn).
main2:
MOV R2,#0
main1:
MOV R1,#20
; Mt k t qut 20 ln
main:
MOV R0,#0
lap:
MOV A,R0
MOV DPTR,#cot
MOVC A,@A+DPTR
MOV P1,A
h
it
m
S
MOV A,R0
ADD A,R2
MOV DPTR,#hang
MOVC A,@A+DPTR
MOV P0,A
Trang 110
u
t
9
8
7
6
5
4
3
2
U7
21
22
23
24
25
26
27
28
10
11
12
13
14
15
16
17
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
ALE/PROG
PSEN
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
XTAL1
XTAL2
EA/VPP
RST
AT89C51
39
38
37
36
35
34
33
32
1
2
3
4
5
6
7
8
19
18
31
9
Trang 111
h
it
m
S
1
2
3
4
5
6
7
8
n
e
y
u
VCC
R15
16
15
14
13
12
11
10
9
Q8
R16
R17
R18
N
R19
Q9
Q10
Q11
Q12
30
29
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
RN5
i
d
VCC
R10
.
o
CALL delay
INC R0
CJNE R0,#5,lap
DJNZ R1,main
INC R2
CJNE R2,#31,main1 ; Nu qut ht chui th lp li
SJMP main2
;----------delay:
MOV TMOD,#01h
MOV TL0,#LOW(-500)
MOV TH0,#HIGH(-500)
SETB TR0
JNB TF0,$
CLR TF0
CLR TR0
RET
cot: DB 01h,02h,04h,08h,10h
hang: DB 00h,77h,6Bh,5Dh,3Eh,7Fh ;M ch K
DB 7Eh,7Eh,00h,7Eh,7Eh,7Fh ;M ch T
DB 41h,3Eh,3Eh,3Eh,5Dh,7Fh ;M ch C
DB 00h,7Dh,7Bh,77h,00h,7Fh ;M ch N
DB 7Fh,7Fh,7Fh,7Fh,7Fh
; Cc ct trng
END
y
u
g
n
e
i
d
u
t
S
4. iu khin ng c bc
h
it
1
2
3
m
S
STEPPER MOTOR
Hnh 4.12 ng c bc
.
o
Trang 112
R1
D1
1
2
3
R3
R4
Q2
D2
Q3
D3
Q4
D4
y
u
g
n
e
i
d
u
t
S
4
R2
MOTOR STEPPER
h
it
m
S
1
1
1
1
0
0
.
o
MG1
Q1
1
0
0
0
1
Thun
2
0
0
0
1
0
3
0
0
1
0
0
4
0
1
0
0
0
Thun
2
0
0
0
0
1
3
0
0
1
1
1
4
1
1
1
0
0
Trang 113
.
o
i
d
u
t
S
39
38
37
36
35
34
33
32
1
2
3
4
5
6
7
8
19
18
31
9
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
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
XTAL1
XTAL2
ALE/PROG
PSEN
21
22
23
24
25
26
27
28
10
11
12
13
14
15
16
17
30
29
EA/VPP
RST
AT89C51
h
it
R12
Q5
y
u
g
R13
Q6
n
e
D14
1
2
3
U8
MG1
D13
Q4
R11
MOTOR STEPPER
D15
R14
Q7
D16
Gii
m
S
main:
MOV R0,#0
MOV DPTR,#thuan1buoc
Phm Hng Kim Khnh
Trang 114
begin:
MOV A,R0
MOVC A,@A+DPTR
MOV P2,A
; Xut ra P2 iu khin ng c
CALL Delay
INC R0
CJNE R0,#4,begin
SJMP main
;----------------Delay:
MOV TMOD,#01h
MOV TH0,#HIGH(-24000)
MOV TL0,#LOW(-24000)
SETB TR0
JNB TF0,$
CLR TF0
CLR TR0
RET
y
u
g
thuan1buoc: DB 08h,04h,02h,01h
END
i
d
u
t
S
n
e
A
K
15
16
VCC
GND
EN
R/W
RS
CONST
3
D0
D1
D2
D3
D4
D5
D6
D7
m
S
7
8
9
10
11
12
13
14
h
it
LCD
LAMP
S ca LCD1602A:
1602
.
o
Trang 115
RS (register selection): chn thanh ghi lnh (RS = 0) hoc thanh ghi d liu
(RS = 1)
D7 D4: bus d liu (ch 8 bit: 4 bit cao, ch 4 bit: dng cho truyn 4
bit cao v 4 bit thp). Ngoi ra, bit D7 cn dng lm ng ra cho c Busy.
i
d
u
t
S
C Busy (BF Busy flag): Nu BF = 1, LCD ang trong qu trnh thc thi
mt lnh. Khi , cc lnh gi tip theo s b b qua. BF c c ti chn
D7 khi RS = 0 v R/W = 1. Do , trc khi thc hin mt lnh, cn kim tra
BF trc, nu BF = 0 th mi gi lnh.
h
it
y
u
g
n
e
m
S
.
o
Trang 116
h
it
m
S
001 000
001 001
001 010
001 011
001 100
001 101
001 110
001 111
010 000
010 001
010 010
010 011
010 100
010 101
010 110
010 111
011 000
011 001
011 010
011 011
011 100
011 101
011 110
011 111
100 000
100 001
100 010
100 011
100 100
100 101
100 110
100 111
101 000
101 001
101 010
101 011
101 100
101 101
101 110
101 111
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
xxx ?????
y
u
g
n
e
.
o
i
d
u
t
S
3
Trang 117
y
u
g
n
e
i
d
u
t
S
h
it
m
S
00h
01h
02h
03h
04h
05h
06h
07h
D liu
1
0
0
1
0
0
1
0
1
1
1
1
1
1
1
0
1
0
0
1
0
0
1
0
1
0
0
0
0
0
1
0
0
1
1
1
1
1
0
0
1Eh
09h
09h
1Dh
09h
09h
1Eh
00h
.
o
Trang 118
Sau khi thc hin truyn xong 8 bit, BF mi chuyn ln 1. Hai ch truyn ny m
t nh hnh 4.16 v 4.17.
.
o
y
u
g
n
e
i
d
u
t
S
h
it
m
S
Trang 119
Tp lnh:
Bng 4.8 - Tp lnh ca LCD1602A
M lnh
Lnh
M t
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
Xo mn
hnh
V u
chui
nh ch
iu
khin
hin th
h
it
y
u
g
0
n
e
I/D
Dch con
tr hay
mn hnh
m
S
S/C
R/L
Chc
nng
DL
Thi
gian thc
thi (fOSC
= 270
KHz)
.
o
i
d
u
t
S
Ghi 20h
(khong trng)
vo DDRAM
v t a ch
DDRAM l
00h
t a ch
DDRAM l
00h v tr con
tr v v tr u
(ni dung
DDRAM
khng i)
- Chiu di
chuyn con tr
I/D = 1: tng
I/D = 0: gim
- Dch ton
mn hnh khi
ghi DDRAM:
S = 1: cho php
dch
S = 0: cm
D = 1: hin
mn hnh
D = 0: cm
C = 1: hin con
tr
C = 0: cm
B = 1: nhp
nhy
B = 0: cm
S/C = 1: dch
mn hnh
S/C = 0: dch
con tr
R/L = 1: dch
phi
R/L = 0: dch
tri
DL = 1: 8 bit
DL = 0: 4 bit
N = 1: 2 dng
N = 0: 1 dng
1.53ms
1.53ms
39s
39s
39s
39s
Trang 120
nh a
ch
CGRAM
nh a
ch
DDRAM
AC5
AC4
AC3
AC2
AC1
AC0
AC6
AC5
AC4
AC3
AC2
AC1
AC0
c BF
v a ch
hin hnh
BF
AC6
AC5
AC4
AC3
AC2
AC1
AC0
Ghi d
liu
D7
D6
D5
D4
D3
D2
D1
D0
c d
liu
D7
D6
D5
D4
D3
D2
D1
D0
y
u
g
I/D: Increment/Decrement
R/L: Right/Left
F: Font type
n
e
F = 0: k t
5x7
F = 1: k t
5x10
Xc nh a
ch ca
CGRAM
Xc nh a
ch ca
DDRAM
Xc nh a
ch hin hnh
v kim tra
xem c th gi
lnh tip hay
khng
BF = 1: khng
BF = 0: c th
Ghi d liu vo
DDRAM hay
CGRAM
c d liu t
DDRAM hay
CGRAM
i
d
u
t
S
39s
43s
43s
S: Screen
S/C: Screen/Cursor
DL: Data Length N: Line number
AC: Address Counter
01H
02H
04H
06H
05H
07H
08H
0AH
0CH
0EH
0FH
10H
14H
18H
h
it
m
S
.
o
39s
Trang 121
1CH
80H
C0H
38H
U9
21
22
23
24
25
26
27
28
10
11
12
13
14
15
16
17
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
h
it
30
29
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
ALE/PROG
PSEN
m
S
y
u
g
XTAL1
XTAL2
EA/VPP
RST
39
38
37
36
35
34
33
32
LAMP
A
K
GND
VCC
EN
R/W
RS
CONST
3
n
e
4
7
8
9
10
11
12
13
14
D0
D1
D2
D3
D4
D5
D6
D7
15
16
1602
VCC
1
2
3
4
5
6
7
8
19
18
31
9
AT89C51
Gii
EN
RS
BIT
BIT
.
o
i
d
u
t
S
P2.2
P2.0
Trang 122
RW
BIT
P2.1
LCD_DATA
EQU
P1
;---------------------------------------------------main:
MOV LCD_DATA,#38h
; t ch 2 dng
CALL write_command
MOV LCD_DATA,#0Ch ; bt hin th
CALL write_command
MOV LCD_DATA,#01h
CALL write_command
;xo mn hnh
i
d
u
t
S
.
o
MOV LCD_DATA,#80h
; Chuyn v a ch 00h (dng 1)
CALL write_command
MOV DPTR,#Line1
CALL write
; Ghi vao DDRAM
n
e
y
u
g
SJMP $
;-------------------------------------------------------write:
CLR A
MOVC A,@A+DPTR
CJNE A,#0FFh,write1;Nu gi tr l 0FFh th ht chui
RET
write1:
MOV LCD_DATA,A
call write_data
INC DPTR
SJMP write
;-------------------------------------------------write_command:
CLR RS
CLR RW
CLR EN
NOP
h
it
m
S
Trang 123
SETB EN
NOP
CLR EN
CALL Delay
RET
;-------------------------------------------------write_data:
SETB RS
CLR RW
CLR EN
NOP
SETB EN
NOP
CLR EN
CALL Delay
RET
;-------------------------------------------------Delay:
PUSH 07h
PUSH 06h
MOV R6,#50
MOV R7,#255
DJNZ R7,$
DJNZ R6,$-4
POP 06h
POP 07h
RET
;-------------------------------------------------Line1: DB 'KHOA DIEN DIEN TU', 0FFh
Line2: DB 'BO MON DIEN TU VIEN THONG', 0FFH
END
h
it
y
u
g
n
e
i
d
u
t
S
m
S
Chng trnh thc hin nh trn nhng thm phn x l ngt cho timer 0: c
nh thi 1s th dch chui sang tri (ngha l dch ton b mn hnh sang phi). Theo
bng 4.9, lnh cn gi ra LCD c m lnh l 1Ch.
Chng trnh thc hin nh sau:
.
o
Trang 124
ORG 0000h
LJMP main
ORG 000Bh
LJMP Timer0_ISR
Main:
MOV IE,#82h
; Cho php ngt ti Timer 0
MOV TMOD,#01h
MOV TH0,#HIGH(-50000)
MOV TL0,#LOW(-50000)
MOV R7,#20
SETB TR0
Timer0_ISR:
MOV TH0,#HIGH(-50000)
MOV TL0,#LOW(-50000)
DJNZ R7,exitTimer0
MOV R7,#20
MOV LCD_DATA,#1Ch ;Dch ton mn hnh sang phi
CALL write_command
exitTimer0:
RETI
END
y
u
g
n
e
i
d
u
t
S
V d 3: Cho mch kt ni LCD nh hnh 4.18, vit chng trnh xut chui
Khoa in in t trn dng 1 v B mn in t - Vin thng trn dng 2.
h
it
Gii
m
S
.
o
Trang 125
a ch v d liu tng ng l:
a ch
00h
01h
02h
03h
04h
05h
06h
07h
08h
09h
0Ah
0Bh
0Ch
0Dh
0Eh
0Fh
10h
11h
12h
13h
14h
15h
16h
17h
18h
19h
1Ah
1Bh
1Ch
1Dh
1Eh
1Fh
h
it
m
S
1
0
0
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
0
0
1
1
0
0
1
0
0
D liu
1 1 0
0 0 1
0 0 1
1 0 1
0 0 1
0 0 1
1 1 0
0 0 0
1 0 0
1 1 0
0 0 1
1 1 0
0 0 0
1 1 1
1 0 0
1 0 0
0 0 0
1 0 1
0 0 1
0 1 0
0 1 0
0 1 0
1 0 0
0 0 0
1 0 0
0 1 0
1 1 0
0 0 1
0 0 1
1 1 0
1 0 0
0 0 0
K t M DDRAM
1Eh
09h
09h
1Dh
09h
09h
1Eh
00h
04h
0Eh
11h
1Eh
10h
0Fh
04h
00h
08h
05h
09h
12h
12h
12h
0Ch
00h
04h
0Ah
0Eh
11h
11h
0Eh
04h
00h
y
u
g
00h
01h
02h
03h
n
e
.
o
i
d
u
t
S
Trang 126
a ch
20h
21h
22h
23h
24h
25h
26h
27h
28h
29h
2Ah
2Bh
2Ch
2Dh
2Eh
2Fh
0
0
0
1
1
0
0
0
1
1
1
0
0
1
1
0
0
1
0
0
D liu
1 0 0
0 1 0
1 1 0
0 0 1
0 0 1
1 1 0
0 0 0
0 0 0
1
1
1 1
1
1 1 1
1 1 1
K t M DDRAM
04h
0Ah
0Eh
11h
11h
0Eh
00h
00h
05h
1
0Eh
1
0Ah
1
1Fh
1
1Fh
10h
1 1 1 1 0Fh
0 0 0 0 00h
y
u
g
04h
05h
n
e
.
o
i
d
u
t
S
EN
BIT
P2.2
RS
BIT
P2.0
RW
BIT
P2.1
LCD_DATA
EQU
P1
;---------------------------------------------------org 0
ljmp main
main:
MOV LCD_DATA,#38h
CALL write_command
h
it
MOV LCD_DATA,#0Ch
CALL write_command
m
S
MOV LCD_DATA,#01h
CALL write_command
;xo mn hnh
MOV LCD_DATA,#40h
call write_command
MOV DPTR,#cgram_data
CALL write
; a ch u ca CGRAM
; l 00h
Trang 127
MOV LCD_DATA,#80h
CALL write_command
MOV DPTR,#Line1
CALL write
.
o
MOV LCD_DATA,#0C0h
CALL write_command
MOV DPTR,#Line2
CALL write
i
d
u
t
S
here:SJMP here
;-------------------------------------------------------write:
CLR A
MOVC A,@A+DPTR
CJNE A,#0FFh,write1
RET
write1:
MOV LCD_DATA,A
call write_data
INC DPTR
SJMP write
;-------------------------------------------------------Delay:
PUSH 07h
PUSH 06h
MOV R6,#50
MOV R7,#255
DJNZ R7,$
DJNZ R6,$-4
POP 06h
POP 07h
RET
;-------------------------------------------------write_command:
CLR RS
CLR RW
CLR EN
NOP
SETB EN
NOP
h
it
y
u
g
n
e
m
S
Trang 128
CLR EN
SJMP wait
;-------------------------------------------------write_data:
SETB RS
CLR RW
CLR EN
NOP
SETB EN
NOP
CLR EN
wait:
call delay
ret
n
e
.
o
i
d
u
t
S
h
it
y
u
g
m
S
PPI8255 l IC giao tip lp trnh c, cho php m rng port trong trng
hp cc port ca 89C51 khng dng. Cc ch hot ng ca 8255 c th tham
kho thm ti Gio trnh Vi x l (cng tc gi). 8255 c tng cng 2 ch : BSR
(Bit Set/Reset) v I/O (Input/Output) trong I/O chia thnh 3 ch khc nhau, tron
ti liu ny ch xt ch 0 (xut/nhp c bn).
8255 c tng cng 3 port, mi port 8 bit trong port C c th chia thnh 4 bit
cao v 4 bit thp to thnh 2 nhm: nhm A (PA + PCH) v nhm B (PB v PCL).
Trang 129
34
33
32
31
30
29
28
27
5
36
9
8
35
6
PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7
D0
D1
D2
D3
D4
D5
D6
D7
RD
WR
A0
A1
RESET
CS
PB0
PB1
PB2
PB3
PB4
PB5
PB6
PB7
8255
PC0
PC1
PC2
PC3
PC4
PC5
PC6
PC7
4
3
2
1
40
39
38
37
.
o
18
19
20
21
22
23
24
25
i
d
u
t
S
RESET: ng vo Reset
14
15
16
17
13
12
11
10
CS : Chip Select
RD : Read
Nhm A
h
it
0: Output
m
S
D6
D5
D4
y
u
g
n
e
D3
D2
D1
D0
Nhm B
PA
PB
1: Input
1: Input
0: Output
Trang 130
D7
D6
D5
D4
Mode BSR
D3
D2
D1
D0
S/R
Chn bit
0: Xo (Reset)
000: PC0
1: t (Set)
Khng s dng
001: PC1
010: PC2
011: PC3
100: PC4
101: PC5
110: PC6
111: PC7
i
d
u
t
S
n
e
y
u
g
A0
Chn
Port A
Port B
Port C
h
it
A1
0
0
m
S
Gii
.
o
Trang 131
WR
RD
30
29
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
ALE/PROG
PSEN
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
XTAL1
XTAL2
EA/VPP
RST
1
2
3
4
5
6
7
8
D0
D1
D2
D3
D4
D5
D6
D7
ALE
11
1
U13
D0
D1
D2
D3
D4
D5
D6
D7
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
74LS373
31
9
U11
1
2
3
A
B
C
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
15
14
13
12
11
10
9
7
h
it
m
S
6
4
5
G1
G2A
G2B
2
5
6
9
12
15
16
19
A0
A1
A2
A3
A4
A5
A6
A7
D0
D1
D2
D3
D4
D5
D6
D7
34
33
32
31
30
29
28
27
A0
A1
9
8
n
e
y
u
LE
OE
19
18
AT89C51
VCC
3
4
7
8
13
14
17
18
RD
WR
35
5
36
6
D0
D1
D2
D3
D4
D5
D6
D7
PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7
A0
A1
PB0
PB1
PB2
PB3
PB4
PB5
PB6
PB7
RESET
RD
WR
CS
PC0
PC1
PC2
PC3
PC4
PC5
PC6
PC7
4
3
2
1
40
39
38
37
18
19
20
21
22
23
24
25
RN6
1
2
3
4
5
6
7
8
16
15
14
13
12
11
10
9
220
R20
10K
VCC
R21
10K
SW1
14
15
16
17
13
12
11
10
SW2
220V
RL1
5
8255
3
D79
VCC
74LS138
Trang 132
D78
4
1
2
LAMP
ALE
10
11
12
13
14
15
16
17
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
U12
D0
D1
D2
D3
D4
D5
D6
D7
39
38
37
36
35
34
33
32
...
D72
1
2
U10
D71
ADDRESS BUS
21
22
23
24
25
26
27
28
i
d
u
t
DATA BUS
.
o
VCC
.
o
i
d
u
t
S
0
0 0 0 1 1 1 0 0Eh
BSR Khng dng
PC7
=0
PC7 = 1
n
e
0
0 0 0 1 1 1 1 0Fh
BSR Khng dng
PC7
=1
y
u
g
Cng tc SW1, SW2 ni vi PC0 v PC1: khi nhn cng tc th chn tng
ng ti PC = 0 v khi khng nhn th = 1. Do , kim tra cng tc c nhn hay
khng th c d liu t PCL v kim tra tng ng cc bit PC0, PC1.
a ch cc port ca 8255:
h
it
CS = 0
(Y6 = 0)
Tu
A1
A0
A15
A14
A13
A12
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
0
0
1
1
0
1
0
1
m
S
Port
a
hex
A
B
C
CR
C000h
C001h
C002h
C003h
MOV DPTR,#0C003h ; a ch CR
MOV A,#81h; PA: xut, PB: xut, PCH: xut, PCL: nhp
MOVX @DPTR,A
; Xut ra CR
Begin:
MOV DPTR,#0C002h ; a ch PC
Trang 133
ch
MOVX A,@DPTR
JNB ACC.0,SW1
JNB ACC.1,SW2
SJMP begin
; c vo
; Nu PC0 = 0 th n SW1
; Nu PC1 = 0 th n SW2
CALL Delay
MOV A,11110000b
MOV DPTR,#0C000h
MOVX @DPTR,A
MOV A,0Eh
MOV DPTR,#0C003h
MOVX @DPTR,A
SJMP begin
.
o
SW1:
SW2:
CALL Delay
MOV A,00001111b
MOV DPTR,#0C000h
MOVX @DPTR,A
n
e
i
d
u
t
S
y
u
g
MOV A,0Fh
; PC7 = 1 ng RL1 sng LAMP
MOV DPTR,#0C003h ; a ch CR (do dng ch BSR)
MOVX @DPTR,A
SJMP begin
;---------------------------Delay:
MOV TMOD,#02h
MOV TH0,#HIGH(-50000)
MOV TL0,#LOW(-50000)
SETB TR0
JNB TF0,$
CLR TF0
CLR TR0
RET
END
h
it
m
S
Trang 134
BI TP CHNG 4
1. Cho s kt ni nh hnh 4.3. Vit chng trnh sng Led theo yu cu:
sng ln lt 1 Led t phi sang tri v thc hin 4 ln; nhp nhy 8 Led 5
ln; sng Led t ngoi vo trong, mi ln 2 Led v thc hin 3 ln (thi
gian tr hon gia 2 ln sng l 300ms, dng timer 1).
i
d
u
t
S
n
e
4. Cho s kt ni nh hnh 4.11. Vit chng trnh cho chui DAI HOC
KY THUAT CONG NGHE TPHCM di chuyn t tri sang phi trn ma
trn Led.
y
u
g
h
it
m
S
.
o
Trang 135