Professional Documents
Culture Documents
BI 1: CU TRC VI IU KHIN
1.1
GII THIU
1.1.1. S lc v vi x l:
Trong nhng thp nin cui th k XX, t s ra i ca cng ngh bn dn, k thut in t
c s pht trin vt bc. Cc thit b in t sau c tch hp vi mt cao v rt cao trong
cc din tch nh, nh vy cc thit b in t nh hn v nhiu chc nng hn. Cc thit b in t
ngy cng nhiu chc nng trong khi gi thnh ngy cng r hn, chnh v vy in t c mt khp
mi ni.
Bc t ph mi trong cng ngh in t, cng ty tr tui Intel cho ra i b vi x l u
tin. t ph ch: " l mt kt cu logic m c th thay i chc nng ca n bng chng
trnh ngoi ch khng pht trin theo hng to mt cu trc phn cng ch thc hin theo mt s
chc nng nht nh nh trc y" (trch t dng 17 n 19, trang 3, 'K thut VI X L v lp
trnh ASSEMBLY cho h vi x l', tc gi Xun Tin, nh xut bn Khoa hc v k thut). Tc
l phn cng ch ng vai tr th yu, phn mm (chng trnh) ng vai tr ch o i vi cc
chc nng cn thc hin. Nh vy vi x l c s mm do ha trong cc chc nng ca mnh. Ngy
nay vi x l c tc tnh ton rt cao v kh nng x l rt ln.
Vi x l c cc khi chc nng cn thit ly d liu, x l d liu v xut d liu ra
ngoi sau khi x l. V chc nng chnh ca Vi x l chnh l x l d liu, chng hn nh
cng, tr, nhn, chia, so snh.v.v..... Vi x l khng c kh nng giao tip trc tip vi cc thit b
ngoi vi, n ch c kh nng nhn v x l d liu m thi.
vi x l hot ng cn c chng trnh km theo, cc chng trnh ny iu khin cc
mch logic v t vi x l x l cc d liu cn thit theo yu cu. Chng trnh l tp hp cc
lnh x l d liu thc hin tng lnh c lu tr trong b nh, cng vic thc hnh lnh bao
gm: nhn lnh t b nh, gii m lnh v thc hin lnh sau khi gii m. thc hin cc cng
vic vi cc thit b cui cng, chng hn iu khin ng c, hin th k t trn mn hnh .... i
hi phi kt hp vi x l vi cc mch in giao tip vi bn ngoi c gi l cc thit b I/O
(nhp/xut) hay cn gi l cc thit b ngoi vi. Bn thn cc vi x l khi ng mt mnh khng c
nhiu hiu qu s dng, nhng khi l mt phn ca mt my tnh, th hiu qu ng dng ca Vi x
l l rt ln. Vi x l kt hp vi cc thit b khc c s trong cc h thng ln, phc tp i hi
phi x l mt lng ln cc php tnh phc tp, c tc nhanh. Chng hn nh cc h thng sn
xut t ng trong cng nghip, cc tng i in thoi, hoc cc robot c kh nng hot ng
phc tp v.v...
1.1.2. T Vi x l n Vi iu khin
B Vi x l c kh nng vt bc so vi cc h thng khc v kh nng tnh ton, x l, v
thay i chng trnh linh hot theo mc ch ngi dng, c bit hiu qu i vi cc bi ton v
h thng ln. Tuy nhin i vi cc ng dng nh, tm tnh ton khng i hi kh nng tnh ton
ln th vic ng dng vi x l cn cn nhc. Bi v h thng d ln hay nh, nu dng vi x l th
cng i hi cc khi mch in giao tip phc tp nh nhau. Cc khi ny bao gm b nh cha
d liu v chng trnh thc hin, cc mch in giao tip ngoi vi xut nhp v iu khin tr
li, cc khi ny cng lin kt vi vi x l th mi thc hin c cng vic. kt ni cc khi ny
1
i hi ngi thit k phi hiu bit tinh tng v cc thnh phn vi x l, b nh, cc thit b ngoi
vi. H thng c to ra kh phc tp, chim nhiu khng gian, mch in phc tp v vn chnh l
trnh ngi thit k. Kt qu l gi thnh sn phm cui cng rt cao, khng ph hp p dng
cho cc h thng nh.
V mt s nhc im trn nn cc nh ch to tch hp mt t b nh v mt s mch giao
tip ngoi vi cng vi vi x l vo mt IC duy nht c gi l Microcontroller-Vi iu khin. Vi
iu khin c kh nng tng t nh kh nng ca vi x l, nhng cu trc phn cng dnh cho
ngi dng n gin hn nhiu. Vi iu khin ra i mang li s tin li i vi ngi dng, h
khng cn nm vng mt khi lng kin thc qu ln nh ngi dng vi x l, kt cu mch in
dnh cho ngi dng cng tr nn n gin hn nhiu v c kh nng giao tip trc tip vi cc
thit b bn ngoi. Vi iu khin tuy c xy dng vi phn cng dnh cho ngi s dng n
gin hn, nhng thay vo li im ny l kh nng x l b gii hn (tc x l chm hn v kh
nng tnh ton t hn, dung lng chng trnh b gii hn). Thay vo , Vi iu khin c gi
thnh r hn nhiu so vi vi x l, vic s dng n gin, do n c ng dng rng ri vo
nhiu ng dng c chc nng n gin, khng i hi tnh ton phc tp.
Vi iu khin c ng dng trong cc dy chuyn t ng loi nh, cc robot c chc nng
n gin, trong my git, t v.v...
Nm 1976 Intel gii thiu b vi iu khin (microcontroller) 8748, mt chip tng t nh
cc b vi x l v l chip u tin trong h MCS-48. phc tp, kch thc v kh nng ca Vi
iu khin tng thm mt bc quan trng vo nm 1980 khi intel tung ra chip 8051, b Vi iu
khin u tin ca h MCS-51 v l chun cng ngh cho nhiu h Vi iu khin c sn xut sau
ny. Sau rt nhiu h Vi iu khin ca nhiu nh ch to khc nhau ln lt c a ra th
trng vi tnh nng c ci tin ngy cng mnh.
1.1.3. H MSC-51
Hin nay c rt nhiu h Vi iu khin trn th trng vi nhiu ng dng khc nhau, trong
h Vi iu khin h MCS-51 c s dng rt rng ri trn th gii v Vit nam.
Vo nm 1980 Intel cng b chp 8051(80C51), b vi iu khin u tin ca h vi iu
khin MCS-51. N bao gm 4KB ROM, 128 byte RAM, 32 ng xut nhp, 1 port ni tip v 2
b nh thi 16 bit. Tip theo sau l s ra i ca chip 8052,8053,8055 vi nhiu tnh nng c
ci tin
Hin nay Intel khng cn cung cp cc loi Vi iu khin h MCS-51 na, thay vo cc
nh sn xut khc nh Atmel, Philips/signetics, AMD, Siemens, Matra&Dallas, Semiconductors
c cp php lm nh cung cp th hai cho cc chip ca h MSC-51. Chip Vi iu khin c s
dng rng ri trn th gii cng nh Vit Nam hin nay l Vi iu khin ca hng Atmel vi
nhiu chng loi vi iu khin khc nhau.
Hng Atmel c cc chip Vi iu khin c tnh nng tng t nh chip Vi iu khin MCS51 ca Intel, cc m s chip c thay i cht t khi c Atmel sn xut. M s 80 chuyn thnh
89, chng hn 80C52 ca Intel khi sn xut Atmel m s thnh 89C52 (M s y : AT89C52)
vi tnh nng chng trnh tng t nh nhau. Tng t 8051,8053,8055 c m s tng ng
Atmel l 89C51,89C53,89C55. Vi iu khin Atmel sau ny ngy cng c ci tin v c b
sung thm nhiu chc nng tin li hn cho ngi dng.
2
Bng 1
89C51
89C52
89C53
89C55
Ch np
song song
song song
song song
song song
Sau khong thi gian ci tin v pht trin, hng Atmel tung ra th trng dng Vi iu
khin mang s hiu 89Sxx vi nhiu ci tin v c bit l c thm kh nng np chng trnh theo
ch ni tip rt n gin v tin li cho ngi s dng.
Bng 2
89S51
89S52
89S53
89S55
Ch np
ni tip
ni tip
ni tip
ni tip
1.2
Vi iu khin AVR
Vi iu khin PIC
Vi iu khin MCUs ca Philips
Cc loi vi iu khin chuyn dng ca cc hng sn xut khc: Cc loi vi iu khin
ny c s dng chuyn dng theo chc nng cn iu khin.
Hnh 1.1
- Chn VCC: Chn s 40 l VCC cp in p ngun cho Vi iu khin. Ngun in cp l
+5V0.5.
- Chn GND: Chn s 20 ni GND(hay ni Mass). Khi thit k cn s dng mt mch n
p bo v cho Vi iu khin, cch n gin l s dng IC n p 7805.
- Port 0 (P0) Port 0 gm 8 chn (t chn 32 n 39) c hai chc nng:
Chc nng xut/nhp :cc chn ny c dng nhn tn hiu t bn ngoi vo x l,
hoc dng xut tn hiu ra bn ngoi, chng hn xut tn hiu iu khin led n sng tt.
4
Tn
RxD
TxD
INT0
INT1
T0
T1
WR
RD
T2
T2X
Chc nng
Ng vo nhn d liu ni tip
Ng xut d liu ni tip
Ng vo ngt cng th 0
Ng vo ngt cng th 1
Ng vo ca Timer/Counter th 0
Ng vo ca Timer/Counter th 1
Ng iu khin ghi d liu ln b nh ngoi
Ng iu khin c d liu t b nh bn ngoi
Ng vo ca Timer/Counter th 2
Ng np li/thu nhn ca Timer/Counter th 2
- Chn RESET (RST) Ng vo RST chn 9 l ng vo Reset dng thit lp trng thi
ban u cho vi iu khin. H thng s c thit lp li cc gi tr ban u nu ng ny mc 1 ti
thiu 2 chu k my.
- Chn XTAL1 v XTAL2 Hai chn ny c v tr chn l 18 v 19 c s dng nhn
ngun xung clock t bn ngoi hot ng, thng c ghp ni vi thch anh v cc t to
ngun xung clock n nh.
- Chn cho php b nh chng trnh PSEN (Program Store Enable) tn hiu c xut ra
chn 29 dng truy xut b nh chng trnh ngoi. Chn ny thng c ni vi chn OE
(output enable) ca ROM ngoi.
Khi vi iu khin lm vic vi b nh chng trnh ngoi, chn ny pht ra tn hiu kch
hot mc thp v c kch hot 2 ln trong mt chu k my.
Khi thc thi mt chng trnh ROM ni, chn ny c duy tr mc logic khng tch
cc (logic 1) (Khng cn kt ni chn ny khi khng s dng n)
- Chn ALE (chn cho php cht a ch-chn 30) c chc nng l bus d liu do phi
tch cc ng d liu v a ch. Tn hiu chn ALE dng lm tn hiu iu khin gii a hp
cc ng a ch v cc ng d liu khi kt ni chng vi IC cht.
Cc xung tn hiu ALE c tc bng 1/6 ln tn s dao ng a vo Vi iu khin, nh
vy c th dng tn hiu ng ra ALE lm xung clock cung cp cho cc phn khc ca h thng.
Ghi ch: khi khng s dng c th b trng chn ny
5
- Chn EA Chn EA dng xc nh chng trnh thc hin c ly t ROM ni hay ROM ngoi.
Khi EA ni vi logic 1(+5V) th Vi iu khin thc hin chng trnh ly t b nh ni
Khi EA ni vi logic 0(0V) th Vi iu khin thc hin chng trnh ly t b nh ngoi
1.2.2 Kt ni phn cng
1. Kt ni trn hai chn XTAL1 v XTAL2.
Mch dao ng c a vo hai chn ny thng thng c kt ni vi dao ng thch
anh nh sau:
Hnh 1.2
Hnh 1.3
Nh vy:
Vi:
Tck l chu k my
foc l tn s dao ng cp cho Vi iu khin.
V d: Ta kt ni Vi iu khin vi thch anh c tn s fzat = 12MHz, th chu k my
Tck=12/(12.106)=10-6s =1s
Chnh v l do thch anh c tn s fzat = 12MHz to ra chu k my l 1s, thun li cho vic
tnh ton thi gian khi lp trnh do thch anh c tn s fzat l 12MHz thng c s dng trong
thc t.
Khi giao tip truyn ni tip vi my vi tnh dng thch anh c tn s fzat l 11.0592MHz.
3. Kt ni chn RESET-chn 9
Khi b cp in, hoc ang hot ng m h thng b li cn tc ng cho Vi iu khin
hot ng tr li, hoc do ngi s dng mun quay v trng thi hot ng ban u. V vy chn
RESET c kt ni nh sau:
Vi Vi iu khin s dng thch anh c tn s fzat = 12MHz s dng C=10F v R=10K.
Hnh 1.4
4. Kt ni cc Port vi Led.
Cc Port khi xut tn hiu mc logic 1 thng khng t n 5V m dao ng trong
khong t 3.5V n 4.9V v dng xut ra rt nh di 5mA (P0,P2 dng xut khong 1mA; P1,P3
dng xut ra khong 1mA n 5mA) v vy dng xut ny khng c th lm led sng
Tuy nhin khi cc Port xut tn hiu mc logic 0 dng in cho php i qua ln hn rt nhiu:
Chn Vi iu khin khi mc 0:
Dng ln nht qua P0 : -25mA
Dng ln nht qua P1,P2,P3 : -15mA
Do khi kt ni vi led hoc cc thit b khc Vi iu khin s gp tr ngi l nu tc ng
lm led sng khi Vi iu khin xut mc 1, lc ny dng v p ra khng led c th sng r
(led sng in p 1.6V-2.2V v dng trong khong 10mA). Khc phc bng cch sau:
a. Cho led sng khi Vi iu khin mc 0:
Px.x thay cho cc chn xut ca cc Port. V d: Chn P1.1, P2.0, v.v...
Khi Px.x mc 1 led khng sng
Khi Px.x mc 0 led sng
Hnh 1.5
Hnh 1.6
Hnh 1.7
1.3
1.3.1
B nh ROM dng lu chng trnh do ngi vit chng trnh vit ra. Chng trnh l
tp hp cc cu lnh th hin cc thut ton gii quyt cc cng vic c th, chng trnh do
ngi thit k vit trn my vi tnh, sau c a vo lu trong ROM ca vi iu khin, khi hot
ng, vi iu khin truy xut tng cu lnh trong ROM thc hin chng trnh. ROM cn dng
cha s liu cc bng, cc tham s h thng, cc s liu c nh ca h thng. Trong qu trnh
hot ng ni dung ROM l c nh, khng th thay i, ni dung ROM ch thay i khi ROM
ch xa hoc np chng trnh (do cc mch in ring bit thc hin).
B nh ROM c tch hp trong chip Vi iu khin vi dung lng ty vo chng loi cn
dng, chng hn i vi 89S52 l 8KByte, vi 89S53 l 12KByte.
B nh bn trong Vi iu khin 89Sxx l b nh Flash ROM cho php xa b nh ROM
bng in v np vo chng trnh mi cng bng in v c th np xa nhiu ln.
B nh ROM c nh a ch theo tng Byte, cc byte c nh a ch theo s hex-s
thp lc phn, bt u t a ch 0000H, khi vit chng trnh cn ch n a ch ln nht trn
8
B nh d liu- b nh RAM
a ch
byte
a ch bit
a ch bit
K hiu
FF
7F
30
Vng RAM
bnh thng
2F
7F
7E 7D 7C 7B 7A
79
78
2E
2D
77
76
72
71
70
6F
6E 6D 6C 6B 6A
69
68
67
66
62
61
60
5F
5E 5D 5C 5B 5A
59
58
57
56
52
51
50
4F
4E 4D 4C 4B 4A
49
48
47
46
42
41
40
3F
3E 3D 3C 3B 3A
39
38
2C
2B
2A
29
28
27
75
65
55
45
35
74
64
54
44
63
53
43
E0
E7 E6 E5 E4 E3 E2 E1 E0
ACC
D0
D7 D6 D5 D4 D3 D2 D1 D0
PSW
B8
AC AB AA A9 A8
IE
A0
A7 A6 A5 A4 A3 A2 A1 A0
P2
29
28
24
27
26
22
21
20
99
23
22
1F
1E 1D 1C 1B 1A
19
18
98
17
16
12
11
10
21
0F
0E 0D 0C 0B 0A
09
08
20
07
06
01
00
13
F0
AF
2E 2D 2C 2B 2A
14
F1
A8
2F
15
F2
P3
30
23
F3
B7 B6 B5 B4 B3 B2 B1 B0
31
F4
B0
32
F5
IP
36
F6
BC BB BA B9 B8
37
24
33
F7
26
25
25
34
73
F0
SBUF
97
96
95
94
93
92
91
90
SCON
90
P1
8D
TH1
8C
TH0
18
8B
TL1
17
8A
TL0
89
TMOD
05
04
03
02
1F
Bank 3
10
0F
08
07
00
Bank 2
88
8F 8E 8D 8C 8B 8A
89
88
TCON
87
PCON
83
DPH
82
DPL
81
SP
Bank 1
80
10
87
86
85
84
83
82
81
80
P0
c. Thanh ghi B
Thanh ghi B a ch F0H, c dng vi thanh ghi A thc hin cc php ton s hc.
Khi thc hin lnh chia vi thanh ghi A, s d c lu tr thanh ghi B. Ngoi ra thanh ghi B cn
c dng nh mt thanh ghi m c nhiu chc nng.
5. Con tr ngn xp SP: a ch 81H
Con tr ngn xp SP l mt thanh ghi c a ch 81H, gi tr ca n c tng, gim t
ng khi thc hin cc lnh PUSH, CALL, POP con tr SP dng qun l v x l cc nhm d liu
lin tc.Gi tr mc nh ca SP l 07H.
6. Con tr d liu DPTR.
Con tr d liu DPTR l thanh ghi 16 bit duy nht ca Vi iu khin c to thnh t hai
thanh ghi DPL (byte thp-a ch byte 82H) v DPH (byte cao-a ch byte 83H). Hai thanh ghi
DPL v DPT c th truy xut c lp bi ngi s dng. Con tr d liu DPTR thng c s
dng khi truy xut d liu t b nh ROM hoc b nh t bn ngoi.
7. Thanh ghi trng thi chng trnh PSW (a ch byte D0H)
BIT
A CH BIT K HIU
PSW.7
D7H
C hoc Cy
PSW.6
D6H
AC
PSW.5
D5H
F0
PSW.4
D4H
RS1
PSW.3
D3H
RS0
PSW.2
D2H
0V
PSW.1
PSW.0
D1H
D0H
CHC NNG
C nh
C nh ph
C 0 hay c Zero
Bit la chn dy thanh ghi
Bit la chn dy thanh ghi
C trn vi php tnh lin quan n s nh phn c
du
Cha c thit k s dng
C chn l
RS2
Bank 0
Bank 1
Bank 2
Bank 3
C trn OV
c s dng trong cc php ton cng c du, vi cc php ton cng khng du c trn
OV c b qua, khng cn quan tm n OV. Nu:
Php cng hai s c du ln hn +127 th OV=1
Hoc php tr hai s c du nh hn -127 th OV=1
Cc trng hp cn li OV=0
C chn l
C chn l P t ng c t bng 1 hoc 0 sao cho tng s bit mang gi tr 1 trn thanh
ghi A vi c P lun l mt s chn. C chn l c dng x l d liu trc khi truyn i theo
kiu ni tip hoc x l d liu trc khi nhn vo theo kiu ni tip (hn ch li pht sinh trong
qu trnh truyn).
13
GII THIU
Assembly l mt ngn ng lp trnh cp thp gn vi ngn ng my, chng trnh sau khi
vit bng assembly cn c chuyn i qua m lnh (hay cn gi l m my) ca vi iu khin,
qu trnh chuyn i c thc hin bng chng trnh dch Assembler. Cc m lnh sau c
np vo ROM ca vi iu khin thc hin chng trnh. Chng trnh dch Assembler c
dng ph bin hin nay l chng trnh Macro Assembler s dng trn DOS.
son tho chng trnh c th s dng NotePad hoc bt c chng trnh son tho c s
dng b k t chun ASCII v lu tn ui nh sau: "tn.asm". Ngoi ra c th s dng cc phn
mm h tr son tho dnh ring cho vi iu khin tch hp sn chng trnh dch Assembler.
14
2.3
1. Khi gii thiu cc cu lnh vit bng hp ng, cc cu lnh cn c bao qut tt c cc
trng hp do c mt s qui c khi thit lp c php cc lnh nh sau:
Tn qui
c
Rn
#data
direct
@Ri
V d Lnh s
dng tn qui c
V d khi s dng
Mov A,#20H
nh c a ch gin tip, y l a ch
ca mt nh, a ch ny c xc nh
gin tip bng gi tr ca thanh ghi R0 hoc Mov A,@Ri
R1 (ch c s dng hai thanh ghi R0 hoc
R1 lu gi tr ny)
Mov A,@R1
Mov A,R2
Mov A,30H
#data: l gi tr cn thit lp trong mt nh, data c ghi trong chng trnh assembly
vi qui nh v cch vit s nh bn di, cc s ny sau c trnh bin dch chuyn thnh
cc s nh phn tng ng.
V d: khi ghi #95H y l gi tr c thit lp trong tng bit ca nh.(cc bit ca nh
c gi tr l 10010101).
Cn khi ghi 95H th hiu y l nh c a ch l 95H.
i vi cc nh c nh tn bng k hiu chng hn P0,P1,A,B,TH0... th c s dng
tn thay cho a ch cn s dng.
V d: hai lnh sau y l nh nhau
Mov TH0,#43H v Mov 8CH,#43H v thanh ghi TH0 c a ch l 8CH.
2. Qui nh v cch vit s (data)
Trnh bin dch Assembler cho php s dng cc loi s sau trong chng trnh:
S Binary (s nh phn): S nh phn khi vit cn thm pha sau gi tr bng k t "B". Cc
s ny phi l s nh phn 8 bit. Khi gi tr cn thit lp l cc gi tr cn cho tng bit trong byte th
dng cch biu din bng s nh phn.
V d: khi cn thit lp gi tr cho mt byte m cc bit 0,1 xen k nhau th nn biu din
bng s 01010101B cho d kim tra.
Hexadecimal (s thp lc phn-ghi tt l hex): s hex khi vit cn thm pha sau gi tr bng
k t "H". Nu s hex bt u l A,B,C,D,E,F th cn thm s "0" pha trc trnh bin dch nhn
bit c l s Hex, khng lm gi tr s vi cc k t ch khc. Khi s dng cc gi tr dnh
15
ring cho mt cng vic no , vic ghi nh bng s nh phn rt rc ri v kh nh, khi s hex
c s dng, v s hex l cch vit ngn gn ca s nh phn.
V d: 69H, 0A3H
S Decimal (s thp phn): S thp phn khi vit khng cn cn thm k t hoc thm sau
gi tr bng k t "D". Khi tnh ton: cng tr nhn chia, nu s dng s nh phn hoc s hex s
gy kh khn cho ngi vit chng trnh, trong trng hp ny s thp phn c s dng
V d: 45, 27, 68D
Ch : a ch ca cc nh, ca cc bit nh, a ch ca ROM lun c vit bng s thp
lc phn v cng tun theo qui tc vit s nh pha trn.
hiu thm v cc loi s ny v cc cch chuyn i c th xem thm trong gio trnh k
thut s ti a ch http://www.codientu.info/ki_thuat_cdt/dien_tu/vi_mach_so/ hoc cc ti liu v
k thut s khc.
3. Kt thc chng trnh.
Sau khi chng trnh hon tt phi kt thc bng cu lnh END. Cc cu lnh ny bo cho
trnh bin dch bit phn kt thc ca chng trnh, trnh bin dch b qua tt c cc cu lnh sau
lnh END.
2.4
Trc khi xem phn di, cc bn cn xem li bi trc nm r phn cng, c bit l vng
nh RAM ca vi iu khin. Ch cc thut ng sau:
Cc byte RAM 8 bit ca vi iu khin c gi l " nh", nu cc nh c chc nng c
bit thng c gi l "thanh ghi", nu l bit th c gi l "bit nh". d liu ca mt nh l
trng thi (0 hoc 1) cn thit lp cho cc bit ca nh (8 bit)
2.4.1 Nhm lnh di chuyn
1. Lnh chuyn d liu t mt thanh ghi Rn vo thanh ghi A:
C php:
Mov A,Rn
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 1 chu k my
Cng dng: Chuyn d liu ca thanh ghi Rn vo thanh ghi A, d liu trn thanh ghi Rn khng
i
V d: Gi s thanh ghi R5 mang d liu vi gi tr l 0A5H (10100101B)
Lnh
Mov A,R5
Sau khi lnh c thc hin A mang d liu gi tr A5H, Rn khng i gi tr thanh ghi A
trc khi thc hin lnh khng cn quan tm
16
18
Mov
@Ri,#data
19
A,@A+PC
A,@i
A,@DPTR
A,@Ri
@DPTR,A
direct
direct
38H
+3AH
72H
0
56
58
114
00111000b
00111010b
01110010b
0
6CH
+9FH
10BH
1
108
159
267
01101100b
10011111b
100001011b
1
Phn c t mu xanh l 8 bit ca thanh ghi A sau khi kt qu c thc hin, phn mu
trong kt qu l gi tr b trn, gi tr ny khng lu thanh ghi A m lu thanh ghi PSW, ti c C
21
S tr
S b tr
Kt qu
C nh C
S tr
S b tr
Kt qu
C nh C
9FH
-6CH
33H
0
6CH
-9FH
CDH
1
159
108
51
10011111b
01101100b
00110011b
0
108
159
-51
01101100b
10011111b
11001101b
1 -php tr trn c s mun
1. Lnh cng d liu trn thanh ghi A vi d liu trn thanh ghi Rn:
C php:
Add A,Rn
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 1 chu k my
Cng dng: Cng gi tr d liu trn thanh ghi A vi gi tr d liu trn thanh ghi Rn, sau
khi thc hin lnh kt qu c lu thanh ghi A. Lnh ny c nh hng n thanh thanh
trng thi PSW
V d:
Mov A,#20H
Mov R1,#08H
Add A,R1
Kt qu : A c gi tr l 28H, R1 vn gi nguyn gi tr l 08H
C C = 0
V d 2:
Mov
A,#0E9H
Mov
R6,#0BAH
Add
A,R6
Kt qu :
A = #0A3h
R6 = #0BAh
C C = 1
2. Lnh cng d liu trn thanh ghi A vi d liu nh c a ch direct:
C php:
Add A,direct
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 1 chu k my
Cng dng: Cng gi tr d liu trn thanh ghi A vi gi tr d liu trn nh c a ch
direct, sau khi thc hin lnh kt qu c lu thanh ghi A. Lnh ny c nh hng n
thanh thanh trng thi PSW
V d:
Mov
50h,#20H
Mov
A,#0E8H
Add
A,50H
Kt qu :
A = #08H
50H = #20H
C=1
22
23
SubB
A,Rn
24
26
27
V d:
Kt qu :
Mov 7Fh,#0
Dec 7Fh
7Fh = #0FFh
24. Lnh hiu chnh thp phn ni dung ca thanh ghi A i vi php cng:
C php:
DA A
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 4 chu k my
Cng dng: hiu chnh d liu l gi tr lu gi thanh ghi A t s Hex (s nh phn) thnh
s BCD (s thp phn vit di dng nh phn). L do c lnh hiu chnh ny v khi cng hai
gi tr l s BCD bng cc lnh cng, vi iu khin ch hiu hai s cng l s nh phn bnh
thng, kt qu sau lnh cng l mt s nh phn bnh thng, khng phi l mt s BCD,
v vy kt qu cn c hiu chnh d liu cui l mt s BCD. Khi thc hin lnh, c
nh C c xc lp ln 1 nu php cng c kt qu vt qua 99 (s BCD). Kt qu cui
cng, s BCD c hng n v nm 4 bit thp trn thanh ghi A, hng chc 4 bit cao ca
thanh ghi A, hng trm l 1 nu c C mang gi tr 1, l 0 nu c C mang gi tr 0.
V d 1:
Mov
A,#10h
DA
A
Kt qu :
A = #10h
V d 2:
Mov
A,#0Eh
DA
A
Kt qu :
A = #14h
2.4.3 Nhm lnh Logic
1. Lnh And d liu thanh ghi A vi d liu thanh ghi Rn:
C php:
ANL A,Rn
Lnh ny chim dung lng b nh ROM l: 1 Byte
Thi gian thc hin: 1 chu k my
Cng dng: thc hin php logic AND d liu thanh ghi A vi d liu thanh ghi Rn, kt
qu c lu tr thanh ghi A
V d:
Mov A,#0Fh
Mov R1,#0F0h
ANL A,R1
Kt qu :
A = #0H
2. Lnh And d liu trn thanh ghi A vi d liu ca nh c a ch direct:
C php:
ANL A,direct
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 1 chu k my
Cng dng: thc hin php logic AND d liu thanh ghi A vi d liu nh c a ch
direct, kt qu c lu tr thanh ghi A
V d:
Mov A,#0FFh
Mov
10h,#010h
ANL A,10h
Kt qu :
A = #010h
3. Lnh And d liu trn thanh ghi A vi d liu ca nh gin tip:
C php:
ANL
A,@Ri
29
Cng dng: thc hin php logic OR d liu thanh ghi A vi d liu thanh ghi Rn, kt
qu c lu tr thanh ghi A
V d:
Mov A,#0Fh
Mov R1,#0F0h
ORL A,R1
Kt qu :
A = #0FFh
8. Lnh OR d liu trn thanh ghi A vi d liu ca nh c a ch direct:
C php:
ORL A,direct
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 1 chu k my
Cng dng: thc hin php logic OR d liu thanh ghi A vi d liu ca nh c a ch
direct, kt qu c lu tr thanh ghi A
V d:
Mov A,#0Eh
Mov
50h,#0F0h
ORL A,50h
Kt qu :
A = #0FEh
9. Lnh OR d liu trn thanh ghi A vi d liu ca nh gin tip:
C php:
ORL A,@Ri
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 1 chu k my
Cng dng: thc hin php logic OR d liu thanh ghi A vi d liu ca nh c a ch
bng gi tr ca thanh ghi Ri, kt qu c lu tr thanh ghi A
V d:
Mov A,#18h
Mov
30h,#0F0h
Mov
R1,#30h
ORL A,@R1
Kt qu :
A = #0F8h
10. Lnh And d liu trn thanh ghi A vi d liu xc nh:
C php:
ORL A,#data
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 1 chu k my
Cng dng: thc hin php logic OR d liu thanh ghi A vi d liu cho trc, kt qu
c lu tr thanh ghi A
V d:
Mov A,#00h
ORL A,#10h
Kt qu :
A = #010h
11. Lnh OR d liu ca nh c a ch direct vi d liu trn thanh ghi A:
C php:
ORL direct,A
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 1 chu k my
31
Cng dng: thc hin php logic OR d liu thanh ghi A vi d liu ca nh c a ch
direct, kt qu c lu tr nh c a ch direct.
V d:
Mov A,#0Fh
Mov 5Fh,#0F0h
ORL 5Fh,A
Kt qu :
5Fh = #0FFh
12. Lnh OR d liu trn nh c a ch direct vi d liu xc nh:
C php:
ORL direct,#data
Lnh ny chim dung lng b nh ROM l 3 Byte
Thi gian thc hin: 2 chu k my
Cng dng: thc hin php logic OR d liu ca nh c a ch direct vi d liu cho
trc, kt qu c lu tr nh c a ch direct.
V d:
Mov 60h,#0F0h
ORL 60h,#1Fh
Kt qu :
60h = #0FFh
13. Lnh EX-OR d liu thanh ghi A vi d liu thanh ghi Rn:
C php:
XRL A,Rn
Lnh ny chim dung lng b nh ROM l: 1 Byte
Thi gian thc hin: 1 chu k my
Cng dng: thc hin php logic EX-OR d liu thanh ghi A vi d liu thanh ghi Rn,
kt qu c lu tr thanh ghi A
V d:
Mov A,#0F2h
Mov R3,#0E0h
XRL A,R3
Kt qu :
A = #12h
14. Lnh EX-OR d liu trn thanh ghi A vi d liu ca nh c a ch direct:
C php:
XRL A,direct
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 1 chu k my
Cng dng: thc hin php logic EX-OR d liu thanh ghi A vi d liu ca nh c a
ch direct, kt qu c lu tr thanh ghi A
V d:
Mov A,#012h
Mov 10h,#0E0h
XRL A,10h
Kt qu :
A = #0F2h
15. Lnh EX-OR d liu trn thanh ghi A vi d liu ca nh gin tip:
C php:
XRL A,@Ri
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 1 chu k my
Cng dng: thc hin php logic EX-OR d liu thanh ghi A vi d liu ca nh c a
ch bng gi tr ca thanh ghi Ri, kt qu c lu tr thanh ghi A
32
V d:
Kt qu :
Mov A,#08h
Mov 10h,#0E9h
Mov
R0,#10h
XRL A,@R0
A = #0E1h
33
V d:
Kt qu :
Mov
A,#01100111b
;(tng ng 67h)
CPL
A
A = #10011000b (tng ng 98h)
A7
A6 A5 A4 A3 A2 A1 A0
A7--------------------------------------------A0
V d:
Mov A,#01001001b
RL
A
Kt qu sau khi cc lnh c thc hin A mang gi tr l 10010010b
Gi tr thanh ghi A
01001001
10010010
34
A7 A6 A5 A4 A3 A2 A1
------------------------------------------
A0
A0
V d: gi s c nh C ang mang gi tr 1
Mov A,#11001001b
RLC A
Kt qu sau khi cc lnh c thc hin A mang gi tr l 10010011b v C mang gi tr 1
C nh C Gi tr thanh A
Trc khi thc hin lnh xoay tri vi
C
Sau khi thc hin lnh xoay tri vi C
11001001
10010011
A7 A6 A5 A4 A3 A2 A1 A0
A7--------------------------------------------A0
Mov A,#01001001b
RL
A
Kt qu sau khi cc lnh c thc hin A mang gi tr l 10100100b
Gi tr thanh A
01001001
10100100
C
35
A7 A6 A5 A4 A3 A2 A1
------------------------------------------
A0
A0
V d: gi s c nh C ang mang gi tr 1
Mov A,#11001001b
RLC A
Kt qu sau khi cc lnh c thc hin A mang gi tr l 11100100b v C mang gi tr 1
C nh C
Gi tr thanh A
11001001
11100100
C php:
SWAP A
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 1 chu k my
Cng dng: hon chuyn d liu 4 bit thp ln 4 bit cao v 4 bit cao xung 4 bit thp
Cc bit thanh ghi A
A7
A6
A5
A4
A3
A2
A1
A0
X7
X6
X5
X4
X3
X2
X1
X0
X3
X2
X1
X0
X7
X6
X5
X4
V d:
Mov
A,#0E7h
SWAP A
Kt qu :
A = # 7Eh
Phn ny lin quan n cc cu lnh c lu gi trn ROM, v vy cn xem li phn b
nh ROM trc khi xem phn ny.
Phn ph ch:
Nhn:
K hiu: rel
Nhn l mt chui k t do ngi dng t t dng nh du cc on chng trnh, nhn
ny biu th a ch ca lnh khi c lu trn ROM.
Nhn ch c bt u bng mt k t ch hoc du "_", khng c bt u bng s,
khng c khong trng v kt thc bng du hai chm ":"
Trong chng trnh nhn khng c t trng tn vi nhau, v khng c trng vi cc t
kha m chng trnh s dng.
V d :
Cc nhn ng X1: ;S_2: ;_5:s10: ;...
Cc nhn sai 1X: ; S_2 ;S 5: ;DW:
,LPT :...
Chng trnh con: l nhng on chng trnh thc hin mt s lnh no v c vit
ngoi chng trnh chnh, cc chng trnh con ny c t tn bng mt nhn v kt thc bng
lnh RET, chng trnh con c th gi mt chng trnh con khc. Chng trnh con c chng
trnh chnh s dng khi cn thit bng cc lnh gi chng trnh con; khi c lnh gi chng trnh
con, Vi iu khin chuyn v thc hin cc on chng trnh ca chng trnh con, sau khi thc
hin chng trnh con Vi iu khin tip tc tr v thc hin cc cu lnh trong chng trnh chnh.
Chng trnh con gip cho chng trnh mch lc, d hiu hn, nu trong chng trnh
chnh c cc on chng trnh c lp i lp li nhiu ln th cc on chng trnh thng
c vit thnh mt chng trnh con v truy xut bng mt cu lnh gi chng trnh con. Vic s
36
dng chng trnh con gip cho vic tm li v chnh sa chng trnh d hn, nu chng trnh
chnh s dng nhiu ln chng trnh con, khi cn sa i ch cn thay i cc cu lnh trong
chng trnh con.
Chng trnh con bt u bng mt nhn v kt thc bng lnh Reti, chng trnh con c
th t u hoc cui chng trnh.
2.4.4 Nhm lnh r nhnh
1. Lnh gi chng trnh con dng a ch tuyt i
C php:
ACall addr11
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 2 chu k my
Cng dng: Khi lnh c thc hin, Vi iu khin chuyn v thc hin cc cu lnh ca
chng trnh con bt u t a ch addr11 trn ROM, a ch addr11 c th thay bng nhn
bt u ca mt chng trnh con. Cu lnh c thc hin khi a ch addr11 cch lnh gi
khng qu 2 KByte .
V d:
ACall
45A6H
2. Lnh gi chng trnh con dng a ch tuyt i
C php:
ACall addr16
Lnh ny chim dung lng b nh ROM l 3 Byte
Thi gian thc hin: 2 chu k my
Cng dng: Khi lnh c thc hin, Vi iu khin chuyn v thc hin cc cu lnh ca
chng trnh con bt u t a ch addr16 trn Rom, a ch addr16 c thay bng nhn bt
u chng trnh con. Cu lnh c th gi chng trnh con bt k v tr no trn ROM v
khong cch t lnh gi n chng trnh con l 64 KByte.
3. Lnh kt thc chng trnh con
C php:
Ret
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 2 chu k my
Cng dng: Lnh ny dng kt thc chng trnh con, khi gp lnh ny Vi iu khin quay
v thc hin lnh chng trnh chnh.
4. Lnh kt thc chng trnh con phc v ngt
C php:
Reti
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 2 chu k my
Cng dng: Lnh ny dng kt thc chng trnh con ngt, khi gp lnh ny Vi iu khin
quay v thc hin lnh chng trnh chnh.
5. Lnh nhy ngn n a ch tuyt i
C php:
AJMP addr11
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 2 chu k my
37
Cng dng: Khi lnh c thc hin, Vi iu khin chuyn v thc hin cc cu lnh ca
chng trnh bt u ti a ch addr11 trn Rom, a ch addr11 c th thay bng nhn. Cu
lnh ch c thc hin khi v tr lu chng trnh cn thc hin cch lnh gi khng qu 2
KByte
6. Lnh nhy di n a ch tuyt i
C php:
LJMP addr16
Lnh ny chim dung lng b nh ROM l 3 Byte
Thi gian thc hin: 2 chu k my
Cng dng: Khi lnh c thc hin, Vi iu khin chuyn v thc hin cc cu lnh ca
chng trnh bt u ti a ch addr11 trn Rom, a ch addr11 c th thay bng nhn. Cu
lnh c th gi chng trnh bt k v tr no trn Rom v khong cch t lnh gi n
chng trnh con l 64 KByte
7. Lnh nhy tng i
C php:
SJMP rel
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 2 chu k my
Cng dng: Khi lnh c thc hin, Vi iu khin chuyn n thc hin cc cu lnh ca
chng trnh c nh du bng nhn. Cu lnh ch c thc hin a ch ca nhn cch
lnh gi khng qu 128 Byte.(c ti hoc li )
8. Lnh nhy gin tip
C php:
JMP @A+DPTR
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 2 chu k my
Cng dng: Khi lnh c thc hin, Vi iu khin chuyn n thc hin cc cu lnh ca
chng trnh c a ch trn ROM bng gi tr ca A cng vi gi tr lu gi trn DPTR
9. Lnh nhy thun vi c Zero
C php:
JZ rel
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 2 chu k my
Cng dng:
Nu c Zero c gi tr 1(tc thanh ghi A c gi tr 0), Vi iu khin s nhy n thc hin
chng trnh ti a ch m nhn c t
Nu c Zero c gi tr 0(tc thanh ghi A c gi tr khc 0), Vi iu khin thc hin lnh k
tip (khng thc hin lnh nhy)
10. Lnh nhy nghch vi c Zero
C php:
JNZ rel
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 2 chu k my
Cng dng:
38
Cng dng:
Nu bit nh c gi tr 1, Vi iu khin s nhy n thc hin chng trnh ti a ch m
nhn c t, ng thi xa gi tr cha trong bit nh tc l a bit nh v gi tr 0
Nu bit nh c gi tr 0, Vi iu khin thc hin lnh k tip (khng thc hin lnh nhy)
16. Lnh nhy c iu kin(so snh gi tr ca thanh ghi A v Rn)
C php:
CJNE A,direct,rel
Lnh ny chim dung lng b nh ROM l 3 Byte
Thi gian thc hin: 2 chu k my
Cng dng:
Vi iu khin nhy n thc hin chng trnh ti a ch m nhn c t nu gi tr ca
thanh ghi A khc gi tr ca nh c a ch direct, nu bng nhau Vi iu khin khng
nhy v thc hin lnh k
nh hng ca lnh n c nh C:
- Nu gi tr ca thanh ghi A gi tr ca nh c a ch direct th bit C c gi tr 0
Nu gi tr ca thanh ghi A < gi tr ca nh c a ch direct th bit C c gi tr 1
17. Lnh nhy c iu kin(so snh gi tr ca thanh ghi A v d liu cho trc)
C php:
CJNE A,#data,rel
Lnh ny chim dung lng b nh ROM l 3 Byte
Thi gian thc hin: 2 chu k my
Cng dng:
Vi iu khin s nhy n thc hin chng trnh ti a ch m nhn c t, nu gi tr
ca thanh ghi A khc gi tr d liu cho trc, nu bng nhau Vi iu khin khng nhy v
thc hin lnh k
nh hng ca lnh n c nh C:
- Nu gi tr ca thanh ghi A gi tr d liu cho trc th bit C c gi tr 0
- Nu gi tr ca thanh ghi A < gi tr d liu cho trc th bit C c gi tr 1
18. Lnh nhy c iu kin(so snh gi tr ca thanh ghi Rn v d liu cho trc)
C php:
CJNE Rn,#data,rel
Lnh ny chim dung lng b nh ROM l 3 Byte
Thi gian thc hin: 2 chu k my
Cng dng:
Vi iu khin s nhy n thc hin chng trnh ti a ch m nhn c t nu gi tr
ca thanh ghi Rn khc gi tr d liu cho trc, nu bng nhau Vi iu khin khng nhy v
thc hin lnh k.
nh hng ca lnh n c nh C:
- Nu gi tr ca thanh ghi A gi tr d liu cho trc th bit C c gi tr 0
- Nu gi tr ca thanh ghi A < gi tr d liu cho trc th bit C c gi tr 1
18. Lnh nhy c iu kin (so snh gi tr ca nh c a ch gin tip v d liu cho trc)
C php:
CJNE @Ri,#data,rel
Lnh ny chim dung lng b nh ROM l 3 Byte
Thi gian thc hin: 2 chu k my
40
Cng dng:
Vi iu khin nhy n thc hin chng trnh ti a ch m nhn c t nu gi tr ca
nh c a ch bng gi tr ca Ri khc gi tr d liu cho trc, nu bng nhau Vi iu
khin khng nhy v thc hin lnh k
nh hng ca lnh n c nh C:
- Nu gi tr ca nh c a ch gin tip gi tr d liu cho trc th bit C c gi tr 0
- Nu gi tr ca nh c a ch gin tip < gi tr d liu cho trc th bit C c gi tr 1
19. Lnh nhy c iu kin kt hp vi lnh gim trn thanh ghi Rn
C php:
DJNZ Rn,rel
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 2 chu k my
Cng dng:
Gim gi tr ca thanh ghi Rn xung 1 n v, v
- Nu gi tr trong thanh ghi Rn khc 0, Vi iu khin nhy n thc hin chng
trnh ti a ch m nhn c t.
- Nu gi tr trong thanh ghi Rn bng 0, Vi iu khin thc hin lnh k tip
20. Lnh nhy c iu kin kt hp vi lnh gim trn nh c a ch direct
C php:
DJNZ direct,rel
Lnh ny chim dung lng b nh ROM l 3 Byte
Thi gian thc hin: 2 chu k my
Cng dng:
Gim gi tr ca nh c a ch direct xung 1 n v
Nu gi tr trong nh c a ch direct khc 0, Vi iu khin nhy n thc hin chng
trnh ti a ch m nhn c t.
Nu gi tr trong nh c a ch direct bng 0, Vi iu khin thc hin lnh k tip
21. Lnh delay 1 chu k my
C php:
NOP
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 1 chu k my
Cng dng: delay trong 1 chu k my
Qui c: trong cu lnh "bit" i din cho mt a ch ca bit nh
2.4.5 Nhm lnh x l bit
1. Lnh xo c nh C
C php:
CLR C
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 1 chu k my
Cng dng: Xa c nh C - tc l a gi tr ca c nh C v 0
2. Lnh xo bit
C php:
CLR bit
Lnh ny chim dung lng b nh ROM l 2 Byte
41
43
3.1.1 Khi n p
Khi ny l mch in dng n p in th khong 5V, cp ngun n nh cho vi iu
khin hot ng. C nhiu loi mch n p khc nhau, trong mch n p dng IC n p 7805
thng c s dng v mch ny rt d thc hin. S nh hnh di:
Hnh 3.1
44
Hnh 3.2
d. Ni chn EA (chn 31) ln Vcc (5V): V cc bi th nghim ny ch thc hin chng
trnh t b nh ROM ni, do ni chn EA vi Vcc thit t cho Vi iu khin thc hin
chng trnh t b nh ROM ni (b nh ROM tch hp sn trong vi iu khin).
2. Cc mch xut nhp t cc port
S dng in tr treo trc mi Port, ng thi ni thm gic cm 8 chn lm ng
nhn hoc xut tn hiu kt ni vi cc mch in khc t bn ngoi. Xem li phn in tr treo.
3.1.3
Mch vi iu khin
45
Mt s linh kin
1. Vi iu khin AT89S52
Khi gia cng trn mch, thng khng
hn vi iu khin trc tip ln mch,
m thay vo l mt cm 40 chn
khi cn thit c th thay i vi iu
khin khc ln trn mch d dng hn.
Hnh dng
AT89S52 thc t
S chn tng ng
46
Mt loi cm 40 chn
Collected by Truong Van Gian
4. Jack 8 chn
Jack 8 chn kt vi vi dy ni bus truyn tn hiu n cc phn khc ca mch
Dy ni bus 8 ng
Thc cht Jack 8 chn c tch ra t mt phn ln hn, phn ny thng c gi l "ro cm".
T "ro cm" ny d dng tch ra thnh jack 2 chn hoc 3,4,5... chn ty ngi s dng.
47
3.2
MCH NP
S chn ca cng my in
S ny ch dng cho mch ch thc hin cng vic duy nht l np chng trnh cho vi
iu khin.
np trc tip cho mch ang hot ng, dng s sau
3.3
51
Sau khi thc hin cch 1 hoc 2, vo menu Veiw\Ports (hoc Ctrl+P) xem trng thi
ca cc Port
Cui cng, xem cc trng thi ca chng trnh vit, vo menu Execute\Run (hoc
bm F5 hoc chn biu tng
Cn nhiu cng c khc h tr cho qu trnh vit chng trnh v bng trng thi ca
nhng phn khc nh trng thi ca cc thanh ghi Rx, thanh ghi trng thi .... bn c th t tm hiu
bit thm.
Ch : v tc x l ca phn m phng nhanh hn ca vi iu khin vi thch anh
12MHz rt nhiu nn cc trng thi xy ra hi nhanh khng quan st ton b c, do quan
st r cc trng thi ca cc Port bng chng trnh m phng cn vit chng trnh sao cho khong
thi gian gia cc ln xut tn hiu ra Port ko di hn.
52
MT S QUI NH
4.1.1 Ch thch:
Dng du chm phy ";" bt u cc on ch thch, cc ch thch ch c tc dng trn
dng cha n v c t tu ti bt k v tr no trn dng.
Ch thch gip chng trnh th hin r rng trong sng hn, ngi lp trnh d dng hiu v
chnh sa chng trnh c vit ra, cc on ch thch ph hp s gip cho vic tm kim cc on
chng trnh d dng hn.
Sau y l v d cho phn ch thch bt u mt chng trnh :
;*******************************************************************************
;**************/////--- TN CHNG TRNH ---\\\\\\ **********************************
;**-------------------------------------------------------------------------------------------------------------------;**////////////////___ Cc yu cu ca bi ton_________________\\\\\\\\\\\\\\\\\\\\\\\\\\\
;**///////////////___ ghi ch trn cc dng ny__________________\\\\\\\\\\\\\\\\\\\\\\\\\
;**//////////////____ Kt cu phn cng v cc linh kin km theo___\\\\\\\\\\\\\\\\\\\\\
;**<<<<<<<<<<<<<<<<<<<----------------------------------------------------->>>>>>>>>>>>>>
;**\\\\\\\\\\\\\\\\\\----- M t cc bin, cc hm cn s dng ------------///////////////////////
;**\\\\\\\\\\\\\\\\\\\\-----cch gii quyt chng trnh
------------////////////////////
;**\\\\\\\\\\\\\\\\\\\\\-----cc dng ghi ch khc
------------/////////////////////
;*******************************************************************************
V d v phn cch cc on chng trnh phc tp vi nhau bng ch thch:
;**<<<<<<<<<================= tn lnh hoc chc nng =======>>>>>>**
Cu lnh 1
;===>>>ghi ch cho cu lnh 1
Cu lnh 2
Cu lnh 3
;===>>>ghi ch cho cu lnh 3
Cu lnh cui
;///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
4.1.2 Tht dng, Ch hoa - ch thng
Khi son tho chng trnh chng trnh c v d g li c mt s ngh sau:
Cc nhn c t cnh l tri, mt s phn mm son v bin dch khng phn bit ch hoa
ch thng ca nhn, tuy nhin mt s phn mm khc li phn bit ch hoa ch thng, v vy
thun tin v sau, tn nhn khng nn t trng nhau v thng nht mt kiu vit nhn duy nht
trong chng trnh. V d: khng t 2 nhn trong cng mt chng trnh nh sau: "Doan1" v
"doan1".
Cc cu lnh nn t li vi l tri mt hoc hai khong g tab
Phn sau ca cu lnh cch phn u cu lnh mt hoc hai khong g tab (Phn trc v
sau ca cu lnh bt buc phi cch nhau t nht mt khong trng).
53
54
4.2
BI THC HNH:
Tn gi cho cc bit: mi nh u c 8 bit, thun tin cho qu trnh hng dn, mi bit trong
mt nh s c nh s t 0 n 7 sau tn gi ca nh v c ngn cch bng du chm.
V d:
- Thanh ghi A gm 8 bit: A.7 A.6 A.5 A.4 A.3 A.2 A.1 A.0 vi bit nh nht l bit A0
- Thanh ghi R1 gm cc bit R1.7 R1.6 R1.5 R1.4 R1.3 R1.2 R1.1 R1.0
bt u bi thc hnh, bn nn xem li phn kt ni vi iu khin vi led trong bi 1
Bi 1: Vit chng trnh xut tn hiu Port 0 v Port 2 8 n led sng vi cc led c
kt ni vi Port 0 v Port 2 nh s di
Phn tch: s kt ni phn cng nh hnh trn, n led sng khi tn hiu xut ra mc
1(+5V). Nh vy cn vit chng trnh xut mc logic 1 ra Port 0 v Port 2. Sau y l chng trnh:
;******************************************************************************
;**************/////--- 8 LED SANG ---\\\\\\ *****************************************
;**------------------------------------------------------------------------------------------------------------------;**////////////////___ lam 8 led o Port 0 va Port 2 sang_________________\\\\\\\\\\\\\\\\\\\\\\\\\\\
;**///////////////___ led sang khi tin hieu xuat o muc 1__________________\\\\\\\\\\\\\\\\\\\\\\\\\
;**//////////////____ phan cung su dung dien tro treo____________________\\\\\\\\\\\\\\\\\\\\\
;**<<<<<<<<<<<<<<<<<<<----------------------------------------------------->>>>>>>>>>>>>>
;******************************************************************************
;************************************************************* ****************
ORG
000H
; khai bao dia chi de bat dau chuong trinh tren ROM
Mov
Mov
End
P0,#0FFH
P2,#11111111B
- Khai bo ORG
: dng khai bo a ch bt u lu chng trnh trn ROM
V d: ORG
0020H khi c khai bo ny, chng trnh s c lu t nh ROM c
a ch 0020H tr i. Trong chng trnh khng gii hn s lng khai bo ORG.
Khi bt u chng trnh, Vi iu khin bt u c m lnh t v tr u tin ca b nh
ROM: 000H, sau mi ln thc hin lnh Vi iu khin s tm n ly lnh v tr ROM k tip.
Nu c nhiu khai bo ORG, Vi iu khin s thc hin cc cu lnh v tr c a ch thp trc,
nu mun chuyn sang thc hin chng trnh v tr bt k th dng cc lnh nhy.
55
Phn tch: s kt ni phn cng nh hnh trn, n led sng khi tn hiu ng ra mc
0(+0V). Nh vy cn vit chng trnh cc bit P1.0, P1.2, P1.4, P1.6 v P2.0, P2.2, P2.4, P2.6
xut tn hiu mc 0, cc bit cn li xut ra mc 1. Sau y l chng trnh:
;*******************************************************************************
;**************/////--- 8 LED SANG XEN KE ---\\\\\\ *********************************
;**------------------------------------------------------------------------------------------------------------------;**////////////////___ lam 8 led noi Port 1 va Port 2_________________\\\\\\\\\\\\\\\\\\\\\\\\\\\
;**///////////////___ led sang khi tin hieu xuat o muc 0__________________\\\\\\\\\\\\\\\\\\\\\\\\\
;**//////////////____ led sang xen ke o vi tri le____________________\\\\\\\\\\\\\\\\\\\\\
;**<<<<<<<<<<<<<<<<<<<----------------------------------------------------->>>>>>>>>>>>>>
;** \\\\\\\\\\\\------- can xuat voi gia tri tren 1 Port la: 01010101B ---------////////////////
;**\\\\\\\\\\\\\--------Duoc viet gon thanh 55H ---------------------------------------////////////////
;*******************************************************************************
;*******************************************************************************
ORG
000H
; khai bao dia chi de bat dau chuong trinh tren Rom
Mov
Mov
End
4.3
P1,#55H
P2,#01010101B
GII THUT V LU
56
Bi 3: Vit chng trnh cc led ni vi Port 1 sng ri tt led. Bit led sng khi tn hiu
xut ra mc 1. Minh ha trong hnh pha di:
Phn tch: led sng ri tt, cn lm cho tn hiu xut ra mc 1 mt khong thi gian
mt c th nhn bit c, sau lm tn hiu xut ra mc 0 mt khong thi gian nh trn. C
lp i lp li on trn s thy dy n sng ri tt.
57
58
Chng trnh con trong chng trnh ny c bt u bng nhn Delay:, khi c lnh gi
chng trnh con, th vi iu khin s chuyn sang thc hin cc cu lnh ca chng trnh con, sau
khi chng trnh con hon thnh, vi iu khin tr v chng trnh chnh thc hin tip.
Lnh Kt1:
Djnz
R6,Kt1
Lnh Djnz
R6,Kt1 ny gim R6 i mt n v, nu R6 cha bng 0, chng trnh li
nhy v nhn Kt1, m nhn Kt1 li gi li lnh ny, do ton cu lnh thc hin gim R6 cho n
khi R6 v 0 th thc hin lnh k tip. Cu lnh ny thc hin, khng nh hng hay thay i gi tr
ca cc nh khc, v vy ng ra t cc Port cng khng thay i trng thi.
Tng thi gian ca chng trnh con Delay:
Nu s dng thch anh 12MHz th mi chu k my l 1s
Lnh
Mov R7,#0FFH thc hin 1 ln v mt 1 chu k my
Lnh
Djnz R6,Kt1
thc hin 255 ln v mi ln mt 2 chu k my
on lnh
Kt2:
Mov
R6,#0FFH
Kt1:
Djnz
R6,Kt1
;k hiu Kt thay cho kim tra
Djnz
R7,Kt2
on lnh ny c thc hin 255 ln vi mi ln gm
(2552)chu k my ca lnh Djnz
R6,Kt1
v 2 chu k my ca lnh
Djnz
R7,Kt2
v 1 chu k my ca lnh
Mov
R6,#0FFH
Tng cng on trn thc hin (1+(2552)+2)255)=130815 chu k my
Vy tng cng chng trnh con Delay thc hin 130815+1=130816 chu k my tc l
thc hin trong 130816s, khong thi gian gn bng 0.13s. Nh vy trong 1s led sng
khong 4 ln mt ngi c th nhn ra c. Nu m phng vi Pinnacle 52 chng
trnh delay phi chy vi s ln lp li nhiu hn thy c cc trng thi ng ra ca cc
Port, thay on chng trnh con Delay trn bng on chng trnh con nh di y khi
m phng bng Pinnacle 52
;**>>>>>>>>>>>>>>>>>>>>>>>>>>>> delay Pinnacle 52<<<<<<<<<<<<<<<<<<<<<<<<<
Delay:
Mov 70H,#2H
;===>>>> ga'n 70H=#0FFH, 2 chu ki may
Kt3: Mov 71H,#0FFH ;===>>>> ga'n 71H=#0FFH, 2 chu ki may
Kt2: Mov 72H,#0FFH ;===>>>> ga'n 72H=#0FFH, 2 chu ki may
Kt1: Djnz 72H,Kt1
;===>>>> giam 72H xuong 1, 72H khac 0-> giam tiep, 2ckm
Djnz 71H,Kt2
;===>>>> giam 71H xuong 1, khac 0-> ve Kt2
Djnz 70H,Kt3
;===>>>> giam 70H xuong 1, khac 0-> ve Kt3
Ret
;===>>>> ket thuc chuong trinh con
Bi 4. Bi tp t gii.
Lm cho cc led ni Port 2 sng tt xen k nhau, ( n 1,3,5,7 sng, n 2,4,6,8 tt , sau
n 1,3,5,7 tt, n 2,4,6,8 sng. Lp li qu trnh trn). Bit led sng khi tn hiu xut cc chn
Port 2 mc 1. Minh ha trong hnh pha di
59
Bi 5: "sng ln lt"
Phn cng: 8 led ni vi Port 1, c nh v tr nh sau: led 1 ni vi P1.0, ln lt cho
n led 8 (ni vi P1.7). Bit led sng khi tn hiu xut cc chn Port 1 gi tr 1. Vit chng
trnh cc led ni vi Port 1 sng ln lt tng led t led 1 n led 8. Cc qu trnh trn c lp
li khng ngng.
Minh ho:
Cch 1: Cch ny n gin l lm cho cc led sng bng cch thit t cc gi tr thch hp
cho cc bit ca Port lm led sng theo tng trng thi, cch ny n gin nhng cn vit di v
tn dung lng b nh Rom.
Chng trnh:
;******************************************************************************
;**************/////--- LED SANG LAN LUOT -CACH DON GIAN ---\\\\\\ **************
;**-----------------------------------------------------------------------------------------------------------------;**////////////////___ led sang lan luot tu led 1 den led 8-P1________\\\\\\\\\\\\\\\\\\\\\\
;**////////////////___sang o muc 1 va tat o muc 0_________________\\\\\\\\\\\\\\\\\\\\\
;**////////////////___lap di lap lai khong gioi han_________________\\\\\\\\\\\\\\\\\\\\\
;**<<<<<<<<<<<<<<<<<<<------------------------------------------>>>>>>>>>>>>>>
;** \\\\\\\\\\\\------- nap gia tr cho tung trang thai ------------------------////////////////
;******************************************************************************
ORG
000H
; khai bao dia chi de bat dau chuong trinh tren Rom
Mov
P1,#00000000B
;===>>>> lam 8 led noi P1 tat
LCall Delay
;===>>>>goi chuong trinh con Delay
Xuat:
Mov
P1,#00000001B
;===>>>> lam led 1 sang
LCall
Delay
Mov
P1,#00000010B
;===>>>> lam led 2 sang
LCall
Delay
Mov
P1,#00000100B
;===>>>> lam led 3 sang
LCall
Delay
Mov
P1,#00001000B
;===>>>> lam led 4 sang
LCall
Delay
Mov
P1,#00010000B
;===>>>> lam led 5 sang
LCall
Delay
Mov
P1,#00100000B
;===>>>> lam led 6 sang
LCall
Delay
Mov
P1,#01000000B
;===>>>> lam led 7 sang
LCall
Delay
Mov
P1,#10000000B
;===>>>> lam led 8 sang
LCall
Delay
Sjmp
Xuat
;===>>>> nhay ve thuc hien tu dau
;**>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> delay <<<<<<<<<<<<<<<<<<<<<<<<<<<<
Delay:
60
Mov
Mov
Djnz
Djnz
R7,#0FFH
R6,#0FFH
R6,Kt1
R7,Kt2
Chng trnh:
;******************************************************************************
;**************/////--- LED SANG LAN LUOT ---\\\\\\ *******************************
;**------------------------------------------------------------------------------------------------------------------;**////////////////___led sang lan luot tu led 1 den led 8___________\\\\\\\\\\\\\\\\\\\\\\\\\\\
;**///////////////___ sang o muc 1 va tat o muc 0_________________\\\\\\\\\\\\\\\\\\\\\\\\\
;**//////////////____lap di lap lai khong gioi han_________________\\\\\\\\\\\\\\\\\\\\\
;**<<<<<<<<<<<<<<<<<<<---------------------------------------------->>>>>>>>>>>>>>
;** \\\\\\\\\\\\------- nap thanh Ram A=#00000001B------------------------------////////////////
;**\\\\\\\\\\\\\--------ket hop xoay phai thanh Ram A va xuat du lieu---------------////////////////
;******************************************************************************
ORG
000H
; khai bao dia chi de bat dau chuong trinh tren Rom
Mov
P1,#0
;===>>>> lam 8 led noi P1 tat
LCall Delay
;===>>>>goi chuong trinh con Delay
Mov
A,#00000001B ;===>>>> A co gia tri 00000001B
61
Xuat:
Sjmp
Mov
LCall
RL
Xuat
P1,A
Delay
A
62
Cch 1: Cch ny cng nh cch 1 trong bi 5, lm cho cc led sng bng cch thit t cc
gi tr thch hp cho cc Port lm led sng theo tng trng thi, cch ny n gin nhng cn vit
di v tn dung lng b nh Rom.
;*******************************************************************************
;**************/////--- 32 LED SANG LAN LUOT- CACH DON GIAN ---\\\\\\**************
;**------------------------------------------------------------------------------------------------------------------;**////////////////___ led sang lan luot tu led 1 den led 32___________\\\\\\\\\\\\\\\\\\\\\\\\\\\
;**///////////////___ sang o muc 1 va tat o muc 0__________________\\\\\\\\\\\\\\\\\\\\\\\\\
;**//////////////____ lap di lap lai khong gioi han____________________\\\\\\\\\\\\\\\\\\\\\
;**<<<<<<<<<<<<<<<<<<<----------------------------------------------------->>>>>>>>>>>>>>
;** \\\\\\\\\\\\------- nap gia tr cho tung trang thai ------------------------------////////////////
;******************************************************************************
ORG
000H
; khai bao dia chi de bat dau chuong trinh tren Rom
Mov
P0,#0
;===>>>> |||
Mov
P1,#0
;===>>>> ||| cac led deu tat
Mov
P2,#0
;===>>>> |||
Mov
P3,#0
;===>>>> |||
LCall Delay
;===>>>>goi chuong trinh con Delay
Xuat:
;**>>>>>>>>>>>>>>>>>>> lam led P0 sang <<<<<<<<<<<<<<<<<<<<<<
Mov
P0,#00000001B
;===>>>> lam led 1 sang
LCall
Delay
;===>>>>goi chuong trinh con Delay
Mov
P0,#00000010B
;===>>>> lam led 2 sang
LCall
Delay
Mov
P0,#00000100B
;===>>>> lam led 3 sang
LCall
Delay
Mov
P0,#00001000B
;===>>>> lam led 4 sang
LCall
Delay
Mov
P0,#00010000B
;===>>>> lam led 5 sang
LCall
Delay
Mov
P0,#00100000B
;===>>>> lam led 6 sang
LCall
Delay
Mov
P0,#01000000B
;===>>>> lam led 7 sang
LCall
Delay
Mov
P0,#10000000B
;===>>>> lam led 8 sang
LCall
Delay
;**>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>lam led P1 sang <<<<<<<<<<<<<<<<<<<
Mov
P0,#00000000B
;===>>>> lam P0 tat
Mov
P1,#00000001B
;===>>>> lam led 1 sang
LCall
Delay
Mov
P1,#00000010B
;===>>>> lam led 2 sang
LCall
Delay
Mov
P1,#00000100B
;===>>>> lam led 3 sang
LCall
Delay
Mov
P1,#00001000B
;===>>>> lam led 4 sang
LCall
Delay
63
Mov
P1,#00010000B
;===>>>> lam led 5 sang
LCall
Delay
Mov
P1,#00100000B
;===>>>> lam led 6 sang
LCall
Delay
Mov
P1,#01000000B
;===>>>> lam led 7 sang
LCall
Delay
Mov
P1,#10000000B
;===>>>> lam led 8 sang
LCall
Delay
;**>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> lam led P2 sang <<<<<<<<<<<<<<<<<<
Mov
P1,#00000000B
;===>>>> lam P1 tat
Mov
P2,#00000001B
;===>>>> lam led 1 sang
LCall
Delay
Mov
P2,#00000010B
;===>>>> lam led 2 sang
LCall
Delay
Mov
P2,#00000100B
;===>>>> lam led 3 sang
LCall
Delay
Mov
P2,#00001000B
;===>>>> lam led 4 sang
LCall
Delay
Mov
P2,#00010000B
;===>>>> lam led 5 sang
LCall
Delay
Mov
P2,#00100000B
;===>>>> lam led 6 sang
LCall
Delay
Mov
P2,#01000000B
;===>>>> lam led 7 sang
LCall
Delay
Mov
P2,#10000000B
;===>>>> lam led 8 sang
LCall
Delay
;**>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>lam led P1 sang <<<<<<<<<<<<<<<<<<<
Mov
P2,#00000000B
;===>>>> lam P2 tat
Mov
P3,#00000001B
;===>>>> lam led 1 sang
LCall
Delay
Mov
P3,#00000010B
;===>>>> lam led 2 sang
LCall
Delay
Mov
P3,#00000100B
;===>>>> lam led 3 sang
LCall
Delay
Mov
P3,#00001000B
;===>>>> lam led 4 sang
LCall
Delay
Mov
P3,#00010000B
;===>>>> lam led 5 sang
LCall
Delay
Mov
P3,#00100000B
;===>>>> lam led 6 sang
LCall
Delay
Mov
P3,#01000000B
;===>>>> lam led 7 sang
LCall
Delay
Mov
P3,#10000000B
;===>>>> lam led 8 sang
64
LCall
Delay
Mov
P3,#00000000B
;***---------------------------------------Ljmp Xuat
R7,#0FFH
R6,#0FFH
R6,Kt1
R7,Kt2
65
Chng trnh:
;******************************************************************************
;**************/////--- 32 LED SANG LAN LUOT ---\\\\\\ *****************************
;**-----------------------------------------------------------------------------------------------------------------;**////////////////___ led sang lan luot tu led 1 den led 32___________\\\\\\\\\\\\\\\\\\\\\\\\\\\
;**///////////////___ sang o muc 1 va tat o muc 0__________________\\\\\\\\\\\\\\\\\\\\\\\\\
;**//////////////____ lap di lap lai khong gioi han____________________\\\\\\\\\\\\\\\\\\\\\
;**<<<<<<<<<<<<<<<<<<<----------------------------------------------------->>>>>>>>>>>>>>
;** \\\\\\\\\\\\------- su dung lenh xoay phai voi co C-----xoay 32 bit voi C-----------------////////////////
;******************************************************************************
ORG
000H
; khai bao dia chi de bat dau chuong trinh tren Rom
66
Mov
Mov
Mov
Mov
SetB
P0,#0
P1,#0
P2,#0
P3,#0
C
Xoay32bit:
Sjmp
Mov
A,P0
RLC
A
Mov
P0,A
Mov
A,P1
RLC
A
Mov
P1,A
Mov
A,P2
RLC
A
Mov
P2,A
Mov
A,P3
RLC
A
Mov
P3,A
LCall Delay
Xoay32bit
;||||||||||
;||||||||||===>>>> xoay trai P0 voi co nho C
;||||||||||
;@@@@
;@@@@ ===>>>> xoay trai P1 voi co nho C
;@@@@
;#####
;##### ===>>>> xoay trai P2 voi co nho C
;#####
;!!!!!!!!!!!
;!!!!!!!!!!!===>>>> xoay trai P3 voi co nho C
;!!!!!!!!!!!
;===>>>>goi chuong trinh con Delay
;===>>>> nhay ve thuc hien tu dau
Minh ho:
Cch 1: Cch ny n gin l lm cho cc led sng bng cch thit t cc gi tr thch hp
cho cc Port lm led sng theo tng trng thi, cch ny n gin nhng cn vit di v tn dung
lng b nh Rom. Nu cn thit cc bn t gii
Cch 2: Dng lnh xoay A vi c C, mi ln xoay u SetB C (C=1), sau mi ln xoay xut
kt qu ra P0 .t gi tr ban u cho A l #00000000B, v C lun c set ln 1 nn sau ln xoay
u tin thanh ghi A c gi tr l: #00000001B, ln 2: #00000011B, ln3: #00000111B ....
Khi thanh ghi A y: #11111111B chng trnh phi c khi ng li vi gi tr ban u
ca A l #00000000B. nhn bit c khi no thanh ghi A y khi ng li cc thng s,
sau mi ln xoay kim tra c nh C. V sau mi ln xoay gi tr ca c nh C do bit A.7 chuyn
sang.
Chng trnh:
;******************************************************************************
;**************/////--- SANG DAN 8 LED
---\\\\\\ **********************************
;**------------------------------------------------------------------------------------------------------------------;**////////////////___ Sang dan tu led 1 den led 8___________\\\\\\\\\\\\\\\\\\\\\\\\\\\
;**///////////////___ sang o muc 1 va tat o muc 0__________________\\\\\\\\\\\\\\\\\\\\\\\\\
;**//////////////____ lap di lap lai khong gioi han____________________\\\\\\\\\\\\\\\\\\\\\
;**<<<<<<<<<<<<<<<<<<<----------------------------------------------------->>>>>>>>>>>>>>
;******************************************************************************
ORG
000H
; khai bao dia chi de bat dau chuong trinh tren Rom
Tudau:
Mov
P0,#0
;===>>>> lam 8 led noi P0 tat
X1:
LCall Delay
;===>>>>goi chuong trinh con Delay
SetB
C
;===>>>> lam c C len 1
Mov
A,P0
68
RLC
A
;===>>> xoay thanh ghi A
Mov
P0,A
;===>>>> xuat ra led
JNC
X1
;===>>>> nhay ve nhan "X1" neu C=0
Sjmp
Tudau
;===>>>> nhay ve thuc hien tu dau
;**>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> delay <<<<<<<<<<<<<<<<<<<<<<<<<<<<
Delay:
Mov
R7,#0FFH
Kt2:
Mov
R6,#0FFH
Kt1:
Djnz
R6,Kt1
Djnz
R7,Kt2
Ret
;______________________________________________________________________________
End
;===>>>> ket thuc chuong trinh
Bi 10: Bi tp t gii, m rng bi 9
Hy pht trin chng trnh ca bi 9 cho 16 v 32 led.
Bi 11: Bi tp t gii, m rng bi 9: "sng tt dn"
Hy b sung vo cc chng trnh c vit trong bi 9 on chng trnh "tt dn".
Ton b trng thi sng ca led c minh ha trong hnh di, sau hy m rng chng trnh
ny cho 16 v 32 led
Minh ho:
Bi 12: Bi tp t gii: Bi ny mang tn :" Su b"
Phn cng: 32 led ni vi Port 0,1,2,3, c nh v tr nh sau: led 1 ni vi P0.0, ln lt
cho n led 32 (ni vi P3.7), cc led c xp thng hng vi nhau. Bit led sng khi tn hiu xut
mc 1. Vit chng trnh led sng theo minh ho sau y.
Minh ho:
Dng 1: "su b" n gin
Ch :
Lc no cng c 8 led c bt sng
Cc qu trnh c lp li khng gii hn
Khi hot ng, cc led sng tt thnh mt vt sng c chiu di bng 8 led, di chuyn t led
1 n led 32. V vt sng ca led di chuyn ging con su di chuyn nn bi ny c tn l
"Su b", v gi "su" thay cho vt sng.
Sau khi vit xong bi ny, pht trin thm "su b" nh dng 2 v dng 3 trong minh
ha cc hnh di.
Minh ho:
Dng 2: "su b ti"
69
70
Chng trnh:
;******************************************************************************
;**************/////--- SANG DON 8 LED
---\\\\\\ *********************************
;**------------------------------------------------------------------------------------------------------------------;**////////////////___ Sang dan tu led 1 den led 8___________\\\\\\\\\\\\\\\\\\\\\\\\\\\
;**///////////////___ sang o muc 1 va tat o muc 0__________________\\\\\\\\\\\\\\\\\\\\\\\\\
;**//////////////____ lap di lap lai khong gioi han____________________\\\\\\\\\\\\\\\\\\\\\
;**<<<<<<<<<<<<<<<<<<<----------------------------------------------------->>>>>>>>>>>>>>
;******************************************************************************
ORG 000H ; khai bao dia chi de bat dau chuong trinh tren Rom
TuDau:
Mov P0,#00h
Mov R0,#8
;+++>>>so qua trinh thuc hien
Mov 30H,#00h
SD2:
Mov
Mov
01H,00H
R3,# 00h
71
SetB
Lcall
Mov
RLC
Mov
ORL
Mov
Delay
A,R3
A
R3,A
A,30H
P0,A
SD1:
DJNZ R1,SD1
Mov 30H,P0
DJNZ R0,SD2
Ljmp TuDau
;@@@@
;@@@@===>>>xoay trai R3
;@@@@
;+++>>> thuc hien phep OR giua A va 30H, ket qua o A
;===>>>xuat ket qua ra P0
R7,#0FFH
R6,#0FFH
R6,Kt1
R7,Kt2
Bi 16:
Pht trin cc chng trnh vit trong bi 14 v 15 cho 16 led v 32 led
72
TNG QUAN
Trong cc thit b, bo trng thi hot ng ca thit b cho ngi s dng vi thng
s ch l cc dy s n thun, thng ngi ta s dng "led 7 on". Led 7 on c s dng khi
cc dy s khng i hi qu phc tp, ch cn hin th s l , chng hn led 7 on c dng
hin th nhit phng, trong cc ng h treo tng bng in t, hin th s lng sn phm
c kim tra sau mt cng on no ...
Led 7 on c cu to bao gm 7 led n c dng thanh xp theo hnh v c thm mt led
n hnh trn nh th hin du chm trn gc di, bn phi ca led 7 on. 8 led n trn led 7
on c Anode(cc +) hoc Cathode(cc -) c ni chung vi nhau vo mt im, c a chn
ra ngoi kt ni vi mch in. 8 cc cn li trn mi led n c a thnh 8 chn ring, cng
c a ra ngoi kt ni vi mch in. Nu led 7 on c Anode(cc +) chung, u chung ny
c ni vi +Vcc, cc chn cn li dng iu khin trng thi sng tt ca cc led n, led ch
sng khi tn hiu t vo cc chn ny mc 0. Nu led 7 on c Cathode(cc -) chung, u chung
ny c ni xung Ground (hay Mass), cc chn cn li dng iu khin trng thi sng tt ca
cc led n, led ch sng khi tn hiu t vo cc chn ny mc 1.
73
5.2
KT NI VI VI IU KHIN
M hin th led 7
on dng nh phn
M hin th led 7 on
dng thp lc phn
hgfedcba
0
11000000
C0
11111001
F9
10100100
A4
10110000
B0
10011001
99
10010010
92
11000010
82
11111000
F8
10000000
80
10010000
90
10001000
88
10000011
83
11000110
C6
10100001
A1
10000110
86
10001110
8E
10111111
BF
74
Bng m hin th led 7 on dnh cho led 7 on c Cathode chung (cc led n sng mc 1):
S hin
th trn M hin th led 7 on M hin th led 7 on dng thp
dng nh phn
lc phn
led 7
on
5.3
00111111
3F
00000110
06
01011011
5B
01001111
4F
01100110
66
01101101
6D
01111101
7D
00000111
07
01111111
7F
01101111
6F
01110111
77
01111100
7C
00111001
39
01011110
5E
01111001
79
01110001
71
01000000
40
khin iu khin on/off cho led 7 on, mi ng ra iu khin ON/OFF cho 1 led 7 on, (ON: led
7 on c cp ngun hin th, OFF: led 7 on b ngt ngun nn khng hin th c).
S kt ni thc t nh hnh di:
76
MC LC
BI 1: CU TRC VI IU KHIN.................................................................................................1
1.1
GII THIU ........................................................................................................................1
1.1.1. S lc v vi x l: ............................................................................................................1
1.1.2. T Vi x l n Vi iu khin ...........................................................................................1
1.1.3. H MSC-51 ........................................................................................................................2
1.1.4. Cc loi vi iu khin khc ................................................................................................3
1.2
S LC PHN CNG VI IU KHIN-GIAO TIP BN NGOI ...........................3
1.2.1. Kho st s chn............................................................................................................4
1.2.2 Kt ni phn cng ...............................................................................................................6
1.3
CU TRC BN TRONG CA VI IU KHIN ...........................................................8
1.3.1
B nh chng trnh - b nh ROM ............................................................................8
1.3.2
B nh d liu- b nh RAM ......................................................................................9
BI 2: LP TRNH CHO VI IU KHIN ....................................................................................14
2.1
GII THIU ......................................................................................................................14
2.2
TNG QUAN V NGN NG ASSEMBLY .................................................................14
2.3
MT S QUI C KHI LP TRNH VI HP NG ASSEMBLER..........................15
2.4
TP LNH TRONG VI IU KHIN.............................................................................16
2.4.1 Nhm lnh di chuyn ........................................................................................................16
2.4.2 Nhm lnh s hc..............................................................Error! Bookmark not defined.
2.4.3 Nhm lnh Logic...............................................................................................................29
2.4.4 Nhm lnh r nhnh ..........................................................................................................37
2.4.5 Nhm lnh x l bit ..........................................................................................................41
BI 3: THIT K MCH TH NGHIM V PHN MM BIN DCH & M PHNG .........44
3.1
MCH THC THI ............................................................................................................44
3.1.1 Khi n p .........................................................................................................................44
3.1.2
Vi iu khin v cc mch I/O ...................................................................................44
3.1.3
Mch vi iu khin.....................................................................................................45
3.1.4
Mt s linh kin..........................................................................................................46
3.2
MCH NP.......................................................................................................................48
3.3
CHNG TRNH NP ISP..............................................................................................50
3.3.1 Son tho v bin dch ......................................................................................................51
3.3.2 Hng dn m phng cc trng thi ca vi iu khin.....................................................51
BI 4: THC HNH VI LED N..............................................................................................53
4.1
MT S QUI NH..........................................................................................................53
4.1.1 Ch thch: ..........................................................................................................................53
4.1.2 Tht dng, Ch hoa- ch thng ......................................................................................53
4.1.3 Kt thc chng trnh........................................................................................................54
4.1.4 Qui nh v s ...................................................................................................................54
4.2
BI THC HNH: ...........................................................................................................55
4.3
GII THUT V LU ..............................................................................................56
BI 5: GIAO TIP VI LED 7 ON ............................................................................................73
5.1
TNG QUAN ....................................................................................................................73
5.2
KT NI VI VI IU KHIN.......................................................................................74
5.3
GIAO TIP VI IU KHIN VI NHIU LED 7 ON : ...........................................75
77