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

Tiêu đề Tài liệu Học cách lập trình 8051 qua một số bài toán đơn giản
Tác giả Kien NX, MicroStudy Group
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Kỹ thuật lập trình vi điều khiển
Thể loại Tài liệu
Đị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