Danh mục

Hướng dẫn bạn viết 10 chương trình ứng dụng cơ bản cho ic vi điều khiển

Số trang: 33      Loại file: pdf      Dung lượng: 976.02 KB      Lượt xem: 15      Lượt tải: 0    
tailieu_vip

Xem trước 4 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bạn biết, kiến thức là luôn luôn cải biến và phát triển, do đó các bài viết của tôi ở đây cũng luôn theo tôn chỉ của RIXIN, nghĩa là nhật tân.Các bài viết luôn được người soạn đọc đi đọc lại và sửa lại và sửa lỗi, viết thêm vào các ý tưởng mới và các bài viết luôn được làm mới.Nó giống như một vườn cây được người trồng vườn cây chăm coi cẩn thận.
Nội dung trích xuất từ tài liệu:
Hướng dẫn bạn viết 10 chương trình ứng dụng cơ bản cho ic vi điều khiển Hư ng d n B n vi t 10 chương trình ng d ng cơ b n cho ic vi ñi u khi n AT89C51 L i nói ñ u B n bi t, ki n th c là luôn luôn c i bi n và phát tri n, do ñó các bài vi t c a tôi ñây cũng luôn theo tôn ch c a RIXIN, nghĩa là Nh t Tân (Ngày 日新,日新, 日新 m i, ngày m i, ngày ngày m i 日新,日新,日日新). Các bài vi t luôn ñư c ngư i so n ñ c ñi ñ c l i và s a l i, vi t thêm vào các ý tư ng m i và các bài vi t luôn ñư c làm tươi. Nó gi ng như m t vư n cây ñư c ngư i tr ng vư n chăm coi c n th n và khu vư n thì ñang ngày ngày sinh trư ng, các bài vi t s luôn m i, luôn khác và m i ngày ñ u ñư c b xung tu ch nh, và thêm m i. Mong B n thư ng xuyên quay l i ñ xem và góp ý. Ngư i so n: Vương Khánh Hưng. Trư c h t chúng ta hãy tìm hi u nguyên lý làm vi c c a ic vi ñi u khi n AT89C51 (B n xem hình). www. Beenvn.com - T Sách Online IC AT89C51 có 40 chân. Công d ng c a các chân như sau: * Chân 40 n i vào ñư ng ngu n 5V, chân 20 cho n i masse. * Chân 9 n i vào m ch reset v i ñi n tr 10K và t 10uF. Khi m ch v a ñư c c p ñi n, t n p và kéo chân 9 lên m c áp cao t o tác ñ ng reset. Sau m t lúc chân 9 tr l i m c áp th p. IC AT89C51 b t ñ u ho t ñ ng t tr ng thái kh i ñ u. * Chân 18, 19 m c th ch anh ñ nh t n. Như v y t n s xung nh p s là 1Mhz (hay 1us). Ngang th ch anh m c 2 t nh dùng ñ bù nhi t n t n (B n xem hình). www. Beenvn.com - T Sách Online * Chân 31 B n ph i cho treo lên m c áp cao, ñ xác ñ nh là m ch ch làm vi c v i b nh n i (Vì m ch không dùng thêm b nh ngoài). * B n chú ý, ic có 4 c ng, ñó là port 0 (p0), port 1 (p1), port 2 (p2) và port 3 (p3). M i c ng có 8 chân. M i ho t ñ ng c a ic vi ñi u khi n ñ u ñư c th c hi n trên các c ng này. Ghi nh n: B n th y ic AT89C51 ch c n m t ít linh ki n bên ngoài là ñã có th ch p hành các câu l nh ñã có trong b nh EEP-ROM, B n dùng các câu l nh này ñ xác ñ nh tr ng thái ñi n áp cao th p trên các c ng và dùng các m c áp cao th p này cho vi c ñi u khi n các d ng m ch ñi n, hay các thi t b . Bài 1: Vi t chương trình ñ Led trên chân s 1 (p1.0) luôn nh p nháy. www. Beenvn.com - T Sách Online ORG 0000h ; Kh i ñ u t thanh ghi có ñ a ch là 0000h START: CLR P1.0 ; ð t chân p1.0 xu ng m c áp th p, Led s sáng. LCALL DELAY ; Cho g i trình làm tr (có tên nhãn là delay). SETB P1.0 ; ð t chân p1.0 lên m c áp cao, Led s t t LCALL DELAY ; L i cho g i trình làm tr (có tên nhãn là delay). LJMP START ; Cho nh y v dòng l nh v i tên nhãn là start, công vi c s l p l i. DELAY: MOV R5,#20 ; N p tr 50 vào thanh nh r5. D1: MOV R6,#20 ; N p tr 20 vào thanh nh r6. D2: MOV R7,#248 ; N p tr 248 vào thanh nh r7. DJNZ R7,$ ; Cho gi m r7 theo bư c -1 cho ñ n 0. DJNZ R6,D2 ; Cho gi m r6 theo bư c -1, chưa b ng 0 thì nh y www. Beenvn.com - T Sách Online v D2. DJNZ R5,D1 ; Cho gi m r5 theo bư c -1, chưa b ng 0 thì nh y v D1. RET ; Quay l i dòng l nh sau l nh lcall. END ; d ng biên d ch. Phân tích cách vi t các câu l nh: B n th y kh i ñ u luôn dùng câu khai báo gi l nh: org 0000h Nghĩa là m i vi c s b t ñ u t thanh nh có ñ a ch là 0000h. ðây cũng là thanh mà chương trình s nh y ñ n m i khi B n nh n nút Reset. và k t thúc v i khai báo gi l nh: end Các câu l nh sau khai báo b i gi l nh end s không ñư c biên d ch. Nói rõ hơn v cách tính th i gian tr c a ño n chương trình con delay: Trong hình trên do dùng th ch anh 12MHz nên m t chu kỳ máy s là 1us. V y câu l nh: mov r6,#20 s th c hi n 2 l n. B n ph i cho nhân 2. T ñó cách tính như sau: MOV R6,#20 2l n 2 D1: MOV R7,#248 2l n 2 2+2×248=498 20× DJNZ R7,$ 2l n 2×248 (498 2×20=40 DJNZ R6,D1 2l n 10002 Qua các nhân th i gian tr c a ño n chương trình delay này là 10.002ms. N u B n mov vào r6=10 thì th i gian tr s là 5ms. www. Beenvn.com - T Sách Online N u B n mov vào r6=20 thì th i gian tr s là 10ms. Và ñ có th i gian tr là 200ms. B n dùng thêm thanh nh r5. Mov vào r5=20. Và như v y ño n chương trình tr delay 200ms như sau: DELAY: MOV R5,#20 ; chuy n vào thanh ghi r5 s th p phân 20. D1: MOV R6,#20 ; chuy n vào thanh ghi r6 s th p phân 20. D2: MOV R7,#248 ; chuy n vào thanh ghi r7 s th p phân 248. DJNZ R7,$ ; cho s trong r7 gi m theo bư c -1, ti ch và ch ñ n khi b ng 0. DJNZ R6,D2 ; cho s trong r6 gi m theo bư c -1, và nh y v D2 n u chưa b ng 0. DJNZ R5,D1 ; cho s trong r5 gi m theo bư c -1, và nh y v D1 n u chưa b ng 0. RET ; quay tr l i th c hi n dóng l nh sau l nh call. Bài 2: Vi t chương trình dùng Led trên chân 1 (p1.0) theo dõi khóa ñi n K1 trên chân 10 (p3.0). * K1 ñóng l i Led sáng. * K1 b ra Led t t. www. Beenvn.com - T Sách Online ORG 0000H ; Kh i ñ u t thanh ghi 0000h START: JB P3.0, LIG ; L nh nh y. N u chân p3.0 bit 1 thì nh y ñ n tên nhãn LIG, Led t t CLR P1.0 ; ð t p1.0 v bit 0, chân p1.0 m c áp th p. Led s sáng SJMP START ; Nh y v tên nhãn START. LIG: SETB P1.0 ; ð t p1.0 v bit 1, chân p1.0 m c áp cao, Led t t. SJMP START ; Nh y v tên nhãn START. END ; D ng biên d ch ñây. Phân tích cách vi t các câu l nh: ñây, B n dùng l nh nh y theo ñi u ki n bit, t c l nh jb (jump bit) hay jnb (jump no ...

Tài liệu được xem nhiều: