Danh mục

Tổng quan về vi điều khiển, chương 17

Số trang: 6      Loại file: pdf      Dung lượng: 831.65 KB      Lượt xem: 14      Lượt tải: 0    
10.10.2023

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

Thông tin tài liệu:

Giải thuật là một trình tự thực hiện công việc nào đó. Lưu đồ là sự biểu diễn đồ hoạ của giải thuật. Lưu đồ chứa các ký hiệu biểu diễn các bước của giải thuật. Mỗi ký hiệu biểu diễn một hoạt động. Các ký hiệu được sử dụng trong lưu đồ:Nhập - Input: tín hiệu vi điều khiển lấy vào để xử líXử lý – Process: quá trình xử lí tín hiệu Quyết định – Decision: chọn lựa hướng đi phù hợp .Bắt đầu và Kết thúc – Start and Stop: Hiển thị - Display/Output: tín hiệu do...
Nội dung trích xuất từ tài liệu:
Tổng quan về vi điều khiển, chương 17Chương 17: GIẢI THUẬT VÀ LƯU ĐỒGiải thuật là một trình tự thực hiện công việc nào đó.Lưu đồ là sự biểu diễn đồ hoạ của giải thuật.Lưu đồ chứa các ký hiệu biểu diễn các bước của giải thuật.Mỗi ký hiệu biểu diễn một hoạt động.Các ký hiệu được sử dụng trong lưu đồ:  Nhập - Input: tín hiệu vi điều khiển lấy vào để xử lí  Xử lý – Process: quá trình xử lí tín hiệu  Quyết định – Decision: chọn lựa hướng đi phù hợp .  Bắt đầu và Kết thúc – Start and Stop:  Hiển thị - Display/Output: tín hiệu do vi điều khiển xuất ra để điều khiển thiết bị hiển thị  Gọi chương trình con: gọi chương trình con . Khi chương trình con được gọi, chương trình chính dừng lại chờ cho chương trình con thực hiện xong thì chương trình chính mới tiếp tục thực hiện.  Bắt đầu và Kết thúc chương trình con: Bài 3: Viết chương trình để các led nối với Port 1 sáng rồi tắtled. Biết led sáng khi tín hiệu xuất ra ở mức 1. Minh họa tronghình phía dưới  Phân tích: để led sáng rồi tắt, cần làm cho tín hiệu xuất ra mức1 một khoảng thời gian để mắt có thể nhận biết được, sau đó làmtín hiệu xuất ra ở mức 0 một khoảng thời gian như trên. Cứ lặp đilặp lại đoạn trên sẽ thấy dãy đèn sáng rồi tắt. Khi bắt đầu chương trình, P1 được truyền giá trị là #FFH đểlàm các ngõ ra của P1 ở mức 1. Giả sử ta bỏ qua lệnh gọi chươngtrình con Delay, công việc cần thực hiện kế tiếp là làm tín hiệu ởP1 trở về mức 0 để làm led tắt, vì vậy P1 được truyền giá trị là#0H. Các lệnh của vi điều khiển chỉ thực hiện trong một vài chu kìmáy, khoảng vài µs, do đó nếu bỏ qua lệnh gọi chương trình conDelay thì led sáng sau khoảng vài µs, rồi lại tắt khoảng vài µs, quátrình sáng tắt của led quá nhanh làm mắt người chỉ thấy led sángliên tục. Muốn mắt người nhận ra led sáng lên rồi tắt đi cần làm tínhiệu xuất ra P1 lâu hơn. Chương trình con Delay thực hiện nhiệmvụ duy trì trạng thái ở ngõ ra lâu hơn bằng cách cho vi điều khiểnthực hiện hàng ngàn lần các câu lệnh nào đó không ảnh hưởng đếntrạng thái ngõ ra. Khi chương trình chính gặp lệnh gọi chươngtrình con Delay, chương trình chính sẽ dừng lại chờ cho chươngtrình con Delay thực hiện xong rồi mới thực hiện câu lệnh kế tiếp. Phụ chú: Xem lại về nhãn và chương trình conChương trình:;*****************************************************************;**************/////--- 8 LED SANG SANG TAT ---\\\ ******************;**-----------------------------------------------------------------------------------------------;**////////////////___ lam 8 led sang roi tat_________________\\\\\\\\\\\\\;**///////////////___ sang o muc 1 va tat o muc 0__________________\\\\\\\\\;**//////////////____ lap di lap lai khong gioi han____________________\\\\\\\;**>>> nhay ve thuc hien tu dau;**>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> delay Kt1: Djnz R6,Kt1 ;===>>>> giam R6 xuong 1, R6 khac 0- Djnz R7,Kt2 ;===>>>> giam R7 xuong 1, R6 khac 0-> Ret ;===>>>> ket thuc chuong trinh con Delay;_________________________________________________________________ End ;===>>>> ket thuc chuong trinh Chương trình thực hiện, gặp câu lệnh Sjmp Tudau chương trình sẽ nhảy về nhãn Tudau ở đầu chương trình, vàchương trình tiếp tục lại từ đầu, cứ thế chương trình lặp lại mãimãi. LCall Delay lệnh gọi chương trình con Delay Chương trình con trong chương trình này được bắt đầu bằngnhãn Delay:, khi có lệnh gọi chương trình con, thì vi điều khiển sẽchuyển sang thực hiện các câu lệnh của chương trình con, sau khichương trình con hoàn thành, vi điều khiển trở về chương trìnhchính để thực hiện tiếp. Lệnh Kt1: Djnz R6,Kt1 Lệnh Djnz R6,Kt1 này giảm R6 đi mộtđơn vị, nếu R6 chưa bằng 0, chương trình lại nhảy về nhãn Kt1, mànhãn Kt1 lại gọi lại lệnh này, do đó toàn câu lệnh thực hiện giảmR6 cho đến khi R6 về 0 thì thực hiện lệnh kế tiếp. Câu lệnh nàythực hiện, không ảnh hưởng hay thay đổi giá trị của các ô nhớkhác, vì vậy ngõ ra từ các Port cũng không thay đổi trạng thái. Tổng thời gian của chương trình con Delay:  Nếu sử dụng thạch anh 12MHz thì mỗi chu kì máy là 1µs  Lệnh Mov R7,#0FFH thực hiện 1 lần và mất 1 chu kì máy  Lệnh Djnz R6,Kt1 thực hiện 255 lần và mỗi lần mất 2 chu kì máy  Đoạn lệnh Kt2: Mov R6,#0FFH Kt1: Djnz R6,Kt1 ;kí hiệu Kt thay cho kiểm tra Djnz R7,Kt2 Đoạn lệnh này được thực hiện 255 lần với mỗi lần gồm (255×2)chu kì máy của lệnh ...

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