Khảo sát kỹ thuật quét LED

Một phần của tài liệu Bài tập thực hành vi điều khiển H8SX1582 (Trang 46 - 47)

5.2.1 Gii thiu

Hiển thị hình ảnh ra một ma trận LED một lúc là rất khó. Thứ nhất, nó đòi hỏi có một dòng điện đủ mạnh. Thứ hai, nó cần số chân điều khiển quá lớn. Để giải quyết vấn đề này, người ta sử dụng kỹ thuật quét LED, tức chỉ hiển thị một dòng (hoặc một cột) của ma trận LED trong cùng một thời điểm. Lợi dụng sự lưu ảnh của mắt thường, khi hiển thị nhanh lần lượt các dòng (hay cột) của ma trận, ta sẽ tạo được hình ảnh một ma trận LED hoàn chỉnh. Tốc độ đủ nhanh để mắt người có thể thấy bình thường là 50Hz, tức quét hết tất cả các dòng của ma trận LED trong 20ms.

5.2.2 Cách thc quét LED

Trong phần này, chúng ta sử dụng một ma trận LED 8x8 làm ví dụ, và sẽ quét LED theo dòng.

Dữ liệu trong bộ nhớ về hình ảnh 8x8 của ma trận LED được lưu trữ trong 8 byte, mỗi byte tương ứng với một dòng. Ta lần lượt xuất 8 byte đó ra 8 dòng với thời gian hiển thị mỗi dòng là 20ms/8 = 2.5ms. PI 0 1 2 3 4 5 6 7 PH PD 0 1 2 3 4 5 6 7

PI PH PD LED DO LED XANH Tại mỗi điểm là: Ở đây tại một điểm có 2 đèn (xanh, đỏ). Như vậy tổng cộng ta có 64 đèn mỗi màu. Để điều khiển 128 đèn (cả xanh và đỏ) trong khi chúng ta chỉ có 24 đường dữ liệu (3 cổng). Vì vậy mà cần thiết phải sử dụng kỹ thuật quét LED.

Ta dùng port I để chọn hàng cần hiển thị, Port D đểđiều khiển LED xanh, và Port H đểđiều khiển LED đỏ. Quá trình quét LED sẽđược hiện thực như sau:

1. Xuất 0000 0001 ra port PI. Đưa dữ liệu của cột 0 ra port PD và PH, để điều khiển các LED trên cột 0

2. Xuất 0000 0010 ra port PI. Tiếp tục đưa dữ liệu của cột 1 ra Port PD và PH, để điều khiển LED trên cột 1.

3. Tương tự như thế cho các cột 2, 3, 4, 5, 6, 7 4. Quay lại bước 1, và quá trình lặp vô tận

Ởđây nên sử dụng một buffer cho quá trình quét ma trận LED này. Việc thay đổi nội dung hiển thị chỉ cần thay đổi trên buffer. Còn hoạt động quét LED chỉ việc lấy dữ liệu từ buffer và quét lên ma trận LED.

Một phần của tài liệu Bài tập thực hành vi điều khiển H8SX1582 (Trang 46 - 47)