1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

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

6 658 7

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 214,93 KB

Nội dung

Trang 1

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:

â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

ây là bi u t ng dùng đ di n đ t s th c hi n m t thao tác nào đó Bi u

t ng này có m t đ u vào và m t đ u ra

Trang 2

ây là bi u t ng dùng đ di n đ t s l a ch n m t trong hai ph ng án đúng

ho c sai đ i v i đi u ki n hay tình hu ng đ c nêu ra trong đó Bi u t ng này

ch có m t đ u vào nh ng l i có hai đ u ra

L u ý là ph i đ c bi t tuân th s l ng các đ u vào ra đ i v i m i lo i bi u

t ng

làm rõ h n cách xây d ng m t l u đ c th , MicroStudy s đ a ra m t bài toán m u đ n gi n trên c s ph n m ch ph n c ng thí nghi m và l u đ m u

đ gi i quy t bài toán đó

Bài toán đ t ra: nh p nháy 8 LED đ n n i v i c ng P1 theo chu k 1 giây sáng

và 1 giây t t

Nh v y sau khi phân tích yêu c u do bài toán đ t ra, l u đ thu t toán ph i

đ c xây d ng nh sau:

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

Tr 1 giây

T t 8 LED

Tr 1 giây

Begin

o tr ng thái c a

8 LED

Tr 1 giây

Trang 3

V i l u đ thu t toán th nh t ta có th th c hi n b c 4 nh sau:

#include <sfr51.inc>

org 00h ; đ a ch reset c a vi đi u khi n h 8051

ljmp main

org 40h ; đ t ch ng trình chính b t đ u t đ a ch này

đ tránh không đè lên vùng các véct ng t

main:

mov p1,#0 ;cho sáng 8 đèn LED n i v i P1

lcall delay1s ;tr 1 giây

mov p1,#0ffh ;t t 8 đèn LED n i v i P1

lcall delay1s ;tr 1 giây

sjmp main ;quay tr l i ti p t c nh th

delay1s: ; đây là ch ng trình con t o tr 1 giây

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

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:

Trang 4

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 các đè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 ch ng trình trên có s d ng ch ng trình con “delay1s” Ch ng trình con này s d ng các l nh NOP đ tiêu th th i gian ch t kho ng 1µs v i

th ch anh 12MHz Có 3 vòng l p đ t o ra 10(c a vòng ngoài cùng)*100(c a vòng gi a)*100(c a vòng trong cùng)*10µs(do 8 l nh NOP và m t l nh djnz 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:

Trang 5

End

bi n đ m 1 = 10

bi n đ m 2 = 100

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

Trang 6

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

b m thì hi n s 0)

Ngày đăng: 26/01/2014, 23:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w