You are on page 1of 41

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

Chng 4: CC

NG DNG DA TRN VI
IU KHIN MCS-51

Chng ny gii thiu v mt s ng dng ca MCS-51 trong thc t: iu


khin Led n, Led 7 on, ma trn Led, LCD, ng c bc, giao tip 8255.

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

Hnh 4.1 S kt ni Led n

Mch iu khin led n m t nh hnh 4.1. Lu rng cc port ca


AT89C51 c dng ti a l 10 mA (xem thm chng 1, phn c tnh DC) nn khi
cn iu khin nhiu Led cn mc thm mch khuch i.

h
it

m
S

N
1

IN

IN

y
u
g

VCC

D2

R1

D1

R2

74LS04

VCC
D4

R3

D3

R4

Q1

Hnh 4.2 S kt ni dng mch khuch i

Phm Hng Kim Khnh

.
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

Hnh 4.3 Kt ni Led n vi AT89C51

D8
LED

D9
LED

D10
LED

D11
LED

D12
LED

Trang 96

Cc ng dng da trn vi iu khin MCS-51

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

Gio trnh vi iu khin

Phm Hng Kim Khnh

u
t

R5

.
o

i
d

VCC

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

V d: Xt s kt ni Led nh hnh 4.3. Vit chng trnh iu khin Led


sng tun t t tri sang phi, mi ln 1 Led.
Gii
Cc Led ni vi Port 0 ca AT89C51 (P0 khi dng nh cc cng nhp / xut
th cn phi c in tr ko ln ngun) nn mun Led sang th phi gi d liu ra P0.
Theo s mch, Led sang khi cc bit tng ng ti P0 l 0.

Ln 1: 1111 1110b (0FEh) sng 1 Led tri

Ln 2: 1111 1101b (0FDh)

Ln 3: 1111 1011b (0FBh)

Ln 4: 1111 0111b (0F7h)

Ln 5: 1110 1111b (0EFh)

Ln 6: 1101 1111b (0DFh)

Ln 7: 1011 1111b (0BFh)

Ln 8: 0111 1111b (7Fh)

Ln 9: quay li ging nh ln 1

y
u
g

n
e

Chng trnh thc hin nh sau:

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

Phm Hng Kim Khnh

.
o

i
d
u
t
S

Yu cu iu khin Led sang t tri sang phi (theo th t ln lt t P0.0 n


P0.7) nn d liu gi ra l:

Trang 97

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

CLR TR0
RET
END

.
o

2. iu khin Led 7 on
2.1.
-

Cu trc v bng m hin th d liu trn Led 7 on

Dng Led:
a
b

f
g

dp

n
e

i
d
u
t
S

Hnh 4.4 Hnh dng ca Led 7 on


-

Led Anode chung:

y
u
g
COM

D2

D3

D4

D5

D6

D7

N
a

h
it

D1

D8
dp

dp

Hnh 4.5 Led 7 on dng anode chung

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

Phm Hng Kim Khnh

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

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

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

Bng 4.2 - Bng m cho Led Anode chung (a l LSB, dp l MSB):


S dp g f e d c b a M hex
0 1 1 0 0 0 0 0 0 0C0h
1 1 1 1 1 1 0 0 1 0F9h
2 1 0 1 0 0 1 0 0 0A4h
3 1 0 1 1 0 0 0 0 0B0h
4 1 0 0 1 1 0 0 1
99h
5 1 0 0 1 0 0 1 0
92h
6 1 0 0 0 0 0 1 0
82h
7 1 1 1 1 1 0 0 0 0F8h
8 1 0 0 0 0 0 0 0
80h
9 1 0 0 1 0 0 0 0
90h
-

Led Cathode chung


a

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

Hnh 4.6 Led 7 on dng cathode chung

i vi dng Led Cathode chung, chn COM phi c mc logic 0 v mun


sng Led th tng ng cc chn a f, dp s mc logic 1.
Bng 4.3 - Bng m cho Led Cathode chung (a l MSB, dp l LSB):

m
S

Phm Hng Kim Khnh

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

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

8
9

1 1 1 1 1 1 1
1 1 1 1 0 1 1

0
0

0FEh
0F6h

.
o

Bng 4.4 - Bng m cho Led Anode chung (a l LSB, dp l MSB):


