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;//delay
for(i=0;i }
void main()
{
unsigned int n;
unsigned char mahang[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//mã hàng
unsigned char macot[8]={0x00,0X7f,0Xff,0X88,0X88,0Xff,0X7f,0X00}; mã cột
while(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<8
temp=x;
temp=temp&0x80;//lay ra bit dau tien (bit 7)
if(temp==0x80)//so sanh bit
DATA=1; //bang 1 thi xuat vao chip =1
else
DATA=0; //nguoc lai bang 0
x*=2; //dich bit lay bit trong so thap
SCK=0; //tao xung tren chan 11
SCK=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