Chat
Danh mục
Tìm hiểu về matrix 8×8

Tìm hiểu về matrix 8×8

Số lượng:
Thêm vào giỏ
Tìm hiểu về matrix 8×8 đã được thêm vào giỏ hàng


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.
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 .
Ở 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 .
#include"REG51.H"
unsigned int m,n,k,p,x,y;
unsigned char hang[8]={0X80,0X40,0X20,0X10,0X08,0X04,0X02,0X01};
unsigned char cot[69]={0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XE7,
0X00,0X00,0X66,0X7E,0X81,0XC3,0XFF,0X3F,0X3F,0X00,0X00,0X3F,0X3F,
0XFF,0X99,0X3C,0X2C,0X24,0X91,0XFF,0XE7,0XE7,0XE7,0XFF,0X00,0X00,
0XC7,0X93,0X39,0X7C,0XFF,0X99,0X3C,0X2C,0X24,0X91,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF};
void delay(unsigned int t)
{
unsigned int i,j;
for(i=0;i<=t;i++)
for(j=0;j<=125;j++);
}
void scan(void)
{
P3=hang[n];
if(p<=53) P2=cot[p];
if(p>8) P1=cot[p-8];
if(p>16) P0=cot[p-16];
}
void main(void)
{
m=0;
while(1)
{
for(k=1;k<=5;k++)
{
for(n=0;n<=7;n++)
{
p=n+m;
scan();
delay(2);
}
}
delay(10);
m++;
if(m==69) m=0;
}
}

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 !
Theo machdientu.net