S dp g f e d c b a M hex
0 0 0 1 1 1 1 1 1
3Fh
1 0 0 0 0 0 1 1 0
06h
2 0 1 0 1 1 0 1 1
5Bh
3 0 1 0 0 1 1 1 1
4Fh
4 0 1 1 0 0 1 1 0
66h
5 0 1 1 0 1 1 0 1
6Dh
6 0 1 1 1 1 1 0 1
7Dh
7 0 0 0 0 0 1 1 1
07h
8 0 1 1 1 1 1 1 1
7Fh
9 0 1 1 0 1 1 1 1
6Fh

2.2.

y
u
g

n
e

i
d
u
t
S

Cc phng php hin th d liu

2.2.1. Phng php qut

Khi kt ni chung cc ng d liu ca Led 7 on, cc Led khng th sng


ng thi (do nh hng ln nhau gia cc Led) m phi thc hin qut Led, ngha l
ti mi thi im ch sng mt Led v tt cc Led cn li. Do hin tng lu nh ca
mt, ta s thy cc Led sng ng thi.

V d 1: Xt s kt ni nh hnh 4.7. Vit chng trnh hin th s 0 ra Led1


v s 1 ra Led2.

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

Theo s kt ni, chn g ca Led ni vi P0.6, chn a ni vi P0.0 nn bng


m Led l bng 4.2, d liu cho s 0 v 1 ln lt l 0C0h v 0F9h.
Phng php s dng l phng php qut nn cn phi c thi gian tr hon
gia 2 ln qut, thi gian ny c thc hin thng qua timer (thi gian tr hon
khong 200 s).

Phm Hng Kim Khnh

Trang 100

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

Chng trnh thc hin nh sau:


MOV P1,#0
; Xo P1 tt Led
Main:
MOV P0,#0C0h ; M s 0
SETB P1.0
; Sng Led1
CALL Delay
; Thi gian tr hon thy Led sng
CLR P1.0
; Tt Led1
MOV P0,#0F9h ; M s 1
SETB P1.1
; Sng Led2
CALL Delay
CLR P1.1
; Tt Led2
SJMP main
;-------------------Delay:
MOV TMOD,#01h
MOV TH0,#(-200)
MOV TL0,#(-200)
SETB TR0
JNB TF0,$
CLR TF0
CLR TR0
RET
END

y
u
g

n
e

i
d
u
t
S

V d 2: Vit li chng trnh trn nhng s dng ngt ca timer.


Gii

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

Chng trnh thc hin nh sau:


Led1 EQU 30h
Led2 EQU 31h
Led_Pos EQU 32h
ORG 0000h
LJMP main
ORG 000Bh
LJMP Timer0_ISR

Phm Hng Kim Khnh

.
o

; a ch cha d liu ca Led1


; a ch cha d liu ca Led2
; V tr Led hin hnh

; a ch ISR ca timer 0

Trang 101

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

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

V d 2 c th m rng thm cho 8 Led trong cc bit iu khin t P1.0 n


P1.7 bng cch khai bo thm cc nh cho cc Led nh sau:

m
S

Led1 EQU 30h


Led2 EQU 31h
Led3 EQU 32h
Led4 EQU 33h
Led5 EQU 34h
Led6 EQU 35h
Led7 EQU 36h
Led8 EQU 37h
Led_Pos EQU 38h

Phm Hng Kim Khnh

.
o

; a ch cha d liu ca Led1


; a ch cha d liu ca Led2

; V tr Led hin hnh

Trang 102

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

V d 3: Vit chng trnh hin th ni dung trong nh 30h ra 2 Led trong


Led1 cha s hng chc v Led2 cha s hng n v (gi s gi tr trong nh 30h
ti a l 99).

.
o

Gii
xut ni dung trong nh 30h ra Led 7 on cn thc hin:
-

i
d
u
t
S

Chuyn ni dung trong nh 30h thnh s hng chc v hng n v (thc


hin chia cho 10).
Chuyn gi tr s thnh m Led 7 on (bng cch tra bng).

Chng trnh thc hin nh sau:

Led1 EQU 30h


