You are on page 1of 6

How to programming a microprocessor-based system

Written by Kien NX, MicroStudy Group


TI LIU HNG DN LP TRNH CHO H VI X L <phn I>

Khi mt bi ton thc t c a ra, ta cn phi tm hiu cn k cc yu
cu do bi ton t ra v thc hin gii quyt theo cc bc sau:
Bc 1: nh hng gii quyt.
Bc 2: La chn phng n thit k phn cng.
Bc 3: Lp lu thut ton cho thit k phn mm.
Bc 4: Th hin lu thut ton bng cc lnh c th.

Cc bc 1 v 2 c trnh by trong cc ti liu hng dn thit k cc
mch th nghim, y ch ch trng vo gii quyt cc bc 3 v 4. Trong giai
on thit k phn mm, bc 3 khng ch l bc tin phong m cn l bc
c ngha quyt nh i vi s thnh cng v cht lng ca sn phm. Bc
4 ch l bc hon thin cui cng ca vic gii quyt mt bi ton.
I. Cch xy dng mt lu thut ton:
Trc ht ni v lu thut ton, nh cp n trong phn cc kin
thc cn bn trong K thut Vi x l, lu thut ton c vai tr c bit quan
trng trong thit k phn mm. V c bn, mt lu thut ton c th c
xy dng bng cc biu tng sau y:
1. Biu tng 1:



y l biu tng dng ch s bt u hay kt thc mt nhim v hay mt
chng trnh. Biu tng ny ch c mt u vo hoc mt u ra.
2. Biu tng 2:




y l biu tng dng din t s thc hin mt thao tc no . Biu
tng ny c mt u vo v mt u ra.
3. Biu tng 3:


How to programming a microprocessor-based system

Written by Kien NX, MicroStudy Group
y l biu tng dng din t s la chn mt trong hai phng n ng
hoc sai i vi iu kin hay tnh hung c nu ra trong . Biu tng ny
ch c mt u vo nhng li c hai u ra.
Lu l phi c bit tun th s lng cc u vo ra i vi mi loi biu
tng.
lm r hn cch xy dng mt lu c th, MicroStudy s a ra mt bi
ton mu n gin trn c s phn mch phn cng th nghim v lu mu
gii quyt bi ton .
Bi ton t ra: nhp nhy 8 LED n ni vi cng P1 theo chu k 1 giy sng
v 1 giy tt.
Nh vy sau khi phn tch yu cu do bi ton t ra, lu thut ton phi
c xy dng nh sau:

















Hoc nu khng quan tm n trng thi bt u ca s nhp nhy (tc l khng
cn bit sng trc hay tt trc), ta c th c c lu n gin hn:












Begin
Sng 8 LED
Tr 1 giy
Tt 8 LED
Tr 1 giy
Begin
o trng thi ca
8 LED
Tr 1 giy
How to programming a microprocessor-based system

Written by Kien NX, MicroStudy Group

Vi lu thut ton th nht ta c th thc hin bc 4 nh sau:
#include <sfr51.inc>
org 00h ;a ch reset ca vi iu khin h 8051
ljmp main

org 40h ;t chng trnh chnh bt u t a ch ny
trnh khng ln vng cc vct ngt
main:
mov p1,#0 ;cho sng 8 n LED ni vi P1
lcall delay1s ;tr 1 giy
mov p1,#0ffh ;tt 8 n LED ni vi P1
lcall delay1s ;tr 1 giy
sjmp main ;quay tr li tip tc nh th

delay1s: ; y l chng trnh con to tr 1 giy
mov r1,#10
loop1:
mov r2,#100
loop2:
mov r3,#100
loop3:
nop
nop
nop
nop
nop
nop
nop
nop
djnz r3,loop3
djnz r2,loop2
djnz r1,loop1
ret
end ;kt thc chng trnh

Vi lu thut ton th hai, chng trnh c th c vit l:
#include <sfr51.inc>
org 00h
ljmp main

org 40h
main:
How to programming a microprocessor-based system

Written by Kien NX, MicroStudy Group
mov a,p1 ;ly gi tr hin thi ca cng P1
cpl a ;o n i (lt trng thi, 0 thnh 1, 1 thnh 0)
mov p1,a ;a ra tr li P1 thc hin o trng thi
cc n LED
lcall delay1s
sjmp main

delay1s:
mov r1,#10
loop1:
mov r2,#100
loop2:
mov r3,#100
loop3:
nop
nop
nop
nop
nop
nop
nop
nop
djnz r3,loop3
djnz r2,loop2
djnz r1,loop1
ret
end

Trong hai chng trnh trn c s dng chng trnh con delay1s. Chng
trnh con ny s dng cc lnh NOP tiu th thi gian cht khong 1s vi
thch anh 12MHz. C 3 vng lp to ra 10(ca vng ngoi cng)*100(ca
vng gia)*100(ca vng trong cng)*10s(do 8 lnh NOP v mt lnh djnz
gy ra) = 1,000,000s = 1 giy. Lu thut ton cho chng trnh con
delay1s nh sau:









How to programming a microprocessor-based system

Written by Kien NX, MicroStudy Group











































End
bin m 1 = 10
bin m 2 = 100
bin m 3 = 100
Tr 10 s
bin m 3 = 0?
bin m 3 - 1
bin m 2 = 0?
bin m 2 - 1
bin m 1 = 0?
bin m 1 - 1
Begin
s
s
s
How to programming a microprocessor-based system

Written by Kien NX, MicroStudy Group
II. Bi tp thc hnh:
Vit lu thut ton gii quyt cc bi ton sau:
Sng ln lt cc LED ni vi cng P1 (theo th t P1.0 u tin, P1.7
sau cng ri li quay v P1.0). Ti mt thi im ch c mt LED sng v
thi gian sng ca cc LED u l 1 giy.
Kim tra v p ng li s kin phm bm cng P3.2. Nu phm bm th
bt sng c 8 LED ni vi cng P1. Nh phm ra th tt tt c 8 LED.
Hin th s 123 cc LED 7 thanh.
Hin th s m tng dn bng cc LED 7 thanh (m t 000 n 999 ri
li v 000, mi giy tng s m mt ln).
Xc nh phm bm trong s 16 phm ca ma trn phm v hin th s th
t ca phm c bm ln cc LED 7 thanh (t 1 n 16, khng c phm
bm th hin s 0).

You might also like