You are on page 1of 78

Lp trnh vi iu khin vi AT89S52

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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

Bng 1
89C51
89C52
89C53
89C55

Dung lng RAM


128 byte
128 byte
128 byte
128 byte

Dung lng ROM


4 Kbyte
8 Kbyte
12 Kbyte
20 Kbyte

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

Dung lng RAM


128 byte
128 byte
128 byte
128 byte

Dung lng ROM


4 Kbyte
8 Kbyte
12 Kbyte
20 Kbyte

Ch np
ni tip
ni tip
ni tip
ni tip

Tt c cc Vi iu khin trn u c c tnh c bn ging nhau v phn mm (cc tp lnh


lp trnh nh nhau), cn phn cng c b sung vi chip c m s hai s cui cao hn, cc Vi
iu khin sau ny c nhiu tnh nng vt tri hn Vi iu khin th h trc. Cc Vi iu khin
89Cxx nh trong bng 1 c cu to ROM v RAM nh 98Sxx trong bng 2, tuy nhin 98Sxx c
b sung mt s tnh nng v c thm ch np ni tip.
Trn th trng hin nay c rt nhiu loi sch hng dn v Vi iu khin vi nhiu loi
khc nhau nh 8051, 89C51, 89S8252, 89S52 v.v... cc sch ny u hng dn c th v phn
cng cng nh cch thc lp trnh. Chng trnh phn mm dnh cho cc Vi iu khin ny l nh
nhau, v vy bn c th tham kho thm v Vi iu khin cc sch ny.
Cc phn thc hnh trn phn cng thc t, chng ti s cng cc bn thc hnh vi Vi iu
khin 89S52 (M y :AT89S52; AT l vit tt ca nh sn xut ATMEL) v :

Cc Vi iu khin 89Sxx c ci tin t dng 89Cxx


Chng trnh vit dnh cho 89Cxx u chy c vi 89Sxx
89Sxx r hn 89Cxx
89Sxx c ch np ni tip vi mch np n gin c kh nng np ngay trn bo mch
m khng cn tho chip vi iu khin sang mch khc np chng trnh v nhiu tnh
nng ci tin khc.

1.1.4. Cc loi vi iu khin khc

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.

S LC PHN CNG VI IU KHIN-GIAO TIP BN NGOI


Cc thnh vin ca h MCS-51 (Atmel) c cc c im chung nh sau:
3

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

C 4/8/12/20 Kbyte b nh FLASH ROM bn trong lu chng trnh. Nh vy Vi


iu khin c kh nng np xo chng trnh bng in n 10.000 ln
128 Byte RAM ni
4 Port xut/nhp 8 bit
T 2 n 3 b nh thi 16-bit
C kh nng giao tip truyn d liu ni tip
C th m rng khng gian nh chng trnh ngoi 64KByte (b nh ROM ngoi): khi
chng trnh do ngi lp trnh vit ra c dung lng ln hn dung lng b nh ROM
ni, lu c chng trnh ny cn b nh ROM ln hn, cch gii quyt l kt ni
Vi iu khin vi b nh ROM t bn ngoi (hay cn gi l ROM ngoi). Dung lng
b nh ROM ngoi ln nht m Vi iu khin c th kt ni l 64Kbyte
C th m rng khng gian nh d liu ngoi 64KByte (b nh RAM ngoi)
B x l bit (thao tc trn cc bit ring r)
210 bit c th truy xut n tng bit

1.2.1. Kho st s chn


Mc d cc thnh vin ca h MSC-51 c nhiu kiu ng v khc nhau, chng hn nh hai
hng chn DIP (Dual In-line Pakage) dng v dt vung QFP (Quad Flat Pakage) v dng chp
khng c chn LLC (Leadless Chip Carrier) v u c 40 chn cho cc chc nng khc nhau
nh vo ra I/0, c, ghi, a ch, d liu v ngt. Tuy nhin, v hu ht cc nh pht trin chnh dng
chp ng v 40 chn vi hai hng chn DIP, nn chng ta cng kho st Vi iu khin vi 40 chn
dng DIP.

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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

Chc nng l bus d liu v bus a ch (AD7-AD0) : 8 chn ny (hoc Port 0) cn lm


nhim v ly d liu t ROM hoc RAM ngoi (nu c kt ni vi b nh ngoi), ng thi Port 0
cn c dng nh a ch ca b nh ngoi.
- Port 1 (P1) Port 1 gm 8 chn (t chn 1 n chn 8), ch c chc nng lm cc ng
xut/nhp, khng c chc nng khc.
- Port 2 (P2) Port 2 gm 8 chn (t chn 21 n chn 28) c hai chc nng:
Chc nng xut/nhp
Chc nng l bus a ch cao (A8-A15): khi kt ni vi b nh ngoi c dung lng ln, cn
2 byte nh a ch ca b nh, byte thp do P0 m nhn, byte cao do P2 ny m nhn.
- Port 3 (P3) Port 3 gm 8 chn (t chn 10 n 17):
Chc nng xut/nhp
Vi mi chn c mt chc nng ring th hai nh trong bng sau
Bit
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
P1.0
P1.1

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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

- 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

Ghi ch: C1,C2= 30pF10pF (thng c s dng vi C1,C2 l t 33pF) dng n nh


dao ng cho thch anh. Hoc c th cp tn hiu xung clock ly t mt mch to dao ng no
v a vo Vi iu khin theo hnh 1.3. Trong NC: trng, chn XTAL2 trng
2. Chu k my
Gi fzat l tn s dao ng ca thch anh. i vi 89Sxx c th s dng thch anh c tn s
fzat t 2MHz n 33MHz.
Chu k my l khong thi gian cn thit c qui nh Vi iu khin thc hin hon
thnh mt lnh c bn. Mt chu k my bng 12 ln chu k dao ng ca ngun xung dao ng cp
cho n.
Tck = 12.Toc
Vi: Tck l chu k my
Toc l chu k ca ngun xung dao ng cp cho Vi iu khin

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.

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

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

b. Cho led sng khi Vi iu khin xut mc 1:


Nh trnh by v ng ra Vi iu khin khi xut mc 1 khng cho led sng, led
sng c cn t thm mt in tr ko ln ngun VCC (gi l in tr treo hnh 1.6).
7

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

Tu tng trng hp m chn R2 dng v p ph hp vi thit b nhn.


Khi Px.x mc 0, c s chnh lch p gia ngun VCC v chn Px.x - dng in i t VCC
qua R2 v Px.x v Mass, do hiu in th gia hai chn led gn nh bng 0, led khng sng.
Khi Px.x mc 1 (+5V), dng in khng chy qua chn Vi iu khin v mass c, c
s lch p gia hai chn led, dng in trong trng hp ny qua led v Mass do led sng.
R2 thng c s dng vi gi tr t 4.7K n 10K. Nu tt c cc chn trong 1 Port
u kt ni tc ng mc cao th in tr R2 c th thay bng in tr thanh 9 chn v n c
hnh dng v s dng d hn khi lm mch in.
c. Ngoi cch s dng in tr treo, vic s dng cng m cng c tc dng thay i
cng dng in xut ra khi ng ra mc 1, cng m xut ra tn hiu mc 1 vi p v dng
ln khi c tn hiu mc 1 t ng vo. Ty theo yu cu ca ngi thit k v dng v p cn
thit m chn IC m cho ph hp. Chng hn t mt ng ra P0.0 lm nhiu led sng cng lc th
vic s dng IC m c u tin hn.
C th s dng 74HC244 hoc 74HC245, tuy nhin 74HC245 c ci tin t 74HC244
nn vic s dng 74HC245 d dng hn trong thit k mch.

Hnh 1.7

1.3

CU TRC BN TRONG CA VI IU KHIN

1.3.1

B nh chng trnh - b nh ROM

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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

ROM, chng trnh c lu s b mt khi a ch lu vt qua vng ny. V d: AT89S52 c


8KByte b nh ROM ni, a ch ln nht l 1FFFH, nu chng trnh vit ra c dung lng ln
hn 8KByte cc byte trong cc a ch ln hn 1FFFH s b mt.
Ngoi ra Vi iu khin cn c kh nng m rng b nh ROM vi vic giao tip vi b nh
ROM bn ngoi ln n 64Kbyte (a ch t 0000H n FFFFH).
1.3.2

B nh d liu- b nh RAM

B nh RAM dng lm mi trng x l thng tin, lu tr cc kt qu trung gian v kt qu


cui cng ca cc php ton, x l thng tin. N cng dng t chc cc vng m d liu, trong
cc thao tc thu pht, chuyn i d liu.
RAM ni trong Vi iu khin c t chc nh sau:

Cc v tr trn RAM c nh a ch theo tng Byte bng cc s thp lc phn (s Hex)


Cc bank thanh ghi c a ch 00H n 1FH
210 v tr c nh a ch bit
cc v tr RAM bnh thng
Cc thanh ghi c chc nng c bit c a ch t 80H n FFH.

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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

CU TRC B NH RAM BN TRONG VI IU KHIN


a ch
byte

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

Bank thanh ghi 0


Mc nh c gn t R0-R7

80

10

87

86

85

84

83

82

81

80

P0

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

1. Cc bank thanh ghi