; a ch cha d liu ca Led1
Led2 EQU 31h
; a ch cha d liu ca Led2
Led_Pos EQU 32h
; V tr Led hin hnh
ORG 0000h
LJMP main
ORG 000Bh
; a ch ISR ca timer 0
LJMP Timer0_ISR
Main:
SETB EA
; Cho php ngt ti timer 0
SETB ET0
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
Begin:
MOV A,30h
CALL Chuyenma
SJMP Begin
;---------------------Chuyenma:
MOV B,#10
; Chia cho 10: A cha s hng chc,
DIV AB
; B cha s hng n v
CALL BCDtoLed7
; Chuyn sang m Led 7 on
MOV Led1,A
; a vo nh 31h (Led1)
MOV A,B
; Chuyn sang m Led 7 on ca
CALL BCDtoLed7; s hng n v
MOV Led2,A

h
it

y
u
g

n
e

m
S

Phm Hng Kim Khnh

Trang 103

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

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

2.2.2. Phng php cht

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

V d: Xt s mch kt ni nh hnh 4.8. Vit chng trnh xut s 2 ra


Led3 v s 3 ra Led4.

m
S

Gii

Do Led3 ni vi 74LS374 (U5) iu khin bng chn P1.0 nn hin th trn


Led3, cn phi:
-

Xut d liu ra P0.


Kch xung ti chn P1.0 cht d liu

Phm Hng Kim Khnh

.
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

Hnh 4.7 Kt ni Led 7 on dng phng php qut

Q3
C828
10K

Cc ng dng da trn vi iu khin MCS-51

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

Gio trnh vi iu khin

Phm Hng Kim Khnh

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

Hnh 4.8 Kt ni Led 7 on dng phng php cht

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

Cc ng dng da trn vi iu khin MCS-51

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

Gio trnh vi iu khin

Phm Hng Kim Khnh

u
t

R9
10k

.
o

i
d

+5V

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

Chng trnh thc hin nh sau:


MOV P0,#0B0h
CLR P1.0
SETB P1.0
MOV P0,#99h
CLR P1.1
SETB P1.1
END

.
o

3. iu khin ma trn Led

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

Hnh 4.9 Hnh dng ma trn Led

h
it

Kt ni ca ma trn Led c 2 cch: anode ni vi hng, cathode ni vi ct hay


ngc li. S kt ni m t nh hnh 4.10. Theo cu trc kt ni nh hnh v, 2
Led trn 2 ct khng th sng ng thi. Xt s kt ni nh mch hnh b, mt Led
sng khi tng ng hng ca Led = 0 v ct = 1.
Gi s ta cn sng Led ng thi ti hng 1, ct 1 v hng 2, ct 2. Nh vy, ta
phi c hng 1 = 0, ct 1 = 1 (sng Led ti hng 1, ct 1) v hng 2 = 0, ct 2 = 1
(sng Led ti hng 2, ct 2). T , do hng 1 = 0, ct 2 = 1 v hng 2 = 0, ct 2 = 1
nn ta cng c cc Led ti hng 1, ct 2 v hng 2, ct 1 cng sng. Ngha l, khi ta
cho 2 Led ti hng 1, ct 1 v hng 2, ct 2 sng ng thi th s dn n cc Led ti
hng 1, ct 2 v hng 2, ct 1 cng sng.

m
S

Do , thc hin sng mt k t trn ma trn Led, ta phi dng c ch qut,


ti mi thi im ch sng 1 ct, cc ct cn li tt i nhng nu cho thi gian qut
nhanh th ta vn thy ging nh cc ct sng ng thi.

Phm Hng Kim Khnh

Trang 107

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

.
o

h
it

m
S

Hnh a

Phm Hng Kim Khnh

y
u
g

n
e

i
d
u
t
S

Hnh b

Hnh 4.10 S kt ni ma trn Led

Trang 108

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

D liu cho s 0:
X X X
X

X
X X X

.
o

i
d
u
t
S

sng s 0 trn ma trn Led, ta thc hin qu trnh qut nh sau:

n
e

Ln 1: Hng = 0100 0001b, ct = 0001 0000b


Ln 2: Hng = 0011 1110b, ct = 0000 1000b
Ln 3: Hng = 0011 1110b, ct = 0000 0100b
Ln 4: Hng = 0011 1110b, ct = 0000 0010b
Ln 5: Hng = 0100 0001b, ct = 0000 0001b

y
u
g

