Em đã đọc nhiều tài liệu về quang báo. Em biết đối với led matran thì dùng quét led để hiển thị . Em làm thử nhiều lần mà sao nó khong chạy. Có ai có thuật toán và chương trình mẫu (bằng ngôn ngữ C) cho em tham khảo với. Cái này làm em đau đầu lâu lắm rồi. em cảm ơn trước.
Thông báo
Collapse
No announcement yet.
Hỏi về thuật toán quét led matrix!!
Collapse
X
-
Nguyên văn bởi dvnccbmacbt Xem bài viếtEm đã đọc nhiều tài liệu về quang báo. Em biết đối với led matran thì dùng quét led để hiển thị . Em làm thử nhiều lần mà sao nó khong chạy. Có ai có thuật toán và chương trình mẫu (bằng ngôn ngữ C) cho em tham khảo với. Cái này làm em đau đầu lâu lắm rồi. em cảm ơn trước.
-
hehe! bạn phải nói ra bạn đang muốn làm gì? và bạn đã làm được những gì và làm đến đâu của vấn đề! bạn đau dầu >> bạn đau ở vấn đề gì đau ở đâu?phần cứng của bạn? tóm lại bạn phải nói đến chỗ vướng mắc của bạn làm thì mình sẽ chỉ dẫn!chúc bạn thành công!!!--------------------------------------
Cùng nhau tỏa sáng
Email:
Comment
-
Cảm ơn mọi người nhé! Đây là sơ đồ mạch( vô cùng đơn giản vì em mới học)
[IMG][img=http://img484.imageshack.us/img484/7758/up002zu7.th.jpg][/IMG]
P1 nối với chân âm, P3 nối với chân dương.
Còn đây là chương trình : dùng keil C
Code:#include<REGX51.H> #include <intrins.h> //ham delay void delay (unsigned int time ) { while(time--) { unsigned char temp = 121; while(temp--); } } void main(void) { while (1) { // bat dau quet P1=0xE7;P3=0xFC; P3=0x3;P1=0x0; } }
Cho em hỏi vài chỗ :
1. Chương trình của em có phải là quét led không? Vì em chưa hiểu rõ lắm.
2. Em không rành về mạch nên không biết mạch của em có đúng không? ( ý em là nếu mắc mạch thật thì có cháy không?)
3. Em không làm cho chữ "T" chạy được! Em không biết thuật toán chỗ này!
4. Em không biết có sơ đồ và thuật toán nào tối ưu hơn không, mọi người giúp em với?
Em không post ảnh lớn hơn được mọi người giúp em.
Em cảm ơn nhiếu!
Comment
-
Mạch thiết kế vậy có nuớc nó lờ mờ sáng hoặc nhập nhòe sáng.
Vì cậu tích cực 1 cột (hoặc 1 hàng) bằng chính ngõ ra của VĐK.
Thứ 2 nữa giải thuật quét của cậu không chạy.vì đưa bộ giá trị đó có nuớc toàn con led nó sáng.
Đây là 1 đồ án mình đã làm với 1 matrix led 5*7 và cho phép chữ chạy.
Cậu có thể tham khảo giải thuật.Attached Files
Sông dài, Thuyền lớn, Biển rộng bao la.
Tháo neo ngôn ngữ, lèo lái con thuyền kiến thức nhân loại.
Comment
-
Nguyên văn bởi dvnccbmacbt Xem bài viếtCảm ơn mọi người nhé! Đây là sơ đồ mạch( vô cùng đơn giản vì em mới học)
[IMG][img=http://img484.imageshack.us/img484/7758/up002zu7.th.jpg][/IMG]
P1 nối với chân âm, P3 nối với chân dương.
Còn đây là chương trình : dùng keil C
#include<REGX51.H>
#include <intrins.h>
//ham delay
void delay (unsigned int time )
{ while(time--)
{ unsigned char temp = 121;
while(temp--);
}
}
void main(void)
{
while (1)
{ // bat dau quet
P1=0xE7;P3=0xFC;
P3=0x3;P1=0x0;
}
}
Còn đây là kết quả chạy.
[IMG][/IMG]
Cho em hỏi vài chỗ :
1. Chương trình của em có phải là quét led không? Vì em chưa hiểu rõ lắm.
2. Em không rành về mạch nên không biết mạch của em có đúng không? ( ý em là nếu mắc mạch thật thì có cháy không?)
3. Em không làm cho chữ "T" chạy được! Em không biết thuật toán chỗ này!
4. Em không biết có sơ đồ và thuật toán nào tối ưu hơn không, mọi người giúp em với?
Em không post ảnh lớn hơn được mọi người giúp em.
Em cảm ơn nhiếu!
thiết kế led cần quan trọng nhất là phải thiết kế tốt phần công suât cho nó.
bạn dùng trực tiếp vdk như vậy sẽ không đủ dòng cho led hoạt động.
Comment
-
Nguyên văn bởi dvnccbmacbt Xem bài viếtCảm ơn mọi người nhé! Đây là sơ đồ mạch( vô cùng đơn giản vì em mới học)
[IMG][img=http://img484.imageshack.us/img484/7758/up002zu7.th.jpg][/IMG]
P1 nối với chân âm, P3 nối với chân dương.
Còn đây là chương trình : dùng keil C
#include<REGX51.H>
#include <intrins.h>
//ham delay
void delay (unsigned int time )
{ while(time--)
{ unsigned char temp = 121;
while(temp--);
}
}
void main(void)
{
while (1)
{ // bat dau quet
P1=0xE7;P3=0xFC;
P3=0x3;P1=0x0;
}
}
Còn đây là kết quả chạy.
[IMG][/IMG]
Cho em hỏi vài chỗ :
1. Chương trình của em có phải là quét led không? Vì em chưa hiểu rõ lắm.
2. Em không rành về mạch nên không biết mạch của em có đúng không? ( ý em là nếu mắc mạch thật thì có cháy không?)
3. Em không làm cho chữ "T" chạy được! Em không biết thuật toán chỗ này!
4. Em không biết có sơ đồ và thuật toán nào tối ưu hơn không, mọi người giúp em với?
Em không post ảnh lớn hơn được mọi người giúp em.
Em cảm ơn nhiếu!
Comment
-
Cảm ơn mọi người nhiều. Em có đọc thêm tài liệu. CÓ phải cách như thế này không? Đầu tiên là mã hóa các ký tự vào một bảng, sau đó lấy ra, quét led và dịch. Em còn lờ mờ về thuật toán lắm. Em còn không hiểu chỗ mã hóa ký tự. Chỉ thấy 0xff,v..v. Em tìm dc một VD:
-chuong trinh viet bang Keil C.Dung 3 ma tran 8x8
===========PROGRAM=========================
Code:#include<reg52.h> unsigned char code hang[410] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0x00,0x30,0x7a,0x30,0x00,0xff,0x03,0x3a,0x39,0x3a,0x03,0xff,0x00,0x30,0x7a,0x30,0x00,0xff, 0xff,0xff,0xff,0xff,0xff, 0xf7,0x00,0x76,0x7e,0x81,0xff, //D 0x05,0xff, //i 0x05,0x56,0x56,0x45,0xff, //e 0x07,0xef,0xf7,0x07,0xff, //n 0xff, // 0xfe,0xfe,0x00,0xfe,0xfe,0xff, //T 0x82,0x7c,0x7f,0x85,0xf9,0xff, //u 0xff, 0x00,0xfd,0xfb,0xfd,0x00,0xff, //M 0x17,0x57,0x57,0x0f,0xff, //a 0x07,0xef,0xf7,0x07,0xff, //n 0x00,0xf7,0xf7,0x0f,0xff, //h 0xff, 0x00,0x7f,0x7f,0xff, //L 0x17,0x57,0x57,0x0f,0xff, //a 0x07,0xef,0xf7,0x07,0xff, //n 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0x00,0x30,0x7a,0x30,0x00,0xff,0x03,0x3a,0x39,0x3a,0x03,0xff,0x00,0x30,0x7a,0x30,0x00,0xff, 0xff,0xff,0xff,0xff,0xff, 0xb9,0x76,0x76,0x8d,0xff, //S 0x82,0x7c,0x7f,0x85,0xf9, //u' 0x17,0x57,0x57,0x0f,0xff, //a 0xff, 0x81,0x7e,0x7e,0xbd,0xff, //C 0x00,0xf7,0xf7,0x0f,0xff, //h 0x85,0x7e,0x7d,0x86,0xf9, //u'~ 0x17,0x57,0x57,0x0f,0xff, //a 0xff, 0x00,0xfd,0xfb,0xfd,0x00,0xff, //M 0x87,0x7f,0x7f,0x87,0xff, //u 0x17,0x57,0x57,0x0f,0xff, //a 0xff, 0x00,0x76,0x76,0x89,0xff, //B 0x17,0x57,0x55,0x0e,0xff, //a' 0x07,0xef,0xf7,0x07,0xff, //n 0xff, 0x00,0x7f,0x7f,0xff, //L 0x81,0x7e,0x7e,0x81,0xff, //O 0x03,0xed,0xee,0xed,0x03,0xff, //A 0xf7,0xf7,0xff, //- 0x03,0xed,0xee,0xed,0x03,0xff, //A 0x00,0xfd,0xfb,0xfd,0x00,0xff, //M 0x00,0x7f,0x7f,0xff, //L 0x00,0xff, //I 0xf7,0xf7,0xff, //- 0xfe,0xfe,0x00,0xfe,0xfe,0xff, //T 0xc0,0xbf,0x7f,0xbf,0xc0,0xff, //V 0xf7,0xf7,0xff, //- 0xc0,0xbf,0x7f,0xbf,0xc0,0xff, //V 0x81,0x7e,0x7e,0xbd,0xff, //C 0x00,0x7e,0x7e,0x81,0xff, //D 0xf7,0xf7,0xff, //- 0x00,0x7e,0x7e,0x81,0xff, //D 0xc0,0xbf,0x7f,0xbf,0xc0,0xff, //V 0x00,0x7e,0x7e,0x81,0xff, //D 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0x00,0x7e ,0x42,0x76,0x6e,0x76,0x42,0x7e,0x42,0x5e,0x5e,0x7e,0x00,0xff,0xff,0xff, 0x00,0x7e,0x7a,0x42,0x7a,0x7e,0x42,0x6a,0x52,0x7e, 0x7a,0x42,0x7a,0x7e,0x00,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
Comment
-
Thuat Toan Ma Tran Led
BAI VIET CUA LONG DANH TANG BAN VE MA TRAN LED
O BAI TRUOC MINH DA DANG MOT THUAT TOAN BANG C VE MA TRAN , CHUYEN NAY THI DON GIAN THOI KHONG CO GI PHUC TAP CA , BAN XEM DOAN CODE NAY NHE DON GIAN LAM , LAP MACH LA CHAY NGAY THOI
mau(1);
mass(x);
mang[0]=c ;
mang[1]=o ;
mang[2]=n ;
mang[3]=g ;
mang[4]=t ;
mang[5]=y ;
PORTB = mang[0] & hien_phai(255,0);
PORTD = mang[1] & hien_phai(255,0);
PORTC = mang[2] & hien_phai(255,0);
PORTA.7=1; PORTA.6=0;
PORTB = mang[3] & hien_phai(255,0);
PORTD = mang[4] & hien_phai(255,0);
PORTC = mang[5] & hien_phai(255,0);
VOI THUAT TOAN NAY BAN SE VE LED MA TRAN
CHUC BAN THANH CONG
Comment
-
Nguyên văn bởi dvnccbmacbt Xem bài viếtCảm ơn mọi người nhiều. Em có đọc thêm tài liệu. CÓ phải cách như thế này không? Đầu tiên là mã hóa các ký tự vào một bảng, sau đó lấy ra, quét led và dịch. Em còn lờ mờ về thuật toán lắm. Em còn không hiểu chỗ mã hóa ký tự. Chỉ thấy 0xff,v..v. Em tìm dc một VD:
-chuong trinh viet bang Keil C.Dung 3 ma tran 8x8
===========PROGRAM=========================
Code:#include<reg52.h> unsigned char code hang[410] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0x00,0x30,0x7a,0x30,0x00,0xff,0x03,0x3a,0x39,0x3a,0x03,0xff,0x00,0x30,0x7a,0x30,0x00,0xff, 0xff,0xff,0xff,0xff,0xff, 0xf7,0x00,0x76,0x7e,0x81,0xff, //D 0x05,0xff, //i 0x05,0x56,0x56,0x45,0xff, //e 0x07,0xef,0xf7,0x07,0xff, //n 0xff, // 0xfe,0xfe,0x00,0xfe,0xfe,0xff, //T 0x82,0x7c,0x7f,0x85,0xf9,0xff, //u 0xff, 0x00,0xfd,0xfb,0xfd,0x00,0xff, //M 0x17,0x57,0x57,0x0f,0xff, //a 0x07,0xef,0xf7,0x07,0xff, //n 0x00,0xf7,0xf7,0x0f,0xff, //h 0xff, 0x00,0x7f,0x7f,0xff, //L 0x17,0x57,0x57,0x0f,0xff, //a 0x07,0xef,0xf7,0x07,0xff, //n 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0x00,0x30,0x7a,0x30,0x00,0xff,0x03,0x3a,0x39,0x3a,0x03,0xff,0x00,0x30,0x7a,0x30,0x00,0xff, 0xff,0xff,0xff,0xff,0xff, 0xb9,0x76,0x76,0x8d,0xff, //S 0x82,0x7c,0x7f,0x85,0xf9, //u' 0x17,0x57,0x57,0x0f,0xff, //a 0xff, 0x81,0x7e,0x7e,0xbd,0xff, //C 0x00,0xf7,0xf7,0x0f,0xff, //h 0x85,0x7e,0x7d,0x86,0xf9, //u'~ 0x17,0x57,0x57,0x0f,0xff, //a 0xff, 0x00,0xfd,0xfb,0xfd,0x00,0xff, //M 0x87,0x7f,0x7f,0x87,0xff, //u 0x17,0x57,0x57,0x0f,0xff, //a 0xff, 0x00,0x76,0x76,0x89,0xff, //B 0x17,0x57,0x55,0x0e,0xff, //a' 0x07,0xef,0xf7,0x07,0xff, //n 0xff, 0x00,0x7f,0x7f,0xff, //L 0x81,0x7e,0x7e,0x81,0xff, //O 0x03,0xed,0xee,0xed,0x03,0xff, //A 0xf7,0xf7,0xff, //- 0x03,0xed,0xee,0xed,0x03,0xff, //A 0x00,0xfd,0xfb,0xfd,0x00,0xff, //M 0x00,0x7f,0x7f,0xff, //L 0x00,0xff, //I 0xf7,0xf7,0xff, //- 0xfe,0xfe,0x00,0xfe,0xfe,0xff, //T 0xc0,0xbf,0x7f,0xbf,0xc0,0xff, //V 0xf7,0xf7,0xff, //- 0xc0,0xbf,0x7f,0xbf,0xc0,0xff, //V 0x81,0x7e,0x7e,0xbd,0xff, //C 0x00,0x7e,0x7e,0x81,0xff, //D 0xf7,0xf7,0xff, //- 0x00,0x7e,0x7e,0x81,0xff, //D 0xc0,0xbf,0x7f,0xbf,0xc0,0xff, //V 0x00,0x7e,0x7e,0x81,0xff, //D 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0x00,0x7e ,0x42,0x76,0x6e,0x76,0x42,0x7e,0x42,0x5e,0x5e,0x7e,0x00,0xff,0xff,0xff, 0x00,0x7e,0x7a,0x42,0x7a,0x7e,0x42,0x6a,0x52,0x7e, 0x7a,0x42,0x7a,0x7e,0x00,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
Chương trình trên của bạn cho phép hiện thị mã ký tự đã được mã hóa sẵn và được đưa vào trong mảng 410 byte trên.
bạn sử dụng 3 con leld ma trận 8x8,mình đoán rằng ở đây sử dụng cách quét theo cột.
chương trình trên của bạn sẽ quét liên tục 8x8=64 cột ma trận,ban đầu cho cột đầu tiên sáng ứng với dữ liệu là byte đầu của mảng có 410byte ở trên,tiếp đó là đến cột thứ hai ứng với byte thứ hai của mảng 410byte trên,cứ như vậy cho đến cột thứ 64 của bạn.như vậy nếu chỉ quét không như vậy bạn chỉ có thể nhìn thấy 64 byte đầu của mảng trên,để có thể nhìn thấy các ký tự tiếp theo của mảng trên bạn phải sử dụng thuật toán là phải dịch mảng đi để hiển thị tiếp.
bạn đã biết thuật toán để làm được chức năng đó chưa nhẩy.
Comment
-
Về thuật toán cơ bản thì cách làm như đồ án của Thái là đúng! Nhưng tôi có vài nhận xét sau:
- đã là ledmatrix thì phải quét theo hàng, cột để nhìn thấy/ được với tần số > 24hình/s.
- để hiển thị thông tin thì phải số lượng led lớn ( dài 3 - 15 m cao 20-60cm)
- Cần phần cứng: hàng điều khiển bằng transitor và cột được xuất dữ liệu bởi 74HC595 ( thanh ghi dịch ) mất 3 chân VXL thôi
- Bộ font không làm như thái vì mất tg select case nên để trong falsh bộ font 128 cho TA và 256 cho việt nam theo mã ASCII--------------------------------------
Cùng nhau tỏa sáng
Email:
Comment
-
Nguyên văn bởi luonghanh Xem bài viếtVề thuật toán cơ bản thì cách làm như đồ án của Thái là đúng! Nhưng tôi có vài nhận xét sau:
- đã là ledmatrix thì phải quét theo hàng, cột để nhìn thấy/ được với tần số > 24hình/s.
- để hiển thị thông tin thì phải số lượng led lớn ( dài 3 - 15 m cao 20-60cm)
- Cần phần cứng: hàng điều khiển bằng transitor và cột được xuất dữ liệu bởi 74HC595 ( thanh ghi dịch ) mất 3 chân VXL thôi
- Bộ font không làm như thái vì mất tg select case nên để trong falsh bộ font 128 cho TA và 256 cho việt nam theo mã ASCII
-Số lượng led nhỏ là do thầy yêu cầu thì mình làm(ko dư tiền chơi nhiều).
-Còn bộ font thì nó đuợc đặt trong FLASH đấy bạn đừng hiểu lầm từ khoá PROGMEM chính là nói lên nó đặt trong flash.select case là để giải mã từ ascii sang mã font lưu trong flash việc truy xuất bộ font đuợc thực hiện bằng cách giống truy xuất mảng.Bộ font này được mình xây dựng bằng 1 cách hết sức đơn giản mà không tốn công sức tí nào để ngồi vẽ hoặc viết chương trình tạo.
Sông dài, Thuyền lớn, Biển rộng bao la.
Tháo neo ngôn ngữ, lèo lái con thuyền kiến thức nhân loại.
Comment
-
Led
Các anh làm LED ơi, em cũng rất khoái cái món LED này, em muốn tìm cái LED của bọn tầu to như những cái hay treo ở ngoài đường ấy(không phải là cái 5x7 hay cái 8x8 nhỏ xíu như ngoài chợ giời vẫn bán đâu). Bác nào cái đó bán ở đâu chỉ cho em với. Em cảm on các bác.Đường nào dìu tôi đi đến cơn say???????
0953 735 178
Comment
Bài viết mới nhất
Collapse
-
bởi nhathung1101Với servo Yaskawa thì dùng phần mềm Wide field 3. Dùng được hay không thì động não đi....
-
Channel: Điện tử công nghiệp
hôm nay, 00:35 -
-
bởi bqvietServo cuối cùng vẫn chỉ là điều chỉnh tốc độ và đọc phản hồi vị trí
Qua cổng song song LPT cổ
https://www.electronicsforu.com/elec...eed-controller
Qua cổng USB - xem thêm đám FT232RL-
Channel: Điện tử công nghiệp
Hôm qua, 15:56 -
-
bởi thiennam0703Em đang tìm hiểu cách xây dựng chương trình điều khiển động cơ Servo Yaskawa bằng máy tính tuy nhiên khi tìm kiếm trên mạng các hướng dẫn thì thường là điều khiển bằng vi điều khiển hoặc điều khiển bằng PLC hay điều khiển động cơ...
-
Channel: Điện tử công nghiệp
Hôm qua, 15:32 -
-
Trả lời cho Tổng hợp các thông tin về mạch nạp cho AVRbởi bacthoMình cũng bị như vậy mà chưa biết ở đâu
-
Channel: Vi điều khiển AVR
21-11-2024, 21:00 -
-
Trả lời cho Xin hỏi về màn hình laptopbởi nhathung1101Câu trả lời là không dùng được.
Hai lớp dán mặt trước và mặt sau, gọi là film phân cực. Muốn hiểu rõ về nó thì chịu khó search nhé. Ở đây có rất nhiều chó cứ ngửi thấy phân là sủa nhặng, nên không giải thích nhiều....-
Channel: Thiết bị điện tử cá nhân
21-11-2024, 16:20 -
-
Comment on Tổng hợp các thông tin về mạch nạp cho AVRbởi Memem
-
Channel: Vi điều khiển AVR
21-11-2024, 15:10 -
-
Trả lời cho Tổng hợp các thông tin về mạch nạp cho AVRbởi MememMọi người ơi cho em hỏi cái này ạ, hiện tại em đang làm btl về hiển thị giá trị nhiệt độ trên led 7 thanh sử dụng atmega16, code em chạy trên mô phỏng rất oke nhưng khi lắp qua mạch thực thì bị lỗi ở led đầu tiên bị lỗi như thế này...
-
Channel: Vi điều khiển AVR
21-11-2024, 15:10 -
-
bởi mantruongepuNhờ cả nhà tìm giúp mình thông tin IC này với, thấy ghi 943B W58BAL mà mình tìm mấy ngày nay không được, nó được đóng gói dạng TSSOP 8. Cám ơn cả nhà....
-
Channel: Điện tử dành cho người mới bắt đầu
20-11-2024, 14:40 -
-
bởi TherulCảm ơn bạn đã chia sẻ câu chuyện và quá trình phát triển sản phẩm của mình. Trước tiên, thật may mắn khi bạn vượt qua tai nạn và vẫn giữ được niềm đam mê cũng như khả năng sáng tạo trong lĩnh vực kỹ thuật. Việc bạn tiếp tục...
-
Channel: từ PIC tới dsPIC
20-11-2024, 07:20 -
-
Trả lời cho Em muốn hỏi mọi người về nguyên lý hoạt động, tần số của mạch công suất trong máy rửa siêu âm ạ.bởi nguyendinhvanBạn nên nghiên cứu cái chấn lưu đèn ống Compact fluorescent lamp hay đèn compact trước đã. Nó rẻ đỡ tốn kém.
Sau khi hiểu rõ rồi thì chuyển sang cái mạch này.
Ở cái chấn lưu, tần số của nó linh tinh lắm, tùy điện áp nguồn, tùy...-
Channel: Hỗ trợ học tập
19-11-2024, 22:44 -
Comment