led matrix bị nhiễu xin giup đỡ!
Collapse
X
-
Bạn kiểm tra lại chân ic xem thế nào, mình nghĩ do chân ic bạn nối chưa đúng hoặc dây bị chạm nhau. Kiểm tra lại mà không được thì tháo ra cắm lại từ đầu.
Chúc bạn thành công.
-
Tôi nghĩ không có chạm chập gì hết. Bạn kiểm tra lại phần code xem. Sau mỗi lần quét Phải có lệnh nạp toàn bộ nó về 0 (Tắt).
Cụ thể là : bật hàng 1, nạp dữ liệu, nạp 0, chuyển hàng 2 ,...Nhà phân phối, đại lý bán biến tần,PLC,HMI,AC Servo... Delta
Mr.Quỳnh 0978706839
Comment
-
cam on moi nguoi nhieu moi nguoi xem giup tui lập trình bằng kelic
neu phan cứng tui sai o dau
phan men thi sai o dau
riêng con 89c51 tui dùng mạch chợ sau đó nối theo sơ đồ như mô phỏng
#include <REGX51.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<ms;i++);
}
////////////////////////
void hienthi(unsigned char x)
{
unsigned int i,temp;
for(i=0;i<8;i++)
{
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;n++)
{
P2=mahang[n];
hienthi(macot[n]);
LACH=0;
LACH=1;
delay(200);
}
Last edited by sunbin; 13-04-2012, 14:29.
Comment
-
thử như này xem sao:Nguyên văn bởi sunbin Xem bài viếtcam on moi nguoi nhieu moi nguoi xem giup tui lập trình bằng kelic
neu phan cứng tui sai o dau
phan men thi sai o dau
riêng con 89c51 tui dùng mạch chợ sau đó nối theo sơ đồ như mô phỏng
#include <REGX51.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<ms;i++);
}
////////////////////////
void hienthi(unsigned char x)
{
unsigned int i,temp;
for(i=0;i<8;i++)
{
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;n++)
{
P2=mahang[n];
hienthi(macot[n]);
LACH=0;
LACH=1;
delay(200);
}
[ATTACH=CONFIG]42888[/ATTACH]
Code:void main() { while(1) { for(n=0;n<8;n++) { P2=mahang[n]; hienthi(macot[n]); LACH=0; LACH=1; delay(200); hienthi(0x00);// xóa bóng mờ LACH=0; LACH=1; } } }
Comment
-
đã sửa code nhưng vận vậy các pác có ý kiến gì hông
tui nghi phần cứng cha71c có vấn dề thiếu gì đó vậy theo các pác nó thiếu cái gì sơ đố cùa tui cắm như mô oh3ng ấy còn ri6ng con 89c51 sài mạch mua chác cú 100%
còn cắm qua con 595 thì không biết nó bị gì bỏad chạy con 89 mua 85.000Last edited by sunbin; 14-04-2012, 15:59.
Comment
-
đưa cái mạch nguyên lý lên thì người khác mới giúp được, muốn biết chính xác thì chỉ cho một cột của ma trận led sáng xem có vấn đề gì không rồi thử tiếp những cái khác
Comment
-
bạn cho delay(10) thôi, hy vọng sẽ giúp được bạn.Nguyên văn bởi sunbin Xem bài viếtđã sửa code nhưng vận vậy các pác có ý kiến gì hông
tui nghi phần cứng cha71c có vấn dề thiếu gì đó vậy theo các pác nó thiếu cái gì sơ đố cùa tui cắm như mô oh3ng ấy còn ri6ng con 89c51 sài mạch mua chác cú 100%
còn cắm qua con 595 thì không biết nó bị gì bỏad chạy con 89 mua 85.000
Comment
-
Bài viết mới nhất
Collapse
There are no results that meet this criteria.

Comment