V d: Xt s kt ni ma trn Led nh hnh 4.11. Vit chng trnh sng s


0 trn ma trn Led.
Gii

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

Phm Hng Kim Khnh

; Xut ct

;
;
;
;

Xut hng
To thi gian tr hon thy
Chuyn sang ct k
Nu qut 5 ct th lp li
Trang 109

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

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

Phm Hng Kim Khnh

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

Cc ng dng da trn vi iu khin MCS-51

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

Gio trnh vi iu khin

Hnh 4.11 S kt ni ma trn Led vi AT89C51

Phm Hng Kim Khnh

i
d

VCC

R10

.
o

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

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

ng c bc l ng c cho php dch chuyn mi ln mt bc hay na


bc tu theo xung iu khin. Gc quay ca mi bc tu theo loi ng c, thng
l 1.80/bc hay 7.20/bc.
ng c bc gm 4 cun dy: 1-2, 2-3, 4-5 v 5-6 nh s sau:
MG1

1
2
3

m
S

STEPPER MOTOR

Hnh 4.12 ng c bc

Phm Hng Kim Khnh

.
o

Trang 112

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

Mch iu khin ng c nh sau:


VCC

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

Hnh 4.13 S iu khin ng c bc


Xung iu khin ng c nh sau:

Bng 4.5 - iu khin mt bc


Ngc
1
2
3
4
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0

h
it

m
S
1

1
1
1
0
0

.
o

MG1

Q1

1
0
0
0
1

Bng 4.6 - iu khin na bc


Ngc
2
3
4
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
1
0
0

Phm Hng Kim Khnh

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

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

.
o

i
d
u
t
S

V d: Xt s kt ni ng c nh hnh 4.14. Vit chng trnh iu khin


ng c quay thun mi ln mt bc vi tc 50 vng/pht (gi s ng c c gc
quay l 7.20/bc).
VCC

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

Hnh 4.14 S kt ni AT89C51 vi ng c bc

Gii

Gc quay 7.20/bc 1 vng quay cn 3600/7.20 = 50 bc 50 vng quay


cn thc hin 2500 bc.

m
S

Tc 50 vng / pht 1 pht (60s) thc hin 2500 bc mi bc cn


60/2500 = 0.024s = 24,,000 s.
Th t kch xung nh bng 4.5. Chng trnh thc hin nh sau:

main:
MOV R0,#0
MOV DPTR,#thuan1buoc
Phm Hng Kim Khnh

Trang 114

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

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

5. iu khin LCD (Liquid Crystal Display)

A
K
15
16

VCC

GND

EN

R/W

RS

CONST
3

D0
D1
D2
D3
D4
D5
D6
D7

m
S

THIS IS THE LCD


2 LINES x 16 CHARACTERS

7
8
9
10
11
12
13
14

h
it

LCD

LAMP

S ca LCD1602A:
1602

Hnh 4.15 LCD 1602A

CONST (contrast): chnh tng phn ( sng ca hnh nh trn LCD).

EN (Enable): cho php c/ghi d liu. Trong ch c, EN tc ng bng


xung dng (cnh ln) v trong ch ghi, EN tc ng bng xung m (cnh
xung).

Phm Hng Kim Khnh

.
o

Trang 115

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

RS (register selection): chn thanh ghi lnh (RS = 0) hoc thanh ghi d liu
(RS = 1)

R/W: c (R/W = 1) hay ghi (R/W = 0)

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.

D3 D0: 4 bit thp trong ch 8 bit hay b trng trong ch 4 bit.

A, K: anode v cathode n nn ca LCD.


Cc thnh phn chc nng ca LCD1602A:

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.

DDRAM (Display Data RAM): cha cc k t s hin th trn LCD, ti a


l 80x8 bit (80 k t). Khi hin th ch 1 dng, a ch ca DDRAM c
phm vi t 00h 4Fh cn khi ch 2 dng, a ch DDRAM t 00h
27h cho dng 1 v 40h 67h cho dng 2.

B m a ch (AC - Address Counter): dng lu a ch hin hnh ca


DDRAM v CGRAM, c th thc hin c AC khi RS = 0 v R/W = 1.

CGROM (Character Genaration ROM): cha cc m hnh k t s hin


