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
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.
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ìm kiếm theo từ khóa liên quan:
xử lý dữ liệu điều khiển tự động MCS-51 Hệ thống cảm biến ROM và RAM Bộ nhớ SRAM mạch thiết kếGợi ý tài liệu liên quan:
-
69 trang 185 0 0
-
Bố trí hệ thống truyền lực trên xe
5 trang 134 0 0 -
Bài giảng Thiết kế thí nghiệm và xử lý dữ liệu với phần mềm SAS - Đỗ Đức Lực
54 trang 81 0 0 -
Đề cương ôn thi tự động hóa quá trình sản xuất
5 trang 65 0 0 -
Giáo trình Điện toán đám mây (Xuất bản lần thứ hai): Phần 1
64 trang 65 0 0 -
Giáo trình- Tin học chuyên ngành trong chăn nuôi và thú y
104 trang 57 0 0 -
viết chương trình điều khiển 8 led sáng dồn, chương 3
5 trang 46 0 0 -
Bài giảng Kiến trúc của hệ vi xử lý
256 trang 44 0 0 -
Bài giảng Nhập môn Tin học 2 - Chương 10: Xử lý dữ liệu
56 trang 35 0 0 -
Giáo trình- Tin học chuyên ngành trong chăn nuôi và thú y-chương 2
26 trang 34 0 0