![]() |
|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#19 |
Đệ tử 6 túi
|
![]() Mình đã xem hình của bạn, ma trận led của bạn là 8cot x 8 hàng, bạn bắt đầu làm như sau nhé:
Mình giả sử bạn 8 cột bạn nối với PortB, 8 hàng bạn nối với portD. bạn khai báo Buff_mh như sau: #define BITMAP_HEIGHT_BYTE] 1//chiêu cao của buff_mh tính theo byte; 1 byte= 8bit-->8hàng #define BITMAP_WIDTH_BIT 8//chiều rộng buff_mh tính theo bit; 8bit-->8cột unsigned char buff_mh[BITMAP_HEIGHT_BYTE][BITMAP_WIDTH_BIT] ; Bạn viết 1 chương trình lần lượt cấp điện cho từng cột(phương pháp ở dây là quét cột:cấp diện cho cột thứ 1, sau đó ngắt điện cột thứ 1 và cấp điện cho cột thứ 2...). Tương ứng với mỗi làn cấp điện cho từng cột, bạn lấy nội dung của 1 phần từ tương ứng của buff_mh, ví dụ như: bạn muốn cột thứ nhất sáng, dâu tiên bạn phải cấp diên cho cột thứ nhất(portB=0b00000001), sau dó bạn cho PortD=buff_mh[0][0]...portB=0b00000010và portD=buff_mh[0][1], portB=0b00000100và portD=buff_mh[0][2]...Bạn nên dùng Timer de viet doan chuong trinh này, lý do là dể cho viec này thuc hien 1 cách tư dong...(mai mình viet tiep nhé, het gio làm viec o cong ty mat roi)
__________________
-------------------------------------------------------------------------------------- Phùng Minh Tuân Email: tuan.phmt@gmail.com "Cuộc đời sóng gió nuôi ta lớn Bao lần thất bại dạy ta khôn". |
![]() |
![]() |
|
|