th trn LCD, bao gm 192 k t 5x7 theo bng m ASCII (ngha l khi
DDRAM cha gi tr 41h tng ng vi m ASCII ca k t A th trn
LCD s hin A), trong ch c cc m t 00h 0Fh s khng ly theo m
ASCII m ly theo cc k t nh ngha trong CGRAM.

CGRAM (Character Genaration RAM): cha cc m hnh k t do ngi


s dng nh ngha hin th cc k t khng c sn trong CGROM.
CGRAM cho php to ti a 8 k t 5x8 (xem bng 4.7).

h
it

y
u
g

n
e

Bng 4.7 Cc k t nh ngha trong CGRAM


DDRAM a ch CGRAM D liu CGRAM K t
00h hay 08h 000 000
xxx ?????
1
000 001
xxx ?????
000 010
xxx ?????
000 011
xxx ?????
000 100
xxx ?????
000 101
xxx ?????
000 110
xxx ?????
000 111
xxx ?????

m
S

Phm Hng Kim Khnh

.
o

Trang 116

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

01h hay 09h

02h hay 0Ah

03h hay 0Bh

04h hay 0Ch

h
it

m
S

05h hay 0Dh

Phm Hng Kim Khnh

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

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

06h hay 0Eh 110 000


xxx ?????
7
110 001
xxx ?????
110 010
xxx ?????
110 011
xxx ?????
110 100
xxx ?????
110 101
xxx ?????
110 110
xxx ?????
110 111
xxx ?????
07h hay 0Fh 111 000
xxx ?????
8
111 001
xxx ?????
111 010
xxx ?????
111 011
xxx ?????
111 100
xxx ?????
111 101
xxx ?????
111 110
xxx ?????
111 111
xxx ?????
nh ngha mt k t, thc hin thay th du ? bng cc gi tr 0 hay 1
tng ng v gi vo CGRAM.

y
u
g

n
e

i
d
u
t
S

V d: nh ngha ch ti v tr 1 trong CGRAM, a ch v d liu tng


ng l:
a ch

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

Ngha l ti a ch 00h ca CGRAM cha gi tr l 1Eh v tng t cho n


a ch 07h.
Cc ch truyn d liu:

LCD1602A c 2 ch truyn d liu: ch 8 bit (dng c D0 D7) v ch


4 bit (khng dng D3 D0, ch dng D7 D4). Trong trng hp dng ch 4
bit, d liu 8 bit s c truyn 2 ln: truyn 4 bit cao ri tip tc truyn 4 bit thp.

Phm Hng Kim Khnh

.
o

Trang 118

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

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

Hnh 4.16 nh thi giao tip ch 8 bit

h
it

m
S

Hnh 4.17 nh thi giao tip ch 4 bit


Phm Hng Kim Khnh

Trang 119

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

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

Phm Hng Kim Khnh

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

Gio trnh Vi iu khin

nh a
ch
CGRAM
nh a
ch
DDRAM

Cc ng dng da trn vi iu khin MCS-51

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

Cc gi tr thng dng m t nh sau:

01H
02H
04H
06H
05H
07H
08H
0AH
0CH
0EH
0FH
10H
14H
18H

Bng 4.9 Cc lnh thng dng


Lnh
M t
Xa mn hnh mn hnh
Tr v u chui
Dch con tr sang tri
Dch con tr sang phi
Dch mn hnh sang phi
Dch mn hnh sang tri
Tt con tr, tt hin th
Tt hin th, bt con tr
Bt hin th, tt con tr
Bt hin th, nhp nhy con tr
Tt hin th, nhp nhy con tr
Dch v tr con tr sang tri
Dch v tr con tr sang phi
Dch ton b mn hnh sang tri

h
it

m
S

Phm Hng Kim Khnh

.
o

39s

Trang 121

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

1CH
80H
C0H
38H

Dch ton b mn hnh sang phi


a con tr v u dng 1
a con tr v u dng 2
Xc lp ch 2 dng v phn gii ch 5x7

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

THIS IS THE LCD


2 LINES x 16 CHARACTERS

15
16

1602

VCC

1
2
3
4
5
6
7
8

19
18
31
9

AT89C51

Hnh 4.18 Kt ni LCD v 89C51

Gii

8 bit d liu ca LCD ni vi P1 ch 8 bit. Yu cu hin trn 2 dng


