Thông báo

Collapse
No announcement yet.

LED MATRIX DISPLAY

Collapse
This topic is closed.
X
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • #31
    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ó.

    Comment


    • #32
      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 vui
      Dia chi cho cac Fan muon hoc Pic

      Comment


      • #33
        Nguyên văn bởi mafd_47
        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 vui
        Khó khăn quá , em chưa hiểu cái kiểu mã hóa , bác gửi luôn cho em 1 đoạn code cho chữ chạy được không ?
        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


        • #34
          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ư thế khi muốn hiển thị một xâu, thì ta làm cách xử lý thông thường.
          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


          • #35
            Nguyên văn bởi noisepic
            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ư thế khi muốn hiển thị một xâu, thì ta làm cách xử lý thông thường.
            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!
            Do em chưa hiểu ý anh.
            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


            • #36
              //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


              • #37
                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


                • #38
                  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


                  • #39
                    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


                    • #40
                      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


                      • #41
                        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


                        • #42
                          Con ULN2803 khong nhat thiet phai gan chan di +5v, bo no cung khong sao ca.

                          Comment


                          • #43
                            Nguyên văn bởi hamchoi
                            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?
                            không phải đâu bạn a```...con ULN2803 là con đệm đất...bạn có thể nối cho 7 hàng chung cho 10 cái LMD nhưng mà phải nối với chân âm của matrix...tức là V=0. Nó không có trạng thái =1(hight) mà chỉ có hai trạng thái chân ra là:
                            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


                            • #44
                              Chết cha, như vậy là mình nhầm to rồi. Thế có con nào dùng để đệm dòng mà nối với chân dương của LMD không nhỉ. Các bác giúp giùm với!
                              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


                              • #45
                                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

                                Về tác giả

                                Collapse

                                hitkhoi Tìm hiểu thêm về hitkhoi

                                Bài viết mới nhất

                                Collapse

                                Đang tải...
                                X