Hôm nay chúng ta đi tìm hiểu về matrix 8×8 nha !
Đầu tiên là cấu tạo chung : Led matrix 8×8 cấu tạo từ 64 led đơn mắc với nhau thành 8 hàng và 8 cột .Đó là led đớn sắc , còn led đa sắc chia ra thành các loại 3 màu (24 chân) , 7 màu (32 chân) , nguyên tắc ghép chung các thành từng hàng , các cột là các màu riêng biệt . Chú ý trên thực tế sơ đồ chân led k chia riêng rẽ thành từng hàng và cột mà ghép so le giữa các hàng và cột , cần xác định rõ từng chân trước khi làm mạch thật.
Đầu tiên là cấu tạo chung : Led matrix 8×8 cấu tạo từ 64 led đơn mắc với nhau thành 8 hàng và 8 cột .Đó là led đớn sắc , còn led đa sắc chia ra thành các loại 3 màu (24 chân) , 7 màu (32 chân) , nguyên tắc ghép chung các thành từng hàng , các cột là các màu riêng biệt . Chú ý trên thực tế sơ đồ chân led k chia riêng rẽ thành từng hàng và cột mà ghép so le giữa các hàng và cột , cần xác định rõ từng chân trước khi làm mạch thật.
Giờ đến phần lập trình đây:
Nguyên tắc quét giống led 7 thanh , chúng ta sẽ bật tắt từng hàng hoặc cột ,sau đó cấp dữ liệu cho chúng .
Đi vào ví dụ đầu tiên và cũng là dễ nhất hiển thị chữ A lên led matrix .
Nguyên tắc quét giống led 7 thanh , chúng ta sẽ bật tắt từng hàng hoặc cột ,sau đó cấp dữ liệu cho chúng .
Đi vào ví dụ đầu tiên và cũng là dễ nhất hiển thị chữ A lên led matrix .
Ở ví dụ này mình sẽ quét cột mức dữ liệu mức 1 led sáng , mức 0 cho việc quét hàng.
K hiểu sao post code lên web cứ bị sai , các bạn down ví dụ ở phía dưới cho chính xác nha !
"include void delay(unsigned int ms){unsigned int i;//delayfor(i=0;i }void main(){unsigned int n;unsigned char mahang[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//mã hàngunsigned char macot[8]={0x00,0X7f,0Xff,0X88,0X88,0Xff,0X7f,0X00}; mã cộtwhile(1){for(n=0;n<8 P3=macot[n];delay(30);}}}
Ví dụ này rất dễ , tiếp chúng ta sẽ đến ví dụ khó hơn ghép nối 3 led matrix chạy chữ DT3-K3 là lớp mình học .Các bạn có thể chỉnh sửa code để chạy chữ như ý muốn .
Chúng ta sẽ dùng 595 để quét led xem sao???
#include"reg52.h"sbit DATA = P3^7;sbit SCK = P3^6;sbit LACH = P3^5;unsigned int n,i,j;unsigned char mahang[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};unsigned char macot[8]={0x00,0X7f,0Xff,0X88,0X88,0Xff,0X7f,0X00};//////////////////////////////void delay(unsigned int ms){for(i=0;i }////////////////////////void hienthi(unsigned char x){unsigned int i,temp;for(i=0;i<8temp=x;temp=temp&0x80;//lay ra bit dau tien (bit 7)if(temp==0x80)//so sanh bitDATA=1; //bang 1 thi xuat vao chip =1elseDATA=0; //nguoc lai bang 0x*=2; //dich bit lay bit trong so thapSCK=0; //tao xung tren chan 11SCK=1; //1 xung dua vào 1 bít}}void main(){while(1){for(n=0;n<8 P2=mahang[n];hienthi(macot[n]);LACH=0;LACH=1;delay(300);}}}
Giờ sử dụng nhiều led matrix thì sao nhỉ??
Các bạn xem video mình thực hiện nha !
Các bạn xem video mình thực hiện nha !
Theo machdientu.net
.jpg)
.jpg)
