Kênh Tên Miền chuyên cung cấp tên miền đẹp, giá rẻ! Hãy liên hệ kỹ thuật: 0914205579 - Kinh doanh: 0912191357 để được tư vấn, hướng dẫn miễn phí, Cảm ơn quý khách đã ủng hộ trong thời gian qua!
Friday, March 15, 2013


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


0 comments:

Post a Comment

domain, domain name, premium domain name for sales

Popular Posts