Cc bank thanh ghi c a ch byte t 00H1FH, c 8 thanh ghi trong mi bank, cc thanh
ghi c t tn t R0R7, cc thanh ghi ny c t mc nh trong bank 1. C 4 bank thanh ghi
v ti mi thi im ch c mt bank thanh ghi c truy xut vi cc thanh ghi t R0R7, thay
i vic truy xut cc thanh ghi trn cc bank thanh ghi, ngi dng phi thay i gi tr cc bit
chn bank trong thanh ghi trng thi PSW bng cc cu lnh trong chng trnh.
Cc lnh dng cc thanh ghi t R0 R7 mt khong khng gian lu tr t hn v thi gian
thc hin nhanh hn so vi cc lnh dng cc nh RAM khc, ngoi ra cc thanh ghi ny cn c
thm mt s chc nng c bit khc, v l do ny cc d liu s dng thng thng c ngi
vit chng trnh a vo lu trong cc thanh ghi ny.
Ngoi ra, c th truy xut thanh ghi trn cc bank thanh ghi nh vi cc nh bnh thng
khc. V d: ngui dng c th truy xut n thanh ghi R7 bng nh 07H.
2. Vng RAM truy xut tng bit
Trn RAM ni c 210 nh bit c nh a ch v c th truy xut n tng bit, cc bit nh
ny cng c nh a ch bng cc s thp lc phn- s Hex. Trong c 128 bit nm trong cc
nh c a ch byte t 20H n 2FH, cc bit nh cn li cha trong nhm thanh ghi c chc nng c
bit.
Mc d cc bit nh v nh (byte) cng c nh bng s Hex, tuy nhin chng s c
nhn dng l a ch bit hay a ch byte thng qua cc cu lnh tng ng dnh cho cc bit nh
hoc cc nh ny.
V d:
mov 05H,#10111111B ; >>> lnh ny thit lp gi tr cho nh c a ch l 05H
JB
05H,nhan01
; >>> lnh ny lin quan n trng thi ca bit nh c a ch
05H
3. Vng RAM bnh thng
Vng RAM ny c a ch byte t 30H 7FH, dng lu tr d liu, c truy xut theo tng byte.
4. Cc thanh ghi c chc nng c bit
Cc thanh ghi ny c nh a ch byte, mt s c nh thm a ch bit, c a ch ca
cc thanh ghi ny nm trong khong 80H FFH. Cc thanh ghi c bit ny ny c dng xc
lp trng thi hot ng cn thit cho Vi iu khin.
a. Cc thanh ghi c a ch 80H, 90H, A0H, B0H:
y l cc thanh ghi kim tra v iu khin mc logic ca cc Port, c th truy xut v xc
lp cc thanh ghi ny vi a ch byte hoc tn ring ln lt l P0, P1, P2, P3 tng ng vi cc
Port xut. Chng hn tt c cc chn ca Port 0 ln mc logic 1, cn lm cho cc bit ca thanh
ghi c a ch 80H ln mc 1.
b. Thanh ghi A
Thanh ghi A l thanh ghi quan trng, dng lu tr cc ton hng v kt qu ca php
tnh.
Thanh ghi A c di 8 bits, c a ch l E0H.
11

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

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

Chc nng tng bit trong thanh trng thi PSW


C nh C:
C c s dng trong cc lnh ton hc:
C=1 nu php ton cng xy ra trn hoc php tr c mn
C=0 nu php ton cng khng trn hoc php tr khng c mn.
C nh ph AC:
C AC c dng trong cc php ton cng hai s BCD.
Khi cng s BCD:
Nu kt qu 4 bit ln hn 09H th AC=1
Nu kt qu 4 bit di 09H th AC=0.
C 0 hay c nh Z:
C Z = 0 khi thanh ghi A c gi tr khc 0
C Z =1 khi A thanh ghi A c gi tr l 0
12

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

Cc bit chn bank thanh ghi:


Hai bit RS1 v RS2 dng xc lp bank thanh ghi c s dng, mc nh RS1=0 v
RS2=0
RS1

RS2

Bank thank ghi c


s dng

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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

BI 2: LP TRNH CHO VI IU KHIN


2.1

GII THIU

Vi iu khin l mt IC lp trnh, v vy Vi iu khin cn c lp trnh trc khi s dng.


Mi phn cng nht nh phi c chng trnh ph hp km theo, do trc khi vit chng trnh
i hi ngi vit phi nm bt c cu to phn cng v cc yu cu m mch in cn thc
hin.
Chng trnh l tp hp cc lnh c t chc theo mt trnh t hp l gii quyt cc yu
cu ca ngi lp trnh. Tp hp tt c cc lnh gi l tp lnh. H Vi iu khin MSC-51 u c
chung mt tp lnh, cc Vi iu khin c ci tin sau ny thng t thay i hoc m rng tp
lnh m ch trng pht trin phn cng.
Lnh ca Vi iu khin l cc s nh phn 8 bit hay cn gi l m my. Cc lnh mang m
00000000b n 11111111b. Cc m lnh ny c a vo lu tr trong ROM, khi thc hin
chng trnh Vi iu khin c cc m lnh ny, gii m, v thc hin lnh.
V cc lnh ca Vi iu khin c dng s nh phn qu di v kh nh, hn na vic g li
khi chng trnh pht sinh li rt phc tp v kh khn. Kh khn ny c gii quyt vi s h tr
ca my vi tnh, ngi vit chng trnh c th vit chng trnh cho vi iu khin bng cc ngn
ng lp trnh cp cao, sau khi vic vit chng trnh c hon tt, cc trnh bin dch s chuyn
cc cu lnh cp cao thnh m my mt cch t ng. Cc m my ny sau c a (np) vo
b nh ROM ca Vi iu khin, Vi iu khin s tm n c cc lnh t ROM thc hin
chng trnh. Bn thn my tnh khng th thc hin cc m my ny v chng khng ph hp vi
phn cng my tnh, mun thc hin phi c cc chng trnh m phng dnh ring.
Chng trnh cho Vi iu khin c th vit bng C++, C, Visual Basic, hoc bng cc ngn
ng cp cao khc. Tuy nhin hp ng Assembler c a s ngi dng Vi iu khin s dng
lp trnh, v l do ny chng ti chn Assembly hng dn vit chng trnh cho Vi iu khin.
Assembly l mt ngn ng cp thp, trong mi cu lnh chng trnh tng ng vi mt ch
lnh m b x l c th thc hin c. u im ca hp ng Assembly l: m gn, t chim dung
lng b nh, hot ng vi tc nhanh, v n c hiu sut tt hn so vi cc chng trnh vit
bng ngn ng bc cao khc.
2.2

TNG QUAN V NGN NG ASSEMBLY

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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

2.3

MT S QUI C KHI LP TRNH VI HP NG ASSEMBLER

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

Tn qui c i din cho

V d Lnh s
dng tn qui c

V d khi s dng

Cc thanh ghi cc Bank thanh ghi


