Hướng dẫn sử dụng Kit 89 Bài 5 : Dùng ngắt timer viết ứng dụng LED RIVER Mục đích: Nắm vững ngắt timer. Sử dụng ngắt timer để viết ứng dụng LED RIVER. Yêu cầu: Viết chương trình led river đơn giản, 1 led chạy từ sang , đến chuyển sang , . Khi tới thì trở về . Thời gian chuyển qua trạng thái mới là 1s Kết nối phần cứng Gạt switch 1 lên ON để kích hoạt Port 1 (các led đơn). Gạt switch 2 lên ON để kích hoạt Port 3 (các led đơn và nút nhấn). . | Hướng dẫn sử dụng Kit 89 Bài 5 Dùng ngắt timer viết ứng dụng LED RIVER Mục đích Nắm vững ngắt timer. Sử dụng ngắt timer để viết ứng dụng LED RIVER. Yêu cầu Viết chương trình led river đơn giản 1 led chạy từ sang đến chuyển sang . Khi tới thì trở về . Thời gian chuyển qua trạng thái mới là 1s Kết nối phần cứng Gạt switch 1 lên ON để kích hoạt Port 1 các led đơn . Gạt switch 2 lên ON để kích hoạt Port 3 các led đơn và nút nhấn . Viết chương trình Đối với led chạy như yêu cầu ta thấy có 16 trạng thái của P1 và P3 như sau sáng P1 0x01 P3 0x00 sáng P1 0x02 P3 0x00 sáng P1 0x80 P3 0x00 sáng P1 0x00 P3 0x80 sáng P1 0x00 P3 0x40 sáng P1 0x00 P3 0x01 Như vậy ta sẽ khai báo 2 mảng mỗi mảng 16 phần tử cho P1 và P3 rồi cho 1 biến index tự động tăng lên sau 1s khi index bằng 16 thì gán lại index bằng 0 để quá trình được lặp lại. Đối với led river có nhiều trạng thái hơn bạn chỉ cần khai báo ra tất cả các trạng thái vào 1 mảng rồi lần lượt định kì xuất nó ra. Việc delay giữa các trạng thái ta sẽ sử dụng lại hàm delay_ms unsigned int duration đã làm ở bài thí nghiệm trước. Đối với yêu cầu của bài led river này chúng tôi chỉ sử dụng 1 mảng 16 phần tử dùng cho cả 2 Port. Index của P1 sẽ tăng dần từ 0 đến 15 Index của P3 sẽ giảm dần từ 15 đến 0. led_river mảng 16 phần tử INDEXMAX 16 duration 1000ms while 1 P3 led_river INDEX_MAX - index-1 P1 led_river index if index iNdEXMAX index 0 BKIT HARDWARE CLUB - 41 Hướng dẫn sử dụng Kit 89 delay_ms duration _ Chi tiết code của bài thí nghiệm này bạn xem thêm trong thư mục Bài 5 trong CD đi kèm. BKIT HARDWARE CLUB - .