74hc273 là con chốt (latch), cụ thể nếu chân reset ko tích cực(mức H) thì khi có sường dương tạo chân clk-->Qi=Di. (i=0..7). Vào alldatasheet đọc cái bảng chân lý và cách sử dụng nó.
Thông báo
Collapse
No announcement yet.
LED MATRIX DISPLAY
Collapse
This topic is closed.
X
X
-
Ko biet cac bac khi bat dau lam quang bao co gap van de trong viec tim Font chu chuan ko nhi
Luc dau toi cung gap kho khan trong van de nay nhung sau do da tim ra mot cach de giai quyet van de
Bac nao van gap kho khan ve van de nay thi co the dung no de tham khao
Chuc ca nha vuiDia chi cho cac Fan muon hoc Pic
Comment
-
Nguyên văn bởi mafd_47Ko biet cac bac khi bat dau lam quang bao co gap van de trong viec tim Font chu chuan ko nhi
Luc dau toi cung gap kho khan trong van de nay nhung sau do da tim ra mot cach de giai quyet van de
Bac nao van gap kho khan ve van de nay thi co the dung no de tham khao
Chuc ca nha vui
Em đang làm theo kiểu củ chuối , mất nhiều thời gian quá !Và anh biết là khi bên em, anh sẽ vượt qua tất cả
Comment
-
Em thấy cách định nghĩa font chữ của anh binhanh nó chưa hay lắm ở chỗ không khai thác được mã ASCII của kí tự! Ý kiến của em thế này.
Nếu RAM em đủ lớn em có thể định nghĩa tất cả các kí tự cần sử dụng trong RAM
bằng
Code:switch(ma_ascii) case 'a': buf[0]=0x00; buf[1] =0x32; .................. buf[4=..... case 'b':
Nhưng với cách này, nhược điểm lớn nhất mà không thể thực hiện được
RAM cần quá nhiều, vả lại phí EEPROM!Learn more...
Comment
-
Nguyên văn bởi noisepicEm thấy cách định nghĩa font chữ của anh binhanh nó chưa hay lắm ở chỗ không khai thác được mã ASCII của kí tự! Ý kiến của em thế này.
Nếu RAM em đủ lớn em có thể định nghĩa tất cả các kí tự cần sử dụng trong RAM
bằng
Code:switch(ma_ascii) case 'a': buf[0]=0x00; buf[1] =0x32; .................. buf[4=..... case 'b':
Nhưng với cách này, nhược điểm lớn nhất mà không thể thực hiện được
RAM cần quá nhiều, vả lại phí EEPROM!
Khai báo mảng kiểu hằng số:
const Font_2 Font[256];
Chứ ko phải trong RAM.
Và nữa
Ko ai làm case 'a'.. như vậy vì mất thời gian seclect, dùng con trỏ.Một lệnh là xong.
Vi dụ: hiển thị chữ x chỉ cần:
for (i=0;i<5;i++)
{
a[i]=Font[x].F(i);
}
RAM chỉ làm buffer màn hình thôi.
Comment
-
//Font cho LED MATRIX
typedef struct{
char b[5]; /* Data */
}T_font;
const T_font font[] = {
//{{' ', 5, 7},{
0b00000000, /* ........ */
0b00000000, /* ........ */
0b00000000, /* ........ */
0b00000000, /* ........ */
0b00000000 /* ........ */
//}}
,
//{{'!', 5, 7},{
0b00000000, /* ........ */
0b00000000, /* ........ */
0b11111010, /* .@.@@@@@ */
0b00000000, /* ........ */
0b00000000 /* ........ */
//}}
,
//{{'"', 5, 7},{
0b00000000, /* ........ */
0b11100000, /* .....@@@ */
0b00000000, /* ........ */
0b11100000, /* .....@@@ */
0b00000000 /* ........ */
//}}
...
}
Hàm Printchar:
void printchar()
{
unsignded char i1;
for (i1=0;i1<MAX_CHU;i1++)
{
buff_disp[5*i1]=font[buff_data[i1]].b[0];
buff_disp[5*i1+1]=font[buff_data[i1]].b[1];
buff_disp[5*i1+2]=font[buff_data[i1]].b[2];
buff_disp[5*i1+3]=font[buff_data[i1]].b[3];
buff_disp[5*i1+4]=font[buff_data[i1]].b[4];
}
}
Trong đó buff_disp[] là mảng buff màn hình.
Có nhiều cách để làm, nhưng trên là 1 cách cho led matrix. Tốn ít RAM, ít thời gian xử lý, đương nhiên phải đủ FLASH để chứa Font
Comment
-
he he.. em tìm được cái em cần rùi. Rất cảm ơn bác noispic đã khiến bác BA tiết lộ bí quyết công nghệ.. he he...
Vậy theo ý em hiểu, gọi số chữ cực đại cần hiển thị là m; thì cần RAM lưu trữ 1 mảng là: buffer màn hình là :
buff_disp[5*m];vậy thôi.
Truy cập vào mảng hằng số 256 phần tử (trong FLASH), mỗi phần tử gồm 5 byte.
Vậy để lưu trữ 1 bộ font cần 256*5 byte font.
Truy cập tới bất cứ 1 chữ nào chỉ cần ánh xạ đến bảng đó là xong.
Bác noispic có cao kiến gì ko? vì hỏi vòng như của bác khá mất thời gian. Làm lệnh case như vậy tốn 256 dòng hỏi vòng, Flash nhanh hết lắm. Khi nâng cấp khá mệt, ví dụ thêm 1 bảng font khác chẳng hạn. Mà nhìn đám mã lệnh 256 lệnh case là em thấy oải rùi.
Comment
-
Ngoài ra, nếu để nâng cao chất lượng,hiển thị đẹp hơn nữa thì có 1 số ý tưởng khác.
-Thêm 1 trường biểu thị về độ rộng của chữ: ví dụ chữ A thì 5 *7, chữ i ngắn hơn thì 3*7... thì việc hiển thị đẹp hơn. Ta tưởng tượng nếu 1 ô ly giấy ta viết đúng 1 chữ vào đó thì sẽ xấu đi vì các chữ cps độ rộng khác nhau. Bởi thế nếu công lực cao hơn thì làm theo ý tưởng trên: chữ A 1 ô, chữ i 2/3 ô.... và như vậy mật độ chữ sẽ cách đều nhau hơn. Hiển thị được nhiều chữ hơn.
-Cài thêm module tự động điều chỉnh ánh sáng, khi ánh sáng môi trường cao, thì tự động điều chỉnh công suất cao hơn hẳn, như thế ta mới luôn luôn thấy được chữ nổi bật, buổi tối ko quá chói chang, buổi ngày ko quá mờ.. đảm bảo lúc nào cũng êm dịu, mát mẻ..., tất nhiên cần 1 sensor.
-Ngoài ra, còn nhiều thủ pháp nâng cao khác nữa..., nhưng trên là một số thủ pháp mà mình ít thấy ai làm, hoặc là mình chưa thấy. Mình có làm và nó chạy khá tốt, thấy ko có gì khó khăn, hình ảnh mĩ mãn.
Comment
-
Quả đúng như lời đồn đại của giang hồ, công lực của bác Bình Anh đạt tới võ lâm tuyệt đỉnh, môn công phu Quảng báo nghe chừng đơn giản, nhưng để đạt tới mức cảnh giới như bác BA thì hiếm thấy ai. Đất Hà Thành: có 2 vị đại hiệp công lực luyện tới mức cảnh giới: Tây Độc Âu Dương Bình Anh(Bình Anh: toàn chơi chiêu độc, design toàn quái chiêu) và Bắc Hiệp(Bắc Hiệp) thì võ lâm Trung Nguyên sẽ thái bình thịnh vượng rồi. .
Tại hạ cũng du ngoạn giang nam, võ công cũng biêt chút ít, nhưng mãi ko đả thông được 2 huyệt nhâm đốc chứ chưa nói gì tới huyệt sinh tử huyền quang... tại haj lấy làm xấu hổ ... xấu hổ...
Comment
-
Ko dám.. ko dám... ... mình chỉ là bậc hậu bối.
Nhiều cao nhân ít hoặc ko xuất hiện trên diễn đàn. Mong diễn dàn này sớm là nơi hiệu triệu được các anh hùng xuống núi, tái xuất giang hồ, xây dựng diễn đàn này tập trung được nhiều bài viết giá trị.
Ý tưởng trên của mình cũng là nhờ 1 cao nhân mách nước. Thế là biến ý tưởng đó nó thành hiện thực ngay.
Comment
-
Cho mình hỏi chút xíu. Mình định dùng 1 con ULN2803 để cung cấp cho 7 hàng của 10 cái matrix 5x7 (nối chung) có được không vậy? Cho mình hỏi chân 10 của 2803 có chức năng gì, có phải nếu nối nó với +5V thì nó cho phép truyền dữ liệu phải không?Học cho lắm, tắm hổng có quần thay
Học cho hay, tắm thay hoài cái quần cũ.
Comment
-
Nguyên văn bởi hamchoiCho mình hỏi chút xíu. Mình định dùng 1 con ULN2803 để cung cấp cho 7 hàng của 10 cái matrix 5x7 (nối chung) có được không vậy? Cho mình hỏi chân 10 của 2803 có chức năng gì, có phải nếu nối nó với +5V thì nó cho phép truyền dữ liệu phải không?
in =0 -> out = bỏ lửng.
int=1 -> out =0.
cái này đọc datasheet biết liền a`:http://pdf.alldatasheet.com/datashee...A/ULN2803.html
...còn chân số 10 ấy là NC(no conext) tức là không cần nối gì vào đó cả...chỉ cần nối đất ở chân số 9 là được.sở thích: Ngắm gái
Em xinh thế , em đi @
Comment
-
Mạch của mình dùng 74LS138 để điều khiển cột (đồng thời làm nhiệm vụ dịch luôn), còn để đệm hàng thì đang bí. Có thể dùng Transistor để lấy dòng trực tiếp từ nguồn cũng được nhỉ.
SOS .................................. !Học cho lắm, tắm hổng có quần thay
Học cho hay, tắm thay hoài cái quần cũ.
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Kiểm tra biến ápbởi lamvu0677nhân tiện cho mình hỏi thêm về cái phần test hipot (cao áp),là để kiểm tra độ bền cách điện giưa các cuộn dây,mà thấy thông số test thường ở mức 4kvac,vậy nếu mấy con fail đó xài bình thường vẫn dduocj phải không ạ,vì điện mình làm gì lên tới mức đó
-
Channel: Điện tử dành cho người mới bắt đầu
10-11-2024, 08:52 -
-
Trả lời cho Kiểm tra biến ápbởi lamvu0677máy đo số vòng thì cty có ,mà nó to quá,tưởng có máy nào gọn gọn bỏ túi được thì tiện hơn,vì đi lại nhiều...
-
Channel: Điện tử dành cho người mới bắt đầu
10-11-2024, 08:47 -
-
bởi tmcodonMình thấy diễn đàn có chuyên mục quảng cáo rồi mà. Bạn đóng góp để mở luồng riêng
-
Channel: Hướng dẫn sử dụng diễn đàn
09-11-2024, 13:36 -
-
bởi Nicole08Xin chào mọi người, tôi đã sử dụng Flashforge Inventor 2 được gần 5 năm và rất hài lòng với nó, nhưng tuần trước đã xảy ra sự cố. Có vẻ như động cơ bước đưa sợi in vào đầu nóng đã bị hỏng. Mọi thứ khác có vẻ ổn trên máy...
-
Channel: Điện tử dành cho người mới bắt đầu
09-11-2024, 12:55 -
Comment