Tài liệu Học cách lập trình 8051 qua một số bài toán đơn giản - Pdf 10

How to programming a microprocessor-based system

Written by Kien NX, MicroStudy Group
TÀI LIU HNG DN LP TRÌNH CHO H VI X LÝ <phn I>

Khi mt bài toán thc t đc đa ra, ta cn phi tìm hiu cn k các yêu
cu do bài toán đt ra và thc hin gii quyt theo các bc sau:
− Bc 1: nh hng gii quyt.
− Bc 2: La chn phng án thit k phn cng.
− Bc 3: Lp lu đ thut toán cho thit k ph
n mm.
− Bc 4: Th hin lu đ thut toán bng các lnh c th.

Các bc 1 và 2 đã đc trình bày trong các tài liu hng dn thit k các
mch thí nghim,  đây ch chú trng vào gii quyt các bc 3 và 4. Trong giai
đon thit k phn mm, bc 3 không ch là bc tiên phong mà còn là bc
có ý ngha quyt đnh đi vi s thành công và cht lng c
a sn phm. Bc
4 ch là bc hoàn thin cui cùng ca vic gii quyt mt bài toán.
I. Cách xây dng mt lu đ thut toán:
Trc ht nói v lu đ thut toán, nh đã đ cp đn trong phn các kin
thc cn bn trong K thut Vi x lý, lu đ thut toán có vai trò đc bit quan
trng trong thit k phn mm. V
 c bn, mt lu đ thut toán có th đc
xây dng bng các biu tng sau đây:
1. Biu tng 1:
ây là biu tng dùng đ ch s bt đu hay kt thúc mt nhim v hay mt
chng trình. Biu tng này ch có mt đu vào hoc mt đu ra.


Hoc n
u không quan tâm đn trng thái bt đu ca s nhp nháy (tc là không
cn bit sáng trc hay tt trc), ta có th có đc lu đ đn gin hn:
Begin
Sáng 8 LED

loop2:
mov r3,#100
loop3:
nop
nop
nop
nop
nop
nop
nop
nop
djnz r3,loop3
djnz r2,loop2
djnz r1,loop1
ret
end ;kt thúc chng trình

Vi lu đ thut toán th hai, chng trình có th đc vit 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 ;ly giá tr hin thi ca cng P1
cpl a ;đo nó đi (lt trng thái, 0 thành 1, 1 thành 0)
mov p1,a ;đa ra tr li P1 đ thc hin đo trng thái

gây ra) = 1,000,000µs = 1 giây. Lu đ thut toán cho chng trình con
“delay1s” nh sau:
How to programming a microprocessor-based system

Written by Kien NX, MicroStudy Group


bin đm 3 = 100
Tr 10
µ
s
bin đm 3 = 0?
bin đm 3 - 1
bin đm 2 = 0?
bin đm 2 - 1
bin đm 1 = 0?
bin đm 1 - 1
Begin
s
s
s
How to programming a microprocessor-based system

Written by Kien NX, MicroStudy Group
II. Bài tp thc hành:
Vit lu đ thut toán gii quyt các bài toán sau:
− Sáng ln lt các LED ni vi cng P1 (theo th t P1.0 đu tiên, P1.7
sau cùng ri li quay v P1.0). Ti mt thi đim ch có mt LED sáng và
thi gian sáng ca các LED đu là 1 giây.
− Kim tra và đáp ng li s kin phím bm  cng P3.2. Nu phím bm thì
bt sáng c 8 LED ni vi c
ng P1. Nh phím ra thì tt tt c 8 LED.
− Hin th s 123  các LED 7 thanh.
− Hin th s đm tng dn bng các LED 7 thanh (đm t 000 đn 999 ri
li v 000, mi giây tng s đm mt ln).
− Xác đnh phím bm trong s 16 phím ca ma trn phím và hin th s th
t ca phím đc bm lên các LED 7 thanh (t 1 đn 16, không có phím


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status