ch 2 dng.
Chng trnh thc hin nh sau:

EN
RS

BIT
BIT

Phm Hng Kim Khnh

.
o

i
d
u
t
S

V d 1: Cho s kt ni LCD 1602A vi AT89C51 nh hnh v. Vit


chng trnh hin th chui KHOA DIEN DIEN TU trn dng 1 v BO MON
DIEN TU VIEN THONG trn dng 2.

P2.2
P2.0

Trang 122

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

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

MOV LCD_DATA,#0C0h ; Chuyn v a ch 40h (dng 2)


CALL write_command
MOV DPTR,#Line2
CALL write
; Ghi vao DDRAM

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

Phm Hng Kim Khnh

Trang 123

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

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

V d 2: Yu cu ging nh v d 1 nhng c mi 1s th dch chui sang tri


mt k t.
Gii

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:

Phm Hng Kim Khnh

.
o

Trang 124

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

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

V d ny yu cu cc k t khng c trong bng m nn phi nh ngha thm


trong CGRAM. Cc k t cn nh ngha l: , , , , , , tng cng l 6 k t (c
th thc hin c do LCD 1602A cho php nh ngha ti a 8 k t).

m
S

Phm Hng Kim Khnh

.
o

Trang 125

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

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

Phm Hng Kim Khnh

Trang 126

Gio trnh Vi iu khin

a ch
20h
21h
22h
23h
24h
25h
26h
27h
28h
29h
2Ah
2Bh
2Ch
2Dh
2Eh
2Fh

Cc ng dng da trn vi iu khin MCS-51

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

Chng trnh thc hin nh sau:

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

Phm Hng Kim Khnh

Trang 127

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

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

Phm Hng Kim Khnh

Trang 128

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

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

;------------------------------------------------Line1: DB 'Khoa ',00h,'i',01h,'n - ',00h,'i',01h,'n


t',02h,0FFh ; Chui Khoa in in t
Line2: DB 'B',03h,' m',04h,'n ',00h,'i',01h,'n t',02h,' vi',05h,'n th',04h,'ng', 0FFH ; Chui B mn in t Vin thng
;------------------------------------------------cgram_data:
DB 1Eh,09h,09h,1Dh,09h,09h,1Eh,00h ; Ch
DB 04h,0Eh,11h,1Eh,10h,0Fh,04h,00h ; Ch
DB 08h,05h,09h,12h,12h,12h,0Ch,00h ; Ch
DB 04h,0Ah,0Eh,11h,11h,0Eh,04h,00h ; Ch
DB 04h,0Ah,0Eh,11h,11h,0Eh,00h,00h ; Ch
DB 05h,0Eh,0Ah,1Fh,1Fh,10h,0Fh,00h ; Ch
DB 0FFh
END

h
it

y
u
g

6. Giao tip vi PPI8255

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).

Phm Hng Kim Khnh

Trang 129

Gio trnh Vi iu khin

34
33
32
31
30
29
28
27
5
36
9
8
35
6

Cc ng dng da trn vi iu khin MCS-51

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

D7 D0: bus d liu

4
3
2
1
40
39
38
37

PA7 PA0: Port A


PB7 PB0: Port B

.
o

PC7 PC0: Port C

18
19
20
21
22
23
24
25

i
d
u
t
S

A1, A0: gii m

RESET: ng vo Reset

14
15
16
17
13
12
11
10

CS : Chip Select

RD : Read

Hnh 4.19 S chn ca 8255

iu khin 8255, bn trong c mt thanh ghi iu khin (CR Control


Register) cho php chn ch hot ng. Ni dung ca CR nh sau:
1

Nhm A

PCH (PC7 PC4)


1: Input

h
it

0: Output

m
S

D6

D5

D4

y
u
g

n
e
D3

D2

D1

D0

Nhm B

PCL (PC3 PC0)


1: Input
0: Output

PA

PB

1: Input

1: Input

0: Output

Hnh 4.20 Dng t iu khin cho 8255A ch I/O

Phm Hng Kim Khnh

Trang 130

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

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

Hnh 4.21 - Dng t iu khin cho 8255A ch BSR

n
e

Lu rng khi cn Set/Reset bit th phi gi d liu ra CR ch khng gi ra


PC.

y
u
g

Nh vy, xc lp iu khin lm vic cho 8255, cn thc hin nh cu hnh


cho 8255 (chn cc ch hot ng cho PA, PB v PC). thc hin qu trnh ny,
cn tc ng n CR ca 8255. Logic chn cc port cho 8255 m t nh sau:
Bng 4.10 Logic chn cc port ca 8255
CS

A0

Chn

Port A

Port B

Port C

Thanh ghi iu khin

8255A khng hot ng

h
it

A1

0
0

m
S

V d: Cho mch kt ni gia AT89C51 v 8255 nh hnh 4.22. Vit chng


trnh iu khin theo yu cu:
-

Nhn SW1: sng 4 Led tri v sng Lamp.

Nhn SW2: sng 4 Led phi v tt Lamp.

Gii

Phm Hng Kim Khnh

.
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

Hnh 4.22 S kt ni 89C51 vi 8255

D78

4
1
2

LAMP

Cc ng dng da trn vi iu khin MCS-51

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

Gio trnh vi iu khin

Phm Hng Kim Khnh

ADDRESS BUS
21
22
23
24
25
26
27
28

i
d

u
t

DATA BUS

.
o
VCC

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

Do PA iu khin Led, PCL iu khin cng tc nhn, PCH iu khin RL1


nn PA xut, PCL nhp v PCH xut (cn PB tu ). Ni dung thanh ghi iu khin
nh sau:
1
0
0
0
0
0
0
1
81h
I/O Ch 0 PA xut PCH xut Ch 0 PB xut PCL nhp

.
o

i
d
u
t
S

Led n ni vi cc bit ca PA ti cathode v anode ni vi Vcc nn Led


sng th d liu ti PA l 0 v Led tt khi d liu l 1.

n LAMP c iu khin bng RL1: khi RL1 ng (ng vi PC7 = 0) th


LAMP sng v ngc li, khi RL1 ngt (ng vi PC7 = 1) th LAMP tt. Ni dung
thanh ghi iu khin khi iu khin PC7 nh sau:
PC7 = 0

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

Chng trnh thc hin nh sau:

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

Phm Hng Kim Khnh

Trang 133

ch

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

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

; Trnh rung phm


; Sng 4 Led tri
; a ch PA (do PA ni vi Led)

MOV A,0Eh
MOV DPTR,#0C003h
MOVX @DPTR,A
SJMP begin

; PC7 = 0 ng RL1 sng LAMP


; a ch CR (do dng ch BSR)

.
o

SW1:

SW2:
CALL Delay
MOV A,00001111b
MOV DPTR,#0C000h
MOVX @DPTR,A

n
e

i
d
u
t
S

; Sng 4 Led phi


; a ch PA (do PA ni vi Led)

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

Phm Hng Kim Khnh

Trang 134

Gio trnh Vi iu khin

Cc ng dng da trn vi iu khin MCS-51

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

2. Cho s kt ni nh hnh 4.7. Vit chng trnh tng ni dung ca nh


30h t 00 99 v hin th gi tr trn 2 Led 7 on (hin th Led bng ngt
timer 1 v thi gian tr hon khi tng ni dung ca nh 30h l 1s dng
ngt timer 0).
3. Cho s kt ni nh hnh 4.7 trong kt ni thm 4 Led (Led2 6) c
iu khin bng cc bit ca P1: P1.2 P1.5. Vit chng trnh hin th gi,
pht giy trn 6 Led (Led1,2: gi; Led3,4: pht; Led5,6: giy) trong gi
cha trong nh 30h, pht trong nh 31h, giy trong nh 32h (thi gian
tr hon 1s dng ngt timer 0, qut Led dng ngt timer 1).

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

5. Cho s kt ni nh hnh 4.14. Vit chng trnh iu khin ng c


quay thun 100 vng vi tc 10 vng/pht (gi s mi bc c gc quay
l 7.20).

6. Cho s kt ni nh hnh 4.18. Vit chng trnh cho chui i hc K


thut Cng ngh trn dng 1 v Khoa in in t trn dng 2 di
chuyn t tri sang phi (thi gian dch chuyn l 300ms dng ngt timer
1).

h
it

m
S

Phm Hng Kim Khnh

.
o

Trang 135

You might also like