Khi s dng thay n bng cc s t 0 n 7: Mov A,Rn
R0, R1, R2, R3, R4, R5, R6, R7
D liu 8 bit, khi s dng data c th vit
di dng :
Mov A,#data
s nh phn (Vd: #00110011b)
s thp lc phn (Vd: #0A6H)
s thp phn (Vd: #21)
nh c a ch l direct, direct c thay
bng a ch t 00H n FFH khi vit
Mov A,direct
chng trnh.

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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

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

TP LNH TRONG VI IU KHIN


Tp lnh trong Vi iu khin c chia lm 5 nhm:
Nhm lnh di chuyn d liu
Nhm lnh s hc
Nhm lnh logic
Nhm lnh r nhnh
Nhm lnh x l bit

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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

2. Lnh chuyn d liu t nh c a ch direct vo thanh ghi A:


C php:
Mov A,direct
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 nh c a ch bng direct vo thanh ghi A.
V d: Gi s thanh ghi c a ch 33H mang d liu vi gi tr l 09H (00001001B)
Lnh Mov A,33H
Sau khi lnh c thc hin A mang d liu gi tr 09H
3. Lnh chuyn d liu t nh c a ch gin tip vo thanh ghi A:
C php:
Mov A,@Ri
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 1 chu k my
Cng dng: chuyn d liu ca nh 'c a ch bng gi tr ca thanh ghi Ri' vo thanh ghi
A.
V d: Gi s trc khi thc hin lnh nh c a ch 33H mang d liu vi gi tr l 09H
(00001001B) v thanh ghi R1 c thit lp gi tr l 33H.
Lnh
Mov A,@R1
Khi lnh c thc hin A nhn d liu t nh c v tr bng gi tr c thit lp trong
thanh ghi R1, tc l A nhn d liu t nh c a ch l 33H, ch : trc nh 33H
mang d liu l 09H.
Sau khi lnh c thc hin A mang gi tr l 09H (00001001B)
4. Lnh a d liu vo thanh ghi A
C php:
Mov A,#data
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 1 chu k my
Cng dng: thit lp d liu cho thanh ghi A
V d: Mun thanh ghi A mang d liu c gi tr l 56H ta thc hin lnh
Mov A,#56H
Sau khi lnh c thc hin A mang gi tr l 56H
5. Lnh chuyn d liu t A vo thanh ghi Rn
C php:
Mov Rn,A
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 1 chu k my
Cng dng: chuyn d liu t thanh ghi A vo thanh ghi Rn (n=0-7)
V d:
Mov A,#56H
Mov R1,A
Sau khi cc lnh c thc hin R1 mang gi tr l 56H
6. Lnh chuyn d liu t mt nh c a ch direct vo thanh ghi Rn
C php:
Mov Rn,direct
Lnh ny chim dung lng b nh ROM l 2 Byte
17

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

Thi gian thc hin: 1 chu k my


Cng dng: chuyn d liu ca nh c a ch direct vo thanh ghi Rn (n=0-7)
V d: gi s nh 55H mang d liu c gi tr l A3H
Mov
R4,55H
Sau khi cc lnh c thc hin R4 mang gi tr l A3H
7. Thit t d liu cho thanh ghi Rn
C php:
Mov Rn,#data
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 1 chu k my
Cng dng: thit t d liu cho thanh ghi Rn
V d: Mun thanh ghi Rn mang d liu c gi tr l 37H ta thc hin lnh
Mov A,#37H
Sau khi lnh c thc hin A mang gi tr l 37H
8. Lnh chuyn d liu t thanh ghi A vo mt nh c a ch direct
C php:
Mov direct,A
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 1 chu k my
Cng dng: chuyn d liu t thanh ghi A vo mt nh c a ch direct.
V d:
Mov A,#77H
Mov 69H,A
Sau khi cc lnh c thc hin nh 69H mang gi tr l 77H (gi tr ca cc bit c thit
lp trong nh 69H l 01110111B )
9. Lnh chuyn d liu t thanh ghi Rn vo mt nh c a ch direct
C php:
Mov direct,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 t thanh ghi A vo mt nh c a ch direct
V d:
Mov Rn,#78H
Mov 7AH,Rn
Sau khi cc lnh c thc hin nh 7AH mang gi tr l 78H
10. Lnh chuyn d liu t mt nh c a ch direct ny vo mt nh c a ch direct khc
C php:
Mov direct,direct
Lnh ny chim dung lng b nh ROM l 3 Byte
Thi gian thc hin: 1 chu k my
Cng dng: chuyn d liu t nh c a ch direct ny vo mt nh c a ch direct
khc
V d: gi s thanh ghi 20H mang d liu c gi tr l FFH
Mov 22H,20H
Sau khi lnh c thc hin thanh ghi 22H mang gi tr l FFH

18

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

11. Lnh a d liu vo nh c a ch direct


C php:
Mov direct,#data
Lnh ny chim dung lng b nh ROM l 3 Byte
Thi gian thc hin: 2 chu k my
Cng dng: thit lp d liu cho nh c a ch direct
V d:
Mov 52H,#43H
Sau khi cc lnh c thc hin nh 52H mang gi tr l 43H
12. Lnh chuyn d liu t mt nh c a ch gin tip vo nh c a ch direct
C php:
Mov direct,@Ri
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 2 chu k my
Cng dng: Chuyn d liu ca nh c a ch bng gi tr ca thanh ghi Ri vo nh c
a ch direct
V d:
Mov 30H,#46H
Mov R0,#30H
Mov 23H, @R0
Sau khi cc lnh c thc hin nh 23H mang gi tr l 46H
13. Lnh chuyn d liu t thanh ghi A vo nh c a ch gin tip
C php:
Mov @Ri,A
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 1 chu k my
Cng dng: Chuyn d liu ca thanh ghi A vo nh c a ch bng gi tr ca thanh ghi
Ri
V d:
Mov A,#33H
Mov R1,#22H
Mov @R0,A
Sau khi lnh c thc hin nh 22H mang gi tr l 33H
14. Lnh chuyn d liu t mt nh c a ch direct vo nh c a ch gin tip
C php:
Mov @Ri,direct
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 2 chu k my
Cng dng: Chuyn d liu ca nh c a ch direct vo nh c a ch bng gi tr ca
thanh ghi Ri
V d:
Mov 4BH,#2AH
Mov R0,#2AH
Mov @R0,4BH
Sau khi lnh c thc hin nh 2AH mang gi tr l 2AH
15. Lnh a d liu vo nh c a ch gin tip
C php:

Mov

@Ri,#data
19

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

Lnh ny chim dung lng b nh ROM l 2 Byte


Thi gian thc hin: 1 chu k my
Cng dng: Thit t d liu cho nh c a ch bng gi tr ca thanh ghi Ri
V d:
Mov R0,#3BH
Mov @R0,#27H
Sau khi lnh c thc hin nh 3BH mang gi tr l 27H
16. Lnh a d liu vo con tr d liu DPTR
C php:
Mov DPTR,#data16
Lnh ny chim dung lng b nh ROM l 3 Byte
Thi gian thc hin: 2 chu k my
Cng dng: Thit t d liu cho con tr d liu vi d liu 16 bit, thc cht d liu c
lu hai thanh ghi DPL (byte thp-a ch byte 82H) v DPH (byte cao-a ch byte 83H).
V d:
Mov DPTR,#3A5FH
Sau khi lnh c thc hin DPTR mang gi tr l 3A5FH
DPL mang gi tr 5FH v DPL mang gi tr 3AH
17. Lnh trao i d liu gia nh c a ch direct vi thanh ghi A
C php:
XCH
A,direct
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 1 chu k my
Cng dng: Trao i d liu ca thanh ghi A vi nh c a ch direct, tc l sau khi thc
hin lnh nh c a ch direct mang d liu ca thanh ghi A trc v thanh ghi A
mang d liu ca nh c a ch direct.
V d:
Mov A,#0FAH
Mov 50H,#60H
XCH A,50H
Kt qu : A mang gi tr l 60H, 50H mang gi tr l 0FAH
18. Lnh trao i d liu gia thanh ghi Rn v thanh ghi A
C php:
XCH
A,Rn
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 1 chu k my
Cng dng: Trao i d liu ca thanh ghi A vi thanh ghi Rn.
19. Lnh trao i d liu gia thanh ghi c a ch gin tip v thanh ghi A
C php:
XCH
A,@Ri
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 1 chu k my
Cng dng: Trao i d liu ca thanh ghi A vi nh c a ch bng gi tr lu gi trong
thanh ghi Ri
20. Lnh trao i d liu 4 bit gia thanh ghi c a ch gin tip v thanh ghi A
C php:
XCHD
A,@Ri
Lnh ny chim dung lng b nh ROM l 1 Byte
20

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

Thi gian thc hin: 1 chu k my


Cng dng: Trao i d liu ca 4 bit thp thanh ghi A vi d liu ca 4 bit thp nh
c a ch bng gi tr lu gi trong thanh ghi Ri
21. Lnh truy xut d liu t ROM ni
C php:
MovC
A,@A+DPTR
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 2 chu k my
Cng dng: Chuyn d liu t b nh ROM c a ch bng gi tr ca A cng vi DPTR
vo thanh ghi A
Cc lnh cn li trong nhm lnh di chuyn
MovC
MovC
MovX
MovX
MovX
PUSH
POP

A,@A+PC
A,@i
A,@DPTR
A,@Ri
@DPTR,A
direct
direct

2.4.2 Nhm lnh s hc


theo di cc lnh trong phn ny, cc bn xem li phn: cc nh c chc nng c
bit v ch phn Thanh ghi trng thi chng trnh PSW.
Phn ph ch: nh hng ca php cng v tr ln thanh trng thi PSW.
C nh C:
C=1 nu php ton cng xy ra trn hoc php tr c mn
C=0 nu php ton cng khng trn hoc php tr khng c mn.
Php cng xy ra trn l php cng m kt qu ln hn 255 (hay FFH hay 11111111b), lc
ny C=1
V d: php cng khng trn
S cng
S cng
Kt qu
C nh C

38H
+3AH
72H
0

56
58
114

00111000b
00111010b
01110010b
0

Php cng trn


S cng
S cng
Kt qu
C nh C

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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

3. Lnh cng d liu trn thanh ghi A vi d liu ca nh c a ch gin tip:


C php:
Add A,@Ri
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 ca nh c a ch
bng gi tr ca thanh ghi Ri, 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:
AC = 1 ;c C ang mang gi tr 1
Mov
50H,#60H
Mov
R2,#50H
Mov
A,#01H
Add
A,@R2
Kt qu : A = #61H
R2 = #50H
C=0
;c C mang gi tr 0
4. Lnh cng d liu trn thanh ghi A vi d liu xc nh:
C php:
Add A,#data
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 mt gi tr xc nh, 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,#05h
Add
A,#06h
Kt qu :
A = #0Bh
C=0
5. Lnh cng d liu trn thanh ghi A vi d liu trn thanh ghi Rn c s nh c C:
C php:
AddC 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 v
cng thm gi tr ca s nh trn c C, 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:
C=1
Mov
A,#08h
Mov
R1,#10h
Addc
A,R1
Kt qu :
A = #19h
;cng c c C
R1 = #10h
C =0

23

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

6. Lnh cng d liu trn thanh ghi A vi d liu nh c a ch direct v gi tr s nh c C:


C php:
AddC 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 ca nh c a ch
direct v cng thm gi tr ca s nh trn c C, 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:
C=0
Mov A,#0A5h
Mov 10h,#96h
Addc A,10h
Kt qu :
A = #3Bh
10h = #96h
C =1
7. Lnh cng d liu trn thanh ghi A vi d liu ca nh c a ch gin tip v s nh c C:
C php:
AddC A,@Ri
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 ca nh c a ch bng
gi tr ca thanh ghi Ri v cng thm gi tr ca s nh trn c C, 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:
C=1
Mov A,#05h
Mov 50h,#10h
Mov R2,#50h
Addc a,@R2
Kt qu :
A = #16h
C=0
8. Lnh cng d liu trn thanh ghi A vi d liu xc nh v s nh c C:
C php:
AddC A,#data
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 xc nh v cng thm gi tr
ca s nh trn c C, 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:
C=1
Mov A,#05h
Addc A,#16h
Kt qu :
A = #1Ch
C=0
9. Lnh tr d liu trn thanh ghi A vi d liu trn thanh ghi Rn v s nh c C:
C php:

SubB

A,Rn
24

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

Lnh ny chim dung lng b nh ROM l 1 Byte


Thi gian thc hin: 1 chu k my
Cng dng: Tr gi tr d liu trn thanh ghi A vi gi tr d liu trn thanh ghi Rn v tr
cho gi tr nh trn c C, 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:
C= 1
Mov A,#0E5h
Mov R3,#9Fh
Subb A,R3
kt qu :
A = 45h
C=0
10. Lnh tr d liu trn thanh ghi A vi d liu nh c a ch direct v s nh c C:
C php:
SubB A,direct
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 1 chu k my
Cng dng: Tr gi tr d liu trn thanh ghi A vi gi tr d liu ca nh c a ch direct
v tr cho gi tr nh trn c C, 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:
C= 0
Mov A,#0E5h
Mov 05h,#9Fh
Subb A,05h
kt qu :
A = 46h
C=0
11. Lnh tr d liu trn thanh ghi A vi d liu ca nh c a ch gin tip v s nh c C:
C php:
SubB A,@Ri
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 1 chu k my
Cng dng: Tr gi tr d liu trn thanh ghi A vi gi tr d liu ca nh c a ch bng
gi tr ca thanh ghi Ri v tr cho gi tr nh trn c C, 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:
C= 1
Mov A,#0E5h
Mov 4Fh,#50h
Mov R3,#4Fh
Subb A,@R3
kt qu :
A = 94h
C=0
12. Lnh tr d liu trn thanh ghi A vi d liu xc nh v s nh c C:
C php:
SubB A,#data
Lnh ny chim dung lng b nh ROM l 2 Byte
25

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

Thi gian thc hin: 1 chu k my


Cng dng: Tr gi tr d liu trn thanh ghi A vi gi tr xc nh v tr thm gi tr nh
trn c C, 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:
C= 0
Mov A,#05h
Subb A,#4Fh
kt qu :
A = 0B6h
C=1
13. Lnh tng gi tr d liu trn thanh ghi A ln 1 n v:
C php:
Inc A
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 1 chu k my
Cng dng: Tng gi tr d liu lu gi trn thanh ghi A ln 1 n v, khng nh hng n
cc c nh trn PSW
V d:
Mov A,#05h
Inc A
Kt qu :
A = #06h
14. Lnh tng gi tr d liu trn thanh ghi Rn ln 1 n v:
C php:
Inc Rn
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 1 chu k my
Cng dng: Tng gi tr d liu lu gi trn thanh ghi Rn ln 1 n v, khng nh hng
n cc c nh trn PSW
V d:
Mov R7,#0Fh
Inc
R7
Kt qu :
R7 = #10h
15. Lnh tng gi tr d liu nh c a ch direct ln 1 n v:
C php:
Inc direct
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 1 chu k my
Cng dng: Tng gi tr d liu mt nh c a ch direct ln 1 n v, khng nh hng
n cc c nh trn PSW
V d:
Mov 50h,#0FFh
Inc
50h
Kt qu :
50h = #00
16. Lnh tng gi tr d liu nh c a ch gin tip ln 1 n v:
C php:
Inc @Ri
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 1 chu k my

26

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

Cng dng: Tng gi tr d liu nh c a ch bng gi tr d liu trn Ri ln 1 n v,


khng nh hng n cc c nh trn PSW
V d:
Mov R0,#0Fh
Inc
@R0
Kt qu :
R0 = #06h
0Fh = #05h
17. Lnh tng gi tr ca con tr d liu DPTR ln 1 n v:
C php:
Inc DPTR
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 2 chu k my
Cng dng: Tng gi tr d liu ca thanh ghi con tr d liu DPTR ln 1 n v, khng nh
hng n cc c nh trn PSW
V d:
Mov DPTR,#5Fh
Inc
DPTR
Kt qu :
DPTR = #060h
18. Lnh gim gi tr d liu trn thanh ghi A xung 1 n v:
C php:
Dec A
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 1 chu k my
Cng dng: Gim gi tr d liu lu gi trn thanh ghi A xung 1 n v, khng nh hng
n cc c nh trn PSW
V d:
Mov A,#05h
Dec A
Kt qu :
A = #04h
19. Lnh gim gi tr d liu trn thanh ghi Rn xung 1 n v:
C php:
Dec Rn
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 1 chu k my
Cng dng: Gim gi tr d liu lu gi trn thanh ghi Rn xung 1 n v, khng nh hng
n cc c nh trn PSW
V d:
Mov R6,#0Fh
Dec
R6
Kt qu :
R6 = #0Eh
20. Lnh gim gi tr d liu nh c a ch direct xung 1 n v:
C php:
Dec direct
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 1 chu k my
Cng dng: Gim gi tr d liu nh c a ch direct xung 1 n v, khng nh hng
n cc c nh trn PSW

27

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

V d:
Kt qu :

Mov 7Fh,#0
Dec 7Fh
7Fh = #0FFh

21. Lnh gim gi tr d liu nh c a ch gin tip xung 1 n v:


C php:
Dec @Ri
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 1 chu k my
Cng dng: Gim gi tr d liu nh c a ch bng gi tr d liu trn Ri xung 1 n
v, khng nh hng n cc c nh trn PSW
V d:
Mov 60h,#05h
Mov R1,#60h
Dec
@R1
Kt qu :
R1 = #04h
60h = #05h
22. Lnh nhn thanh ghi A vi thanh ghi B:
C php:
Mul AB
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 4 chu k my
Cng dng: Nhn hai d liu l s nguyn khng du thanh ghi A vi thanh ghi B, kt qu l mt
d liu 16 bit. Byte thp ca kt qu lu thanh ghi A v byte cao ca kt qu lu thanh ghi B.
Nu tch s ln hn 255(0FFH), c trn OV thanh trng thi PSW c thit lp ln 1, ngc li
nu tch s nh hn 255(0FFH), c trn OV c thit lp v 0. C nh C lun gi tr 0.
V d:
Mov A,#0B9h
Mov B,#F7h
Mul
AB
Kt qu :
A = #7Fh
B = #0B2h
23. Lnh chia thanh ghi A vi thanh ghi B:
C php:
Div AB
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 4 chu k my
Cng dng: Chia hai d liu l s nguyn khng du thanh ghi A vi thanh ghi B, d liu
thanh ghi A l s chia cn thanh ghi B l s b chia, kt qu l mt d liu 8 bit c lu
thanh ghi A. s d lu tr trong thanh ghi B C nh C lun gi tr 0.
C trn OV c thit lp gi tr 1 khi thanh ghi B mang gi tr l 00H-php chia khng th
thc hin.
V d:
Mov
A,#50h
Mov
B,#10h
DIV
AB
Kt qu :
A = #5h
B = #0h
28

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

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 ca nh c a
ch bng gi tr ca thanh ghi Ri, kt qu c lu tr thanh ghi A
V d:
Mov A,#0Fh
Mov
70h,#0E1h
Mov
R1,#070h
ANL A,@R1
Kt qu :
A = #01h
4. Lnh And d liu trn thanh ghi A vi d liu xc nh:
C php:
ANL 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 AND d liu thanh ghi A vi d liu cho trc, kt qu
c lu tr thanh ghi A
V d:
Mov A,#0Eh
ANL A,#11h
Kt qu :
A = #00
5. Lnh And d liu ca nh c a ch direct vi d liu trn thanh ghi A:
C php:
ANL direct,A
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 ca nh c a
ch direct, kt qu c lu tr nh c a ch direct.
V d:
Mov A,#08h
Mov R1,#0F7h
ANL R1,A
Kt qu :
R1 = #0
6. Lnh And d liu trn nh c a ch direct vi d liu xc nh:
C php:
ANL direct,#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 AND 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 R1,#0F7h
ANL R1,#1Fh
Kt qu :
R1 = #017h
7. Lnh OR d liu thanh ghi A vi d liu thanh ghi Rn:
C php:
ORL A,Rn
Lnh ny chim dung lng b nh ROM l: 1 Byte
Thi gian thc hin: 1 chu k my
30

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

V d:

Kt qu :

Mov A,#08h
Mov 10h,#0E9h
Mov
R0,#10h
XRL A,@R0
A = #0E1h

16. Lnh EX-OR d liu trn thanh ghi A vi d liu xc nh:


C php:
XRL 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 EX-OR d liu thanh ghi A vi d liu cho trc, kt
qu c lu tr thanh ghi A
V d:
Mov A,#12h
XRL A,#12h
Kt qu :
A = #0
17. Lnh EX-OR d liu ca nh c a ch direct vi d liu trn thanh ghi A:
C php:
XRL direct,A
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 nh c a ch direct.
V d:
Mov A,#0F2h
Mov 50h,#0E0h
XRL 50h,A
Kt qu :
50h = #12h
18. Lnh EX-OR d liu trn nh c a ch direct vi d liu xc nh:
C php:
XRL 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 EX-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 50h,#0E0h
XRL 50h,#01h
Kt qu :
50h = #0E1h
19. Lnh b gi tr d liu trn thanh ghi A:
C php:
CPL A
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 1 chu k my
Cng dng: ly b gi tr lu gi thanh ghi A, cc bit c gi tr l 1 chuyn thnh 0 v
ngc li cc bit c gi tr l 0 chuyn thnh 1.

33

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

V d:
Kt qu :

Mov
A,#01100111b
;(tng ng 67h)
CPL
A
A = #10011000b (tng ng 98h)

20. Lnh xa d liu trn thanh ghi A:


C php:
CLR A
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 1 chu k my
Cng dng: tt c cc bit ca thanh ghi A u c xc lp gi tr 0 .
V d:
Mov
A,#01100111b
CLR
A
Kt qu :
A = #0
21. Lnh xoay tri d liu trn thanh ghi A:
C php:
RL A
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 1 chu k my
Cng dng: thanh ghi A gm tm bit A7 A6 A5 A4 A3 A2 A1 A0. Khi thc hin lnh xoay
tri RL A gi tr ca cc bit c chuyn trang bit bn tri n, gi tr ca bit A0 chuyn
sang bit A1, gi tr ca bit A1 chuyn sang bit A2, tng t vi cc bit cn li, v gi tr ca
bit A7 chuyn sang bit A0. Minh ha cc bit trong thanh ghi A khi thc hin lnh nh trong
hnh di.
Cc bit thanh ghi A
Qu trnh xoay d liu t A0 n A6
Gi tr d liu A7 chuyn sang bit A0

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

Trc khi thc hin lnh xoay tri


Sau khi thc hin lnh xoay tri

22. Lnh xoay tri d liu trn thanh ghi A cng vi c nh C:


C php:
RLC A
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 1 chu k my
Cng dng: thanh ghi A gm tm bit A7 A6 A5 A4 A3 A2 A1 A0. Khi thc hin lnh xoay
tri A vi c nh RLC A gi tr ca cc bit c chuyn trang bit bn tri n, gi tr ca
bit A0 chuyn sang bit A1, gi tr ca bit A1 chuyn sang bit A2, tng t vi cc bit cn
li, v gi tr ca bit A7 chuyn sang c nh C, gi tr c nh C chuyn sang bit A0

34

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

Cc bit thanh ghi A cng vi c C

Qu trnh xoay d liu t A0 n A6


Gi tr C chuyn sang bit A0

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

23. Lnh xoay phi d liu trn thanh ghi A:


C php:
RR A
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 1 chu k my
Cng dng: thanh ghi A gm tm bit A7 A6 A5 A4 A3 A2 A1 A0. Khi thc hin lnh xoay phi
RR A gi tr ca cc bit c chuyn trang bit bn phi n, gi tr ca bit A7 chuyn sang bit
A6, gi tr ca bit A6 chuyn sang bit A5, tng t vi cc bit cn li, v gi tr ca bit A0
chuyn sang bit A7. Minh ha cc bit trong thanh ghi A khi thc hin lnh nh trong hnh di
Cc bit thanh ghi A

A7 A6 A5 A4 A3 A2 A1 A0

A7--------------------------------------------A0

Qu trnh xoay d liu t A7 n A1


Gi tr d liu A0 chuyn sang bit A7
V d:

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

Trc khi thc hin lnh xoay phi


Sau khi thc hin lnh xoay phi

24. Lnh xoay phi d liu trn thanh ghi A cng vi c nh C:


C php:
RRC A
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 1 chu k my
Cng dng: thanh ghi A gm tm bit A7 A6 A5 A4 A3 A2 A1 A0. Khi thc hin lnh xoay
phi A vi c nh -RRC A -gi tr ca cc bit c chuyn trang bit bn phi n, gi tr
ca bit A7 chuyn sang bit A6, gi tr ca bit A6 chuyn sang bit A5, tng t vi cc bit
cn li, v gi tr ca bit A0 chuyn sang c nh C, gi tr c nh C chuyn sang bit A7
Cc bit thanh ghi A cng vi c C
Qu trnh xoay d liu t C n A1
Gi tr A0 chuyn sang bit C

C
35

A7 A6 A5 A4 A3 A2 A1

------------------------------------------

A0
A0

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

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

Trc khi thc hin lnh xoay tri


vi C
Sau khi thc hin lnh xoay tri vi
C
25. Lnh xoay 4 bit trn thanh ghi A:

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

D liu trc khi thc hin lnh

X7

X6

X5

X4

X3

X2

X1

X0

D liu sau khi thc hin lnh

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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

Nu c Zero c gi tr 0(tc thanh ghi A c gi tr khc 0), Vi iu khin s nhy n thc


hin chng trnh ti a ch m nhn c t
Nu c Zero c gi tr 1(tc thanh ghi A c gi tr 0), Vi iu khin thc hin lnh k tip
(khng thc hin lnh nhy)
11. Lnh nhy thun vi c C
C php:
JC rel
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 2 chu k my
Cng dng:
Nu c C c gi tr 1, Vi iu khin s nhy n thc hin chng trnh ti a ch m nhn
c t
Nu c C c gi tr 0, Vi iu khin thc hin lnh k tip (khng thc hin lnh nhy)
12. Lnh nhy nghch vi c Zero
C php:
JNC rel
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 2 chu k my
Cng dng:
Nu c C c gi tr 0, Vi iu khin s nhy n thc hin chng trnh ti a ch m nhn
c t
Nu c C c gi tr 1, Vi iu khin thc hin lnh k tip (khng thc hin lnh nhy)
13. Lnh nhy thun vi gi tr ca bit nh
C php:
JB bit,rel
Lnh ny chim dung lng b nh ROM l 3 Byte
Thi gian thc hin: 2 chu k my
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
Nu bit nh c gi tr 0, Vi iu khin thc hin lnh k tip (khng thc hin lnh nhy)
14. Lnh nhy nghch vi gi tr ca bit nh
C php:
JNC bit,rel
Lnh ny chim dung lng b nh ROM l 3 Byte
Thi gian thc hin: 2 chu k my
Cng dng:
Nu bit nh c gi tr 0, Vi iu khin s nhy n thc hin chng trnh ti a ch
m nhn c t
Nu bit nh c gi tr 1, Vi iu khin thc hin lnh k tip (khng thc hin lnh
nhy)
15. Lnh nhy thun vi gi tr ca bit nh v xa bit
C php:
JBC bit,rel
Lnh ny chim dung lng b nh ROM l 3 Byte
Thi gian thc hin: 2 chu k my
39

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

Thi gian thc hin: 1 chu k my


Cng dng: Xa gi tr ca bit nh c a ch xc nh - tc l a gi tr bit v 0
3. Lnh thit t c nh C
C php:
SetB C
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 1 chu k my
Cng dng: thit t c nh C - tc l a gi tr ca c nh C ln 1
4. Lnh thit t gi tr cho bit nh
C php:
SetB bit
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 1 chu k my
Cng dng: Thit t gi tr bit nh c a ch xc nh - tc l a gi tr bit ln 1
5. Lnh b c nh C
C php:
CPL C
Lnh ny chim dung lng b nh ROM l 1 Byte
Thi gian thc hin: 1 chu k my
Cng dng: i gi tr ca c nh C, nu trc C c gi tr 0 chuyn thnh 1, v ngc
li nu trc C c gi tr 1 chuyn thnh 0
6. Lnh b bit
C php:
CPL bit
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 1 chu k my
Cng dng: i gi tr ca bit c a ch xc nh, nu trc bit c gi tr 0 chuyn
thnh 1, v ngc li nu trc bit c gi tr 1 chuyn thnh 0
7. Lnh And c nh C vi bit
C php:
ANL C,bit
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 1 chu k my
Cng dng: Thc hin php And c nh C v bit c a ch xc nh, kt qu lu C
8. Lnh And c nh C vi bit c ly b
C php:
ANL C,/bit
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 1 chu k my
Cng dng: Thc hin php And c nh C v bit c a ch xc nh c ly b, kt qu lu C
9. Lnh OR c nh C vi bit
C php:
ORL C,bit
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 2 chu k my
Cng dng: Thc hin php And c nh C v bit c a ch xc nh, kt qu lu C
42

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

10. Lnh OR c nh C vi bit c ly b


C php:
ORL C,/bit
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 2 chu k my
Cng dng: Thc hin php And c nh C v bit c a ch xc nh c ly b, kt qu
lu C
11. Lnh chuyn gi tr bit c a ch xc nh vo c nh C
C php:
Mov C,bit
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 1 chu k my
Cng dng: Thc hin chuyn gi tr ca bit c a ch xc nh vo c nh C
12. Lnh chuyn gi tr c nh C vo bit c a ch xc nh
C php:
Mov bit,C
Lnh ny chim dung lng b nh ROM l 2 Byte
Thi gian thc hin: 2 chu k my
Cng dng: Thc hin chuyn gi tr ca c nh C vo bit c a ch xc nh

43

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

BI 3: THIT K MCH TH NGHIM V


PHN MM BIN DCH & M PHNG
Mt board mch vi iu khin bao gm nhiu thnh phn to thnh: mch thc thi, mch
np, chng trnh vit v bin dch cho Assembly.
3.1

MCH THC THI

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:

Mch trn ly ngun mt chiu t mt my bin p vi in p t 7V n 9V a vo


ng IN. Khi kt ni mch in, do nhiu nguyn nhn, ngi dng d nhm ln cc tnh ca ngun
cung cp khi u ni vo mch, trong trng hp ny rt d nh hng n cc linh kin trn board
mch. V l do mt diode cu c lp thm vo mch, diode cu m bo cc tnh ca ngun
cp cho mch theo mt chiu duy nht, v ngui dng cng khng cn quan tm n cc tnh ca
ngun khi ni vo ng IN na.
IC 7805 l IC n p, IC ny gi ng ra n nh trong khong 5V. Ng ra ny chnh l ngun
Vcc cung cp cho mch vi iu khin hot ng, ng thi ng ra sau khi n p cn c ni vi
hai u xut OUT cp ngun ny cho mt mch khc khi cn.
3.1.2

Vi iu khin v cc mch I/O

1. vi iu khin hot ng cn cc thnh phn sau:


a. Cp ngun 5V cho vi iu khin (Vcc: 5V chn 40; GND: 0V chn 20)
b. Mch to dao ng bng thch anh

Hnh 3.1

44

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

Ghi ch: C1,C2= 30pF10pF (thng c s dng vi C1,C2 l t 33pF) dng n nh


dao ng cho thch anh.
c. Mch Reset
Vic kt ni chn RESET m bo h thng bt u lm vic khi Vi iu khin c 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 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

Kt hp cc phn trn vo cng mt mch to thnh mch hot ng cho vi iu khin, s


nguyn l nh hnh di:

45

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

Ch : Cc ng mch ln l cc ng ni BUS: tc l trn ng , nhng ng no cng


tn th ni vi nhau, nhng ng khng cng tn th khng lin quan n nhau. Trong s nguyn l,
cc ng BUS gip cho s d quan st hn v vic sp xp cc linh kin cng n gin, trt t hn.
V d: ng kt ni P0_0 ni vo ng BUS t vi iu khin, ng P0_0 t jack 8 chn
v P0_0 t in tr thanh, trn thc t c ni vi nhau vo cng mt im.
3.1.4

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

Lp trnh vi iu khin vi AT89S52

2. Thch anh v t gm 33p

Thch anh 12Mhz T gm 33p


3. in tr thanh 9 chn
Cc in tr treo c thay bng in tr thanh 9 chn, s dng in tr thanh gip vic
thit k mch n gin hn, in tr thanh 9 chn thc cht l 8 in tr cng gi tr vi mi u
ca in tr c ni vi nhau v u chung ny c a ra ngoi bng mt chn na. Khi nhn
trn in tr thanh, pha u no c du chm trn, th chn ngoi cng ca pha l chn chung.
Thng thng chn chung ny thng c ni vi ngun Vcc

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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

3.2

MCH NP

a chng trnh vit trn my vi tnh vo trong Rom ca vi iu khin, cn c cc


phn mm ring (hay cn gi l phn mm np) v cc mch giao tip tng ng vi phn mm
(hay cn gi l mch np). C rt nhiu phn mm np v cc mch np dnh cho vi iu khin,
mi loi vi iu khin u c phn mm np v mch np dnh ring cho vi iu khin .
Cng c rt nhiu chng trnh np cho vi iu khin AT89Sxx (xx: hai s sau ca m vi
iu khin, v d: AT89S52, AT89S53...), hin nay phn mm np ISP do "Mohammad Asim Khan"
xy dng c s dng rt ph bin th gii v Vit Nam. Mch np km theo vi phn mm ISP
rt n gin v c thit k theo kiu np ni tip (cc chng trnh np trc thng l
chng trnh np song song, mch np rt phc tp,kh ch to). ISP c th np chng trnh cho vi
iu khin ngay trn board mch hot ng m khng cn phi chuyn vi iu khin t mch hot
ng sang mch khc np nh cc chng trnh np trc y.
http://www.kmitl.ac.th/~kswichit/IspPgm30a/ISP-

a ch cung cp phn mm ISP


Pgm30a.html
hoc http://www.codientu.info/soft/

Di y l s nguyn l ca mch np km theo phn mm trn:

PRN PORT : ng kt ni n cng my in, cc s tng ng trong ngoc l s ca chn trn


cng my in.
Ni ngn mch chn 2 v chn 12 ca cng my in.
74HCT245 c cp ngun 5V vo chn 10 v chn 20.
48

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

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

Ngun cp cho 74HTC541 c ly t mch n p trn board mch vi iu khin, in th


dng 5V a vo chn 20, chn 10 ni vi in th 0V (Ground).
LED dng bo hiu trng thi hot ng ca mch
Trn SPR PORT :
Chn s 1 ni vi chn s 6 ca vi iu khin AT89Sxx,
Chn s 2 ni vi chn s 7 ca vi iu khin AT89Sxx
Chn s 3 ni vi chn s 8 ca vi iu khin AT89Sxx
Chn s 4 ni vi chn s 9 ca vi iu khin AT89Sxx
Chn s 5 ni vi chn - t ng OUT ca mch n p
Chn s 6 ni vi chn + t ng OUT ca mch n p
49

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

Ngoi ra c th dng 74HC245 theo s di:

3.3

CHNG TRNH NP ISP


Chng trnh chy khng cn ci t, khi ng chng trnh IspPgm.exe vi biu tng
. Giao din ca chng trnh nh sau:

Trc ht bm vo danh sch s (trn hnh l c ch "MEGA8"), chn "89S52". Bm vo


nt "Open File" chn file chng trnh (c ui".hex"). Sau bm vo "Write" np chng
trnh cho vi iu khin.
Ch : Trc khi np cn m bo mch in c kt ni chnh xc n vi iu khin.
Nu kt ni ng m cha np c th nn rt cc mch giao tip ra khi P0, ri th np li.
Nu bn cha c mt mch vi iu khin thc t, bn vn c th thc hnh v kim tra vi
s h tr ca phn mm m phng vi iu khin. Phn mm m phng m t li cc trng thi hot
ng ca vi iu khin khi chng trnh c np vo vi iu khin thc thi. C nhiu phn
50

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

mm m phng vi iu khin nh Workbench, ISIS...Trong bi ny, xin gii thiu cng cc bn


phn mm vit v m phng PINNACLE. Phn mm c cung cp t website
http://www.vaultbbs.com/pinnacle,
bn
c
th
ti
phn
mm
ti
a
ch
http://www.codientu.info/soft/
Sau khi ci t chng trnh i hi bn phi ng k s dng cc tin ch y , thi
hn cho php s dng chng trnh l 30 ngy. Tuy nhin sau 30 ngy nu bn khng ng k,
chng trnh vn s dng c. Khi khi ng, chng trnh hin ln bng gii thiu v la chn
ng k s dng chng trnh, ch cn bm vo nt Register Later bt u s dng chng trnh.
Bn c th ng k s dng ht tnh nng ca chng trnh ny, nu khng ng k s dng
chng trnh, bn ch c th dch chng trnh di 2K.
3.3.1 Son tho v bin dch
Son tho: son tho chng trnh mi, vo menu File/New hoc t hp phm Ctrl+N
Lu: sau khi son tho chng trnh, lu chng trnh bng t hp phm Ctrl+S hoc menu
File/Save. Lu : tn ca file khng qu 8 k t v khng c khong trng.
Bin dch: sau khi lu chng trnh, bin dch chn menu Project/Compile & Link
File hoc t hp phm Ctrl+F2. Chng trnh s kim li c php, nu c li chng trnh s hin
ln cc thng bo li, tr v sa cha cc dng lnh b li double click vo dng thng bo li.
Nu chng trnh khng c li, my tnh s bin dch chng trnh va vit thnh m my vi iu
khin, m ny c lu trong file c ui l .hex, file ny c tn cng vi tn ca file son tho v
cng nm trong mt th mc (Folder). Sau khi bin dch xong my hin thng bo vi dng cui
cng l Build complete. 0 error(s), 0 warning(s)
3.3.2 Hng dn m phng cc trng thi ca vi iu khin
Sau khi bin dch thnh cng, nu c phn cng, cc bn chng trnh vo chip vi iu
khin, chng trnh ny cha trong file c ui ".hex". Hoc m phng chng trnh trn my vi
tnh bng phn mm PINNACLE vi cc thao tc sau:
Cch 1:
- Vo menu Simulator/Load Memory/Code Memory
- Chng trnh hin ln hp thoi: Filename to Load chn ng dn n
file c ui ".hex" cha chng trnh cn m phng.
Hoc thc hin cc thao tc sau:
Cch 2:
- Vo menu File\Open (hoc Ctrl+O), chng trnh xut hin mt hp thoi,
trong trnh n List file of type chn Intel Hex (*.hex) m cc file c ui *.hex. Tm
file c ui *.hex cn m ri nhn nt OK.

51

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

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

). ngng vo menu Execute\Stop (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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

BI 4: THC HNH VI LED N


4.1

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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

V d: Mov (g phm Tab) P1,#0FFH


Cc ch thch nn cch sau cu lnh mt hoc hai khong g tab
Cc cu lnh trong chng trnh khng phn bit ch hoa v ch thng, do khi son
tho c th dng kiu ch sao cho ph hp v d nhn dng
V d:
;**<<<<<<==================== on chng trnh 1 =====================>>>>**
Di_chuyen:
Mov
A,35H
;===>>>> di chuyen du lieu tu 35H vao A
Mov
B,20H
;===>>>> di chuyen du lieu tu 20H vao B
Xuat:
Mov
P0,A
;===>>>> xuat du lieu tu A ra Port 0
Mov
P1,B
;===>>>> xuat du lieu tu A ra Port 1
Cong:
Add
A,#20H
;===>>>> cong A voi gia tri 20H
;/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
4.1.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.
4.1.4 Qui nh v s
Xem qui nh ny trong bi 2: mt s qui c khi vit s trong chng trnh

54

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

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

;===>>>> lam cac chan Port 0 xuat ra muc 1


;===>>>> lam cac chan Port 2 xuat ra muc 1

- 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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

- Hai cu lnh Mov


P0,#0FFH v Mov
P2,#11111111B lm 8 bit ca Port 1 v
8 bit ca Port 2 ln mc 1, hai cu lnh ny truyn cng mt gi tr nh nhau, gi tr ny c th vit
bng s hex (s thp lc phn-cu lnh trn) hoc bng s nh phn (cu lnh di) u c.
Trong trng hp ny, ng ra quan tm l gi tr ca tng bit, do s dng s nh phn s thun
li hn.
Bi 2: Cho cc dy n led c kt ni nh trong s di, cc dy led ny c kt ni
vi Port 1 v Port 2. Vit chng trnh cc led ni mi Port sng xen k: led 1,3,5,7 sng; led
2,4,6,8 tt, cc led c nh s nh sau led 1 ni vi Px.0, led 2 ni vi Px.1, ln lt vi cc led
khc.

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

;===>>>> lam tin hieu xuat xen ke tren P1


;===>>>> lam tin hieu xuat xen ke tren P2

GII THUT V LU

Gii thut l mt trnh t thc hin cng vic no .


Lu l s biu din ho ca gii thut.
Lu cha cc k hiu biu din cc bc ca gii thut.
Mi k hiu biu din mt hot ng.

56

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

Cc k hiu c s dng trong lu :


Nhp - Input: tn hiu vi iu khin ly vo x l
X l Process: qu trnh x l tn hiu
Quyt nh Decision: chn la hng i ph hp
Bt u v Kt thc Start and Stop:
Hin th - Display/Output: tn hiu do vi iu khin xut ra iu khin thit b hin th

Gi chng trnh con: gi chng trnh con


. Khi chng trnh con
c gi, chng trnh chnh dng li ch cho chng trnh con thc hin xong th chng
trnh chnh mi tip tc thc hin.
Bt u v Kt thc chng trnh con:

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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

Khi bt u chng trnh, P1 c truyn gi tr l #FFH lm cc ng ra ca P1 mc 1.


Gi s ta b qua lnh gi chng trnh con Delay, cng vic cn thc hin k tip l lm tn hiu
P1 tr v mc 0 lm led tt, v vy P1 c truyn gi tr l #0H. Cc lnh ca vi iu khin ch
thc hin trong mt vi chu k my, khong vi s, do nu b qua lnh gi chng trnh con
Delay th led sng sau khong vi s, ri li tt khong vi s, qu trnh sng tt ca led qu nhanh
lm mt ngi ch thy led sng lin tc. Mun mt ngi nhn ra led sng ln ri tt i cn lm tn
hiu xut ra P1 lu hn. Chng trnh con Delay thc hin nhim v duy tr trng thi ng ra lu
hn bng cch cho vi iu khin thc hin hng ngn ln cc cu lnh no khng nh hng n
trng thi ng ra. Khi chng trnh chnh gp lnh gi chng trnh con Delay, chng trnh chnh
s dng li ch cho chng trnh con Delay thc hin xong ri mi thc hin cu lnh k tip.
Ph ch: Xem li v nhn v chng trnh con
Chng trnh:
;******************************************************************************
;**************/////--- 8 LED SANG SANG TAT ---\\\\\\ ******************************
;**------------------------------------------------------------------------------------------------------------------;**////////////////___ lam 8 led sang roi tat_________________\\\\\\\\\\\\\\\\\\\\\\
;**////////////////___ 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
P1,#11111111B ;===>>>> lam 8 led noi P1 sang
LCall
Delay
;===>>>> goi chuong trinh con Delay
Mov
P1,#00
;===>>>> lam 8 led noi P1 tat
LCall
Delay
Sjmp
Tudau
;===>>>> nhay ve thuc hien tu dau
;**>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> delay <<<<<<<<<<<<<<<<<<<<<<<<<<<<
Delay:
Mov
R7,#0FFH
;===>>>> ga'n R7=#0FFH, 1 chu ki may
Kt2:
Mov
R6,#0FFH
;===>>>> ga'n R6=#0FFH, 1 chu ki may
Kt1:
Djnz
R6,Kt1
;===>>>> giam R6 xuong 1, R6 khac 0->giam tiep,2ckm
Djnz
R7,Kt2
;===>>>> giam R7 xuong 1, R6 khac 0-> ve Kt2,2ckm
Ret
;===>>>> ket thuc chuong trinh con Delay
;______________________________________________________________________________
End
;===>>>> ket thuc chuong trinh
Chng trnh thc hin, gp cu lnh Sjmp
Tudau chng trnh s nhy v nhn Tudau
u chng trnh, v chng trnh tip tc li t u, c th chng trnh lp li mi mi.
LCall
Delay lnh gi chng trnh con Delay

58

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

Mov
Mov
Djnz
Djnz

R7,#0FFH
R6,#0FFH
R6,Kt1
R7,Kt2

;===>>>> gan R7=#0FFH, 1 chu ki may


Kt2:
;===>>>> gan R6=#0FFH, 1 chu ki may
Kt1:
;===>>>> giam R6 xuong 1, R6 khac 0-> giam tiep
;===>>>> giam R7 xuong 1, R6 khac 0-> ve Kt2
Ret
;===>>>> ket thuc chuong trinh con
;______________________________________________________________________________
End
;===>>>> ket thuc chuong trinh
Cch 2: led sng ln lt, cn lm cho tn hiu xut ra gi tr 1 mt khong thi gian
c th nhn bit c. u tin cho P1 tt, sau lm cho bit A.0 ln 1, s dng lnh xoay tri d
liu trn thanh Ram A, mi ln xoay gi tr 1 s chuyn ln lt qua A.1 - A.2 - A.3 -A.4 - A.5 -A.6
- A.7 - A.0, mi ln xoay xut tn hiu ra P1 s thy led sng ln lt t led 1 n led 8.

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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

Xuat:

Sjmp

Mov
LCall
RL
Xuat

P1,A
Delay
A

;===>>>> xuat du lieu A ra P1 dieu khien led


;===>>>>goi chuong trinh con Delay
;===>>>> 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
Gii thch: ORG 000H l lnh ch dn: chng trnh ny c lu vo ROM bt u t a
ch 000H.
Khi mi bt u chng trnh, Mov
P1,#0 lm tt c cc led u tt, LCall Delay lm
cho thi gian tt mt ngi nhn ra. Mov A,#00000001B lm cho bit A.0 ca thanh ghi A
c set ln 1, cc bit cn li gi tr 0.
Tip theo trong chng trnh l nhn Xuat: v tr tr v, trn lu gii thut l im mi
tn tr v.
Mov
P1,A xut tn hiu ra P1, lc ny led 1 sng ln. Tip theo l lnh gi chng trnh
con LCall Delay. Cu lnh RL
A lm trng thi cc bit dch sang tri 1 bit, trc ch c A.0
gi tr 1, sau cu lnh A.1 mang gi tr 1, cn bit A.0 by gi mang gi tr 0 do bit A.7 c gi tr 0
chuyn sang. Sjmp
Xuat chng trnh nhy n on chng trnh c nh du bng nhn
Xuat, nn nh rng chng lnh gi Sjmp ch nhy c n v tr cch lnh gi khng qu 128
byte, nu vt qua gii hn ny chng trnh dch s bo li, khi cn thay Sjmp bng Ljmp v
Ljmp c th nhy n v tr bt k trn ROM.
Lc ny chng trnh bt u t nhn Xuat: Sau nhn Xuat: l cu lnh Mov
P1,A tn
hiu c xut ra P1, lc ny P1.1 ln gi tr 1, led th hai sng, cc led cn li khng sng. Cu
lnh RL
A lm trng thi cc bit dch sang tri 1 bit: A.2 ln 1, cc bit khc mang gi tr 0. Cc
qu trnh trn c lp li lin tc (vi cu lnh Sjmp
Xuat v nhn Xuat: ). Kt qu cui cng
nh trn hnh minh ha pha trn.
Bi 6: "sng ln lt"
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). Bit led sng khi tn hiu xut gi tr 1.Vit chng trnh cc led ni vi
Port 0,1,2,3 sng ln lt tng led t led 1 n led 32. Cc qu trnh c lp li khng gii hn.
Minh ho:

62

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

LCall
Delay
Mov
P3,#00000000B
;***---------------------------------------Ljmp Xuat

;===>>>> lam led P3 tat


; ===>>>> nhay ve thuc hien tu dau

;**>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> delay <<<<<<<<<<<<<<<<<<<<<<<<<<<<


Delay:
Mov
Mov
Djnz
Djnz

R7,#0FFH
R6,#0FFH
R6,Kt1
R7,Kt2

;===>>>> gan R7=#0FFH, 1 chu ki may


Kt2:
;===>>>> gan R6=#0FFH, 1 chu ki may
Kt1:
;===>>>> giam R6 xuong 1, R6 khac 0-> giam tiep
;===>>>> giam R7 xuong 1, R6 khac 0-> ve Kt2
Ret
;===>>>> ket thuc chuong trinh con
;______________________________________________________________________________
End
;===>>>> ket thuc chuong trinh
Cu lnh cui quay tr v u phi dng Ljmp
Xuat ch khng s dng Sjmp v
khong cch t v tr chng trnh bt u n cu lnh gi tr v ln 128byte.
Cch 2: Kt hp cc lnh xoay v di chuyn d liu chng trnh vit ngn gn hn.
Phn tch: Ti mi thi im ch c 1 led sng, do c th s dng lnh xoay tri trng thi
cc bit ca cc Port, vi mt bit no c t ln 1, xoay bit ny ln lt qua P0,P1,P2,P3 s t
kt qu. Vn t ra l lm sao xoay 32 bit ca P0,P1,P2,P3 trong khi ch c thanh ghi A
thc hin c lnh xoay. Khng th thc hin xoay 32 bit ca 4 Port bng mt lnh duy nht m
phi tri qua nhiu bc.
xoay trng thi cc bit trong mt nh bt k, u tin chuyn gi tr ca nh ln
thanh ghi A, ri dng lnh xoay thanh ghi A, sau chuyn kt qu v li nh cn xoay,kt qu
nh c xoay. By gi c th qui c cm t "xoay nh" thay cho cc bc va nu.
xoay 32 bit (trong bi ny l P0,P1,P2,P3), trc ht xoay tri nh u tin (P0) cng
vi c C (gi tr u tin ca c C c c t trc ty tng trng hp c th hoc do chng
trnh thc hin), sau khi xoay nh u tin vi c C, cc trng thi ca cc bit trong nh
chuyn qua mt bit, gi tr ca c C chuyn vo bit 0, bit 7 ca nh chuyn vo c nh C.
Xoay nh th hai vi c nh C, gi tr ca C trc chuyn vo bit 0 ca nh th hai (m gi
tr ny trc l ca bit 7 nh th nht), gi tr ca bit 7 trong nh th hai chuyn vo c nh
C. Tip tc xoay nh th 3 v th 4 vi c nh C. Kt qu cui cng trng thi ca 32 bit c
dch sang tri 1 bit, bit 0 ca nh u tin l gi tr ca C trc v gi tr ca c nh C hin ti
l ca bit 7 ca nh th 4 chuyn sang.
Gii thut:

65

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

Mov
Mov
Mov
Mov
SetB

P0,#0
P1,#0
P2,#0
P3,#0
C

;===>>>> ||| tat tat ca ca led


;===>>>> |||
;===>>>> |||
;===>>>> |||
;===>>>> lam co C len 1

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

;**>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Delay <<<<<<<<<<<<<<<<<<<<<<<<<<<<


Delay:
Mov
R7,#0FFH
Kt2:
Mov
R6,#0FFH
Kt1:
Djnz
R6,Kt1
Djnz
R7,Kt2
Ret
;&&&&& ket thu chuong trinh con Delay
;______________________________________________________________________________
End
;===>>>> ket thuc chuong trinh
Bi 7: Bi tp t gii
B sung vo chng trnh bi 5 v bi 6 chng trnh c thm qu trnh led di chuyn
theo chiu ngc li.
Bi 8: Bi tp t gii
Phn cng: 8 led ni vi Port 2, c nh v tr nh sau: led 1 ni vi P2.0, ln lt cho
n led 8 (ni vi P2.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 theo kiu tng nh phn. Cc qu trnh trn c lp li khng
gii hn.
Bi 9: " Sng dn 8 led"
Phn cng: 8 led ni vi Port 0 c nh v tr nh sau: led 1 ni vi P0.0, ln lt cho
n led 8 (ni vi P0.7). Bit led sng khi tn hiu xut mc 1.Vit chng trnh cc led ni vi
Port 0 sng dn t led 1 n led 8 sau tt ht led v lp li. Cc qu trnh c lp li khng
gii hn.
67

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

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"

Dng 3: " su b vng"

69

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

Bi 13: Bi tp t gii, bi ny c tn:" Su ln"


Du tin. khi su cn nh:vt sng led chy vi chiu di l 1 led trong ln u tin nh
trong bi 5 v bi 6, sau khi vt sng chy n led cui cng v tr v thc hin ln k tip, su
ln hn v c di l 2 led sng, c th su ln dn. Su c mt ln chiu di nht nh,
chiu di ln ca su do cc bn t chn, nhng trc ht chn su c ln l 8 led, sau l 16
led. Sau khi su t ln ti a, cc qu trnh c bt u li t u. Hy vit chng trnh
vi yu cu trn vi 8 led, 16 led v 32 led.
Minh ha vi 8 led:
Bi 14: " Sng dn 8 led"
Phn cng: 8 led ni vi Port 0 c nh v tr nh sau: led 1 ni vi P0.0, ln lt cho
n led 8 (ni vi P0.7). Bit led sng khi tn hiu xut mc 1.Vit chng trnh cc led ni vi
Port 0 sng dn t led 1 n led 8 sau tt ht led v lp li. Cc qu trnh c lp li khng
gii hn.
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: cch ny gii thut phc tp hn:
Chia qu trnh sng thnh hai qu trnh n: qu trnh c 1 led sng xoay vng v qu trnh cc
led sng c nh c lu gi trng thi led cui chu trnh, kt hp hai chu trnh trn s ra kt qu cn thc
hin.
Dng thanh ghi R3 lm cho bit mang gi tr 1 xoay vng nh bi 5.
Dng nh 30H dng lu gi trng thi cui ca qu trnh.(ban u 30H= #00000000B)
Thc hin OR: R3 vi 30H ri xut ra P0 sau mi ln R3 xoay 1 bit. Trong qu trnh u:
mt bit mang gi tr 1 trn R3 xoay t v tr R3.0 n R3.7, v 30H lc ny ang mang gi tr l
#00000000B, nn khi OR R3 vi 30H ri xut ra P0 s thy 1 led sng di chuyn t led 1 n led 8.
Khi v tr sng n led th 8 vi iu khin lu li gi tr ca P0 vo 30H. Trong qu trnh hai: bit
mang gi tr 1 trn R3 vn xoay, lc ny 30H c bit 30H.7 ang gi tr 1 tc l 30H ang mang gi
tr #10000000B,nn khi OR R3 vi 30H ri xut ra P0 s thy led 8 sng c nh, trong lc c 1
led sng di chuyn t led 1 i vo. n led 7 vi iu khin lu li gi tr P0 vo 30H (gi tr mi lu
l #11000000B).
Cc qu trnh tip tc nh trn. Nh vy cn phi m s qu trnh thc hin, khi qu
trnh thc hin n ln th 8, lc ny cc led u sng ht, qu trnh phi c lp li t u. Dng
thanh ghi R0 lu gi gi tr ny
Trong qu trnh thc hin, s bit tham gia vo xoay gi tr 1 s gim theo cc qu trnh, v
vy cn kim sot s ln xoay tri trong mi qu trnh. Dng thanh ghi R1 lu gi gi tr ny.
Gii thut

70

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

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

;+++>>> vi khong co lenh Mov R1,R0

71

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

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

;===>>> luu giu trang thai cuoi

;**>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> delay <<<<<<<<<<<<<<<<<<<<<<<<<<<<


Delay:
Mov
Mov
Djnz
Djnz

R7,#0FFH
R6,#0FFH
R6,Kt1
R7,Kt2

;===>>>> gan R7=#0FFH, 1 chu ki may


Kt2:
;===>>>> gan R6=#0FFH, 1 chu ki may
Kt1:
;===>>>> giam R6 xuong 1, R6 khac 0-> giam tiep
;===>>>> giam R7 xuong 1, R6 khac 0-> ve Kt2
Ret
;===>>>> ket thuc chuong trinh con
;_____________________________________________________________________________
End
;===>>>> ket thuc chuong trinh
Bi 15: "Sng , tt dn 8 led"
Hy vit chng trnh "Sng ,tt n 8 led" nh minh ha hnh pha di.
Minh ha:

Bi 16:
Pht trin cc chng trnh vit trong bi 14 v 15 cho 16 led v 32 led

72

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

BI 5: GIAO TIP VI LED 7 ON


5.1

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.

V led 7 on cha bn trong n cc led n, do khi kt ni cn m bo dng qua mi


led n trong khong 10mA-20mA bo v led. Nu kt ni vi ngun 5V c th hn dng bng
in tr 330 trc cc chn nhn tn hiu iu khin.
S v tr cc led c trnh by nh hnh bn:
Cc in tr 330 l cc in tr bn ngoi c kt
ni gii hn dng in qua led nu led 7 on c ni vi
ngun 5V.
Chn nhn tn hiu a iu khin led a sng tt, ng vo
b iu khin led b. Tng t vi cc chn v cc led cn li.

73

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

5.2

KT NI VI VI IU KHIN

Ng nhn tn hiu iu khin ca led 7 on c 8 ng, v vy c th dng 1 Port no


ca Vi iu khin iu khin led 7 on. Nh vy led 7 on nhn mt d liu 8 bit t Vi iu
khin iu khin hot ng sng tt ca tng led led n trong n, d liu c xut ra iu
khin led 7 on thng c gi l "m hin th led 7 on". C hai kiu m hin th led 7 on:
m dnh cho led 7 on c Anode(cc +) chung v m dnh cho led 7 on c Cathode(cc -)
chung. Chng hn, hin th s 1 cn lm cho cc led v tr b v c sng, nu s dng led 7 on
c Anode chung th phi t vo hai chn b v c in p l 0V(mc 0) cc chn cn li c t
in p l 5V(mc 1), nu s dng led 7 on c Cathode chung th in p(hay mc logic) hon
ton ngc li, tc l phi t vo chn b v c in p l 5V(mc 1).
Bng m hin th led 7 on:
Phn cng c kt ni vi 1 Port bt k ca Vi iu khin, thun tin cho vic x l v
sau phn cng nn c kt ni nh sau: Px.0 ni vi chn a, Px.1 ni vi chn b, ln lt theo th
t cho n Px.7 ni vi chn h.
D liu xut c dng nh phn nh sau : hgfedcba
Bng m hin th led 7 on dnh cho led 7 on c Anode chung (cc led n sng mc 0):
S hin th trn
led 7 on

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

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

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

GIAO TIP VI IU KHIN VI NHIU LED 7 ON :


(Minh ha v thc hnh vi 8 led 7 on)

Nu kt ni mi mt Port ca Vi iu khin vi 1 led 7 on th ti a kt ni c 4 led 7


on. Mt khc nu kt ni nh trn s hn ch kh nng thc hin cc cng vic khc ca Vi iu
khin. Cho nn cn phi kt ni, iu khin nhiu led 7 on vi s lng chn iu khin t Vi
iu khin cng t cng tt. C hai gii php: mt l s dng cc IC chuyn dng cho vic hin th
led 7 on, hai l kt ni nhiu led 7 on vo cng mt ng xut tn hiu hin th. Ni phn ny
s cp n cch kt ni nhiu led 7 on theo gii php th 2.
Mt ngi c c im sinh l l ch thu nhn 24 hnh/giy tng hp cc hnh nh v th
gii xung quanh. Nu mt tn hiu nh sng c chu k sng tt hn 24 ln trong 1 giy, mt ngi
lun cm nhn l mt ngun sng lin tc. minh ha cho iu ny, bn hy ly cc chng
trnh thc hin vi led n v lm ngn thi gian delay li, n mt gi tr no bn s thy cc
led u sng lin tc.
kt ni nhiu led 7 on vo vi iu khin thc hin nh sau: ni tt c cc chn nhn tn
hiu ca tt c cc led 7 on (chn abcdefgh) cn s dng vo cng 1 Port, trong v d, 8 led 7
on c cc chn nhn tn hiu cng c c ni vi P0. Dng cc ng ra cn li ca Vi iu
75

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

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:

Trong s trn, led 7 on c s dng l loi c Anode chung, vi tt c cc chn nhn


tn hiu c kt ni vi Port 0 qua in tr hn dng. iu khin ON/OFF cho cc led 7
on, s dng transitor loi PNP, transitor ny nhn dng iu khin t mt ng ra ca Vi iu
khin, led 7 on s c ON khi tn hiu t vi iu khin n transitor mc 0. C th s transitor
loi A564 hoc 2N3905 hoc mt transitor PNP khc c thng s ph hp. Cc in tr 4.7K v
in tr treo 4.7K m bo transitor lun hot ng ch ngt/dn (m bo khi led 7 on ang
trng thi OFF s b tt hon ton, khng b sng m m).
Ti mi thi im, ch nn cho Vi iu khin iu khin cho 1 led 7 on hot ng, do
ti mi thi im ch nn c 1 ng ra duy nht ni vi transitor mc 0. Ti mi thi im ch c
mt led 7 on c ON nn s khng xy ra tnh trng qu ti cho ti v qu ti cho vi iu khin
khi iu khin nhiu led 7 on.
Trong s kt ni trn, chng hn cn hin th s 451, qui c th t cc led 7 c m
t phi sang tri, nh vy cn lm cho led 7 on th nht hin th s 1, led 7 on th hai hin th
s 5, led 7 on th 3 hin th s 4, cc led cn li khng hin th. u tin OFF tt c cc led 7
on. K tip xut m hin th led 7 on hin th s 1, ON led 7 on th nht, lc ny dng
in ch i qua led 7 on th nht, lm cho led 7 on th nht hin th s 1, thi gian ON trong
khong vi chc s(1s=1/10-6s). K tip xut m hin th led 7 on hin th s 5, OFF led 7 on
th nht v ng thi ON led 7 on th 2, lc ny ch c led 7 on th hai hin th v hin th s
5. Tip theo xut m hin th led 7 on hin th s 4, OFF led 7 on th hai v ON led 7 th ba,
lc ny ch duy nht led 7 on th ba hin th s 4. C th lp li qu trnh trn lin tc. Thi gian
ON/OFF ch trong khong vi chc s, v ti mi thi im ch c mi mt led 7 on hin th s
ca chnh n, v vy mt ngi thy 3 led 7 on khng sng t qung, m sng lin tc, mi led
hin th 1 s ring ca n. Thc hin tng t m rng s lng led 7 on cn s dng.

76

Collected by Truong Van Gian

Lp trnh vi iu khin vi AT89S52

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

Collected by Truong Van Gian

You might also like