Professional Documents
Culture Documents
Các Ứng Dụng Dựa Trên Vi Điều Khiển Mcs-51
Các Ứng Dụng Dựa Trên Vi Điều Khiển Mcs-51
Chng 4: CC
NG DNG DA TRN VI
IU KHIN MCS-51
1. iu khin Led n
VCC
D1
D1
R1
LED
RESISTOR
IN
R1
IN
RESISTOR
LED
Hnh a
Hnh b
IN
D2
R1
D1
R2
2
74LS04
VCC
IN
D4
R3
D3
R4
Q1
Trang 95
1
R5
D6
LED
D7
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
EA/VPP
RST
D9
LED
D10
LED
D11
LED
D12
LED
RN1
39
38
37
36
35
34
33
32
1
2
3
4
5
6
7
8
16
15
14
13
12
11
10
9
1
2
3
4
5
6
7
8
19
18
31
9
AT89C51
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
D8
LED
VCC
Ln 9: quay li ging nh ln 1
Trang 97
CLR TR0
RET
END
2. iu khin Led 7 on
2.1.
-
Dng Led:
a
b
f
g
dp
D2
D3
D4
D5
D6
D7
D8
dp
dp
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
dp
D1
D2
D3
D4
D5
D6
D7
D8
dp
COM
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
2.2.
Trang 100
; 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
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:
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
Trang 102
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
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.
V d: Xt s mch kt ni nh hnh 4.8. Vit chng trnh xut s 2 ra
Led3 v s 3 ra Led4.
Gii
Do Led3 ni vi 74LS374 (U5) iu khin bng chn P1.0 nn hin th trn
Led3, cn phi:
-
Trang 104
Gio trnh vi iu khin
+5V
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
EA/VPP
RST
C2
a
b
c
d
e
f
g
p
C1
C2
C1
7
6
4
2
1
9
10
5
RN2
39
38
37
36
35
34
33
32
1
2
3
4
5
6
7
8
19
18
1
2
3
4
5
6
7
14
13
12
11
10
9
8
220
a
b
c
d
e
f
g
+5V
R7
R8
Q2
C828
10K
31
9
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
a
b
c
d
e
f
g
9
8
7
6
5
4
3
2
U3
21
22
23
24
25
26
27
28
a
b
c
d
e
f
g
p
R6
10k
7
6
4
2
1
9
10
5
a
b
c
d
e
f
g
LED2
LED1
Gio trnh vi iu khin
+5V
9
8
7
6
5
4
3
2
R9
10k
XTAL1
XTAL2
EA/VPP
RST
AT89C51
19
18
31
9
1
2
3
4
5
6
7
11
1
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
14
13
12
11
10
9
8
C2
2
5
6
9
12
15
16
19
C1
11
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
1
2
3
4
5
6
7
8
D0
D1
D2
D3
D4
D5
D6
D7
3
4
7
8
13
14
17
18
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
ALE/PROG
PSEN
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
39
38
37
36
35
34
33
32
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
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
LED3
RN3
C1
21
22
23
24
25
26
27
28
U5
U4
Trang 107
Hnh a
Hnh b
Trang 108
D liu cho s 0:
X X X
X
X
X X X
; 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
V d 2: Vit chng trnh cho chui KTCN di chuyn t tri sang phi trn
ma trn Led.
Gii
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
MOV A,R0
ADD A,R2
MOV DPTR,#hang
MOVC A,@A+DPTR
MOV P0,A
Trang 110
Gio trnh vi iu khin
1
9
8
7
6
5
4
3
2
R10
U7
21
22
23
24
25
26
27
28
10
11
12
13
14
15
16
17
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
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
RN5
39
38
37
36
35
34
33
32
1
2
3
4
5
6
7
8
19
18
31
9
1
2
3
4
5
6
7
8
16
15
14
13
12
11
10
9
VCC
R15
Q8
R16
Q9
R17
Q10
R18
Q11
R19
Q12
AT89C51
Trang 111
VCC
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
4. iu khin ng c bc
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
STEPPER MOTOR
Hnh 4.12 ng c bc
Trang 112
R1
D1
MG1
Q1
R3
R4
Q2
D2
Q3
D3
Q4
D4
R2
1
2
3
MOTOR STEPPER
1
1
1
1
0
0
Thun
1
1
0
0
0
1
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
R11
D13
MG1
Q4
1
2
3
4
5
6
7
8
19
18
31
9
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
XTAL1
XTAL2
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
ALE/PROG
PSEN
21
22
23
24
25
26
27
28
10
11
12
13
14
15
16
17
30
29
R12
Q5
D14
Q6
D15
Q7
D16
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
39
38
37
36
35
34
33
32
1
2
3
U8
MOTOR STEPPER
R13
R14
EA/VPP
RST
AT89C51
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
thuan1buoc: DB 08h,04h,02h,01h
END
A
K
VCC
GND
EN
R/W
RS
CONST
3
7
8
9
10
11
12
13
14
D0
D1
D2
D3
D4
D5
D6
D7
LAMP
LCD
15
16
1602
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.
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.
Trang 116
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 ?????
Trang 117
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
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.
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
I/D
iu
khin
hin th
Dch con
tr hay
mn hnh
S/C
R/L
Chc
nng
DL
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
Thi
gian thc
thi (fOSC
= 270
KHz)
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
I/D: Increment/Decrement
R/L: Right/Left
F: Font type
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
39s
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
Trang 121
1CH
80H
C0H
38H
A
K
15
16
GND
VCC
2
EN
R/W
RS
CONST
3
7
8
9
10
11
12
13
14
D0
D1
D2
D3
D4
D5
D6
D7
LAMP
1602
VCC
U9
21
22
23
24
25
26
27
28
10
11
12
13
14
15
16
17
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
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
39
38
37
36
35
34
33
32
1
2
3
4
5
6
7
8
19
18
31
9
AT89C51
BIT
BIT
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
MOV LCD_DATA,#80h
; Chuyn v a ch 00h (dng 1)
CALL write_command
MOV DPTR,#Line1
CALL write
; Ghi vao DDRAM
MOV LCD_DATA,#0C0h ; Chuyn v a ch 40h (dng 2)
CALL write_command
MOV DPTR,#Line2
CALL write
; Ghi vao DDRAM
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
Phm Hng Kim Khnh
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
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:
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
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.
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).
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
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
00h
01h
02h
03h
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
04h
05h
;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
MOV LCD_DATA,#0C0h
CALL write_command
MOV DPTR,#Line2
CALL write
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
Phm Hng Kim Khnh
Trang 128
CLR EN
SJMP wait
;-------------------------------------------------write_data:
SETB RS
CLR RW
CLR EN
NOP
SETB EN
NOP
CLR EN
wait:
call delay
ret
;------------------------------------------------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
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
8255
PB0
PB1
PB2
PB3
PB4
PB5
PB6
PB7
PC0
PC1
PC2
PC3
PC4
PC5
PC6
PC7
4
3
2
1
40
39
38
37
18
19
20
21
22
23
24
25
14
15
16
17
13
12
11
10
CS : Chip Select
RD : Read
D6
D5
D4
D3
D2
D1
D0
Nhm A
Nhm B
1: Input
1: Input
0: Output
0: Output
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
A1
A0
Chn
Port A
Port B
Port C
Gii
Trang 131
DATA BUS
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
ALE
3
4
7
8
13
14
17
18
11
1
D0
D1
D2
D3
D4
D5
D6
D7
U13
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
2
5
6
9
12
15
16
19
A0
A1
A2
A3
A4
A5
A6
A7
LE
OE
74LS373
RD
WR
D0
D1
D2
D3
D4
D5
D6
D7
34
33
32
31
30
29
28
27
A0
A1
9
8
35
5
36
6
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
31
9
U11
1
2
3
6
4
5
A
B
C
G1
G2A
G2B
RN6
D0
D1
D2
D3
D4
D5
D6
D7
19
18
AT89C51
VCC
D0
D1
D2
D3
D4
D5
D6
D7
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
15
14
13
12
11
10
9
7
4
3
2
1
40
39
38
37
18
19
20
21
22
23
24
25
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
21
22
23
24
25
26
27
28
WR
RD
D71
ADDRESS BUS
VCC
CS = 0
(Y6 = 0)
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
Port
a
hex
A
B
C
CR
C000h
C001h
C002h
C003h
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
SW1:
SW2:
CALL Delay
MOV A,00001111b
MOV DPTR,#0C000h
MOVX @DPTR,A
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
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).
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).
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.
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).
Trang 135