Danh mục

thiết bị báo cháy tự động, chương v

Số trang: 5      Loại file: pdf      Dung lượng: 39.70 KB      Lượt xem: 11      Lượt tải: 0    
10.10.2023

Phí tải xuống: 1,000 VND Tải xuống file đầy đủ (5 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Các ví dụ trong các mục trước đã không sử dụng các ngắt nhưng đã có vòng lặp đợi để kiểm tra các cờ báo tràn (TF0 hoặc TF1) hoặc các cờ thu và cờ phát Pỏt nối tiếp (TI và RI). Vấn đề trong phương pháp này là thời gian thực thi có giá trị của CPU hoàn toàn không bị tiêu tốn trong việc đợi các cờ. Điều này hoàn toàn không thích hợp với các ứng dụng của vi điều khiển, trong đó bộ vi điều khiển phải tương tác với nhiều thiết bị xuất nhập...
Nội dung trích xuất từ tài liệu:
thiết bị báo cháy tự động, chương v THIEÁT KEÁ CHÖÔNG Chương V. TRÌNH DUØNG CAÙC NGAÉT Caùc ví duï trong caùc muïc tröoùc ñaõ khoâng söû duïng caùc ngaétnhöng ñaõ coù voøng laëp ñôïi ñeå kieåm tra caùc côø baùo traøn (TF0 hoaëcTF1) hoaëc caùc côø thu vaø côø phaùt Port noái tieáp (TI vaø RI). Vaán ñeà trong phöông phaùp naøy laø thôøi gian thöïc thi coù gíatrò cuûa CPU hoaøn toaøn khoâng bò tieâu toán trong vieäc ñôïi caùc côø. Ñieàu naøy hoaøn toaøn khoâng thích hôïp vôùi caùc öùng duïngcuûa vi ñieàu khieån, trong ñoù boä vi ñieàu khieån phaûi töông taùc vôùinhieàu thieát bò xuaát nhaäp ñoàng thôøi. Trong phaàn naøy ta seõ khaûo saùt caùch phaùt trieån chöôngtrình duøng vi ñieàu khieån. Khung ñeà nghò cho moät chöông trình phuïc vuï ngaét nhösau: ORS 0000H ; ñieåm vaøo Reset. Ljmp main; caùc ñieåm vaøo ISR. Org 0030H; ñieåm vaøo chöông trình chính. Main: chöông trình chính baét ñaàu. Leänh thöù nhaát nhaûy tôùi ñòa chæ 0030H, vöøa treân caùc vò trímaø caùc ISR baét ñaàu. Nhö ñöôïc veõ hình sau, chöông trình chínhbaét ñaàu ôû ñòa chæ 0030H. FFFFH Chöông trình chính 0030H 002fH Caùc ñieåm vaøo LJMP main 0000H Reset vaø ngaét Hình : Toå chöùc boä nhôù khi duøng caùc ngaét 1.Chöông trình phuïc vuï ngaét coù kích thöôùc nhoû: Caùc chöông trình phuïc vuï ngaét phaûi baét ñaàu ôû gaàn phaànñaàu cuûa boä nhôù chöông trình ôû caùc ñòa chæ trong baûng caùc vectôrngaét. Maët duø coù 8 byte ôû caùc ñieåm vaøo ngaét, thöôøng ñuû boä nhôùñeå thöïc hieän caùc hoaït ñoäng mong muoán vaø quay veà chöông trìnhchính töø IRS. Neáu chæ coù moät nguoàn ngaét ñöôïc söû duïng, ví duï timer 0,thì coù theå söû duïng khung sau: ORS 000H; Reset LJMP MAIN ORG 000BH; ñieåm vaøo time 0 TOIRS: ; ISR cho time 0 baét ñaàu. RETI; quay veà chöông trình chính. MAIN: Chöông trình chính. Neáu söû duïng nhieàu ngaét phaûi ñaûm baûo laø chuùng phaûi baétñaàu töø vò trí ñuùng vaø khoâng chaïy qua ISR keá. Vì chæ coù moät ngaétñöôïc söû duïng trong ví duï treân, chöông trình chính coù theå baétngay sau leänh RETI. 2. Caùc chöông trình phuïc vuï ngaét coù kích thöôùc lôùn: Neáu ISR daøi hôn 8 byte, coù theå caàn chuyeån noù tôùi moät nôinaøo ñoù trong boä nhôù chöông trình hoaëc coù theå ñeå noù ñi loá quañieåm vaøo cuûa ngaét keá. Tieâu bieåu laø ISR baét ñaàu vôùi leänh nhaûyñeán vuøng nhôù khaùc ôû ñoù coù theå môû roäng chieàu daøi caùc ISR. Víduï luùc naøy chæ xeùt timer 0, coù theå söû duïng khung sau: ORS 000H; Reset LJMP MAIN ORG 000BH; caùc vector ngaét tieáp theo. MAIN: TOISR: ; ISR cho time 0. RETI: ; quay veà chöông trình chính. Ñeå ñôn giaûn chöông trình chæ laøm vieäc moät luùc ban ñaàu.Chöông trình khôûi ñoäng Timer, Port noái tieáp vaø caùc thanh ghingaét cho thích hôïp vaø roài khoâng laøm gì caû. Coâng vieäc ñöôïc hoaøntoaøn laøm trong ISR. Sau caùc khôûi ñoäng, chöông trình chöùa caùcleänh sau: HERE: SJMP HERE Hay daïng vieát gaén goïn: SJMP Khi ngaét xaûy ra, chöông trình chính bò ngaét quaõng taïm thôøitrong khi ISR thöïc thi. Leänh RETI ôû cuoái ISR traû ñieàu khieån veàchöông trình chính vaø noù tieáp tuïc khoâng laøm gì caû. Trong nhieàuöùng duïng ñieàu khieån, nhieàu coâng vieäc thaät ra ñöôïc thöïc hieänhoaøn toaøn trong ISR. Vì söû duïng ngaét, neân leänh SJMP (HERE:SJMP HERE) coùtheå ñöôïc thay theá baèng caùc leänh thöïc hieän coâng vieäc khaùc trongöùng duïng.

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