Thông báo

Collapse
No announcement yet.

[Hiển thị] LED Matrix Display (tập 2)

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Nguyên văn bởi bvhoang Xem bài viết
    Bạn hỏi thông minh quá đấy mà, người ta đọc mãi mà chẳng hiểu...

    Bạn khai báo như thế không sai, nhưng vấn đề là bạn định làm gì với nó.
    Bạn muốn hiển thị cái gì? Ý định triển khai chương trình của bạn như thế nào? Bạn quét theo hàng hay theo cột? Bạn định ghép chữ cái hay dùng bitmap của cả xâu? Bạn chọn kiểu mã hóa font bitmap như thế nào? Bạn có nguyên lý ở đây không thì post lên. Bạn trình bày rõ ràng thì chắc chắn mọi người sẽ giúp bạn.
    Sao bạn nói vậy được, mình dùng phần mền bạn viết ra mình rất cảm ơn. Mình cũng đã trình bày rõ là mình quét theo cột như ở trên. Mình định dùng nó để ghép chữ cái với 8 hàng trên là nữa chữ phía trên ( ví dụ như chữ A) và được nối vào PortC còn 8 hàng dưới là nủa chữ dưới và được nối thẳng vào Port D. Tỏng cộng là 16 hàng, vậy mình phải khai báo như thế nào để được 1 font chữ.
    Thế đó, hiểu được bạn gúp mình chứ?
    Đây là hình ảnh mô phỏng :

    Comment


    • Mạng ở mình chậm quá không tài nào up được ảnh hay file gì lên. Để xíu nữa thử lại, mong thông cảm.

      Comment


      • Đi học về up ảnh lên mà không được. Làm sao họ giúp được mình đây.

        Comment


        • Nguyên văn bởi aladin_09 Xem bài viết
          Đi học về up ảnh lên mà không được. Làm sao họ giúp được mình đây.
          Ok, ko cần post ảnh lên đâu. Mình hiểu rồi.

          Bạn tạo font thế này nhé:
          - Gõ các kí tư cần tạo font theo thứ tự, ví dụ như trong bảng ascii (hoặc tùy cách truy cập của bạn)
          - Click vào nút Create Font...
          - Ở cửa sổ Font Wizard, bạn chọn ORIENTATION là 90 hoặc 270 độ (vì bạn quét theo cột nên phải mã hóa chữ theo chiều đứng của chữ)
          - Nhấn OK
          - Ở bên cửa sổ Editor, bạn sẽ thấy mỗi hàng có 2 byte (16bit, là chiều cao của bảng, vì bạn quét theo cột mà). Bạn bắn byte thứ nhất ra cổng A, byte thứ 2 ra cổng D (hoặc ngược lại, tùy cách hiển thị)
          - Khi hiển thị ra rồi mà thấy có vấn đề như các byte bị ngược, font bị xen,... thì bạn có thể chỉnh sửa lại về ORIENTATION, offset, byte endian,... để tạo lại font cho phù hợp


          Have Fun!

          * Ở bản 3.9 (mới cập nhật và free hoàn toàn http://dientuvietnam.net/forums/show...210#post219210) mình thêm vào đoạn
          #define _bvh_mspace // const // code // eeprom // etc...
          với trình dịch CCS, bạn đổi thành
          #define _bvh_mspace const // code // eeprom // etc...

          để khai báo dữ liệu font là nằm ở trong rom
          Last edited by bvhoang; 30-10-2009, 12:02.

          Comment


          • Cảm ơn bạn chỉ dẫn, từ phần mền của bạn mình mới có ý tưởng làm và đã làm bảng 16x64 đây chứ. Vấn đề khi truy cập đến một cột nào đó thì mình không biết truy cập thế nào trong chương trình của mình.
            Mình chỉ biết cách truy cập thế này thôi khi mình sủa lại font của bạn một xi.

            void copy_font1(int8 k)
            {
            int8 j,m;
            for (j=0;j<20
            {
            for(m=32;m>1;m--)
            {
            buff_disp1[m]=buff_disp1[m-1];
            buff_disp2[m]=buff_disp2[m-1];
            }
            buff_disp1[1]=font1[k].b[j];
            j=j+1;
            buff_disp2[1]=font1[k].b[j];
            j=j+1;
            display();
            }
            }
            sau đo mình xuất ra:

            output_d(buff_disp1[i]);
            output_c(buff_disp2[i]);

            Đây là font sau khi sủa:
            Lúc đó vĩ trí của những byte chẵn 0 2 4 6 8 ...18 do buff_disp1 bắn ra ở PortD
            Vĩ trí những byte lẻ 1 3 5....19 do buff_disp2 bắn ra ở PortC


            typedef struct {
            int8 b[20]; /* Data */
            }T_font;
            const T_font font1[]={
            // Order 0, Character ' ', ASCII 32 (0x20)
            0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
            // Order 1, Character '!', ASCII 33 (0x21)
            0xFF,0xFF,0xE4,0x07,0xE4,0x07,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
            // Order 2, Character '"', ASCII 34 (0x22)
            0xFF,0xFF,0xFF,0x87,0xFF,0xC7,0xFF,0xFF,0xFF,0xFF, 0xFF,0x87,0xFF,0xC7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
            // Order 3, Character '#', ASCII 35 (0x23)
            0xE1,0xBF,0xFC,0x1F,0xFD,0xA7,0xE1,0xBF,0xFC,0x3F, 0xFD,0x87,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
            // Order 4, Character '$', ASCII 36 (0x24)
            0xFF,0xFF,0xF3,0x8F,0xEF,0x37,0xC0,0x03,0xEC,0xF7, 0xF1,0xCF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
            // Order 5, Character '%', ASCII 37 (0x25)
            0xFF,0xFF,0xFF,0x0F,0xFE,0x07,0xFE,0xF7,0xEE,0x07, 0xF3,0x0F,0xFD,0xFF,0xFE,0x7F,0xFF,0x9F,0xF0,0xEF,
            // Order 6, Character '&', ASCII 38 (0x26)
            0xFF,0xFF,0xF1,0xFF,0xE0,0xFF,0xE6,0xFF,0xEF,0x0F, 0xEC,0x07,0xF0,0x77,0xE3,0xB7,0xE5,0x4F,0xEE,0x7F,
            // Order 7, Character ''', ASCII 39 (0x27)
            0xFF,0xFF,0xFF,0xC7,0xFF,0xC7,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
            // Order 8, Character '(', ASCII 40 (0x28)
            0xFF,0xFF,0xF0,0x7F,0xC0,0x1F,0x9F,0xCF,0x7F,0xF7, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
            // Order 9, Character ')', ASCII 41 (0x29)
            0x7F,0xF7,0x9F,0xCF,0xC0,0x1F,0xF0,0x7F,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
            // Order 10, Character '*', ASCII 42 (0x2A)
            0xFF,0xFF,0xFF,0xDF,0xFF,0x5F,0xFF,0x87,0xFF,0x5F, 0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
            // Order 11, Character '+', ASCII 43 (0x2B)
            0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xF0,0x1F,0xFE,0xFF, 0xFE,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
            };

            Ý mình dùng cách truy cập nào để tiện lợi khi dùng phần mền RTB.
            Mong được các bạn hướng đẫn.

            Comment


            • không biết cái này trên diễn đàn có chưa
              mình tìm mãi mới thấy cái datasheet của con led matrix 2màu 8x8 chính hãng trung quốc sản xuất
              lần trước tìm được trên mạng cái datasheet của bọn tây, chả đúng với con led của mình gì cả
              vậy up lên đây để chia sẻ với bạn nào cần nha

              http://www.sparkfun.com/datasheets/C...1288CR3G2C.pdf

              đính kèm mãi không được, đưa link cho mọi người vậy
              ĐỪNG KHÓC CHO NHỮNG GÌ ĐÃ QUA, MÀ HÃY CƯỜI CHO NHỮNG ĐIỀU SẮP TỚI!

              Comment


              • Nguyên văn bởi aladin_09 Xem bài viết
                Ý mình dùng cách truy cập nào để tiện lợi khi dùng phần mền RTB.
                Mong được các bạn hướng đẫn.
                Bạn tham khảo đoạn code sau đây nhé. Trong hàm StringToBitmap có chứa đoạn code mình viết để lấy dữ liệu font và dán vào bitmap cần hiển thị. Hàm Display mình chỉ gợi ý thôi, vì việc quét cụ thể như thế nào là do bạn quyết định.

                PHP Code:
                #ifndef MAX_CHARS
                #define MAX_CHARS  100
                #endif // MAX_CHARS

                unsigned char bmpBuffer[MAX_CHARS*((BVH_CELL_X/2)*BVH_CELL_Y)];
                unsigned int cntBufferBytes;
                char strMessage[MAX_CHARS// The Message String, ocupying 200 bytes as maximum
                    
                = {'T','h','i','s',' ','i','s',' ','R','T','B'0}; // "This is RTB"


                // Convert a String to Bitmap using a font created by RTB v3.9 (90 or 270 deg oriented)
                // Globals:
                // - chrMessage: The Message String terminated by NULL character (In)
                // - bmpBuffer: The Bitmap Buffer to be displayed (In/Out)
                // - cntBufferBytes: Number of bytes actually used in the Bitmap Buffer (In/Out)

                void StringToBitmap()
                {
                    
                unsigned char ijtableIndexsizeCharacter;

                    
                cntBufferBytes0;

                    for(
                i0i200i++)
                    {
                        if(
                strMessage[i]== 0// End of a String
                        
                {
                            break;
                        }

                        
                // Calculate the Order of the current character from the RTB font data
                        
                tableIndexstrMessage[i]- ' ';
                        
                // Calculate the Size of a RTB character's bitmap
                        
                sizeCharacter= (BVH_CELL_X/2)*FontIncX[tableIndex];

                        
                // Add the RTB character bitmap to the Bitmap Buffer
                        
                for(j0jsizeCharacterj++)
                        {
                            
                bmpBuffer[cntBufferBytesj]= FontData[tableIndex][j];
                        }

                        
                // Update the Bitmap Bytes used for Displaying
                        
                cntBufferBytes+= sizeCharacter;
                    }
                }





                // Example for Displaying the Bitmap with Column Scanning
                void Display()
                {
                    
                unsigned int16 i;
                    for(
                i0icntBufferBytesi++)
                    {
                        if(
                i%2)
                        {
                            
                output_c(bmpBuffer[i]);
                        }
                        else
                        {
                            
                output_d(bmpBuffer[i]);
                        }

                        
                // Do the Scanning Procedure. It's up to you
                        // ..........................................
                        // ..........................................
                        // ..........................................
                    
                }


                Dữ liệu về font bạn cứ giữ nguyên như RTB đã xuất ra, chỉ sửa dòng sau để khao báo dữ liệu font nằm trong ROM
                #define _bvh_mspace const // code // eeprom // etc...
                Đây là font Franklin, kích thước 16x10, mã hóa theo chiều thẳng đứng, phù hợp cho quét cột.

                PHP Code:
                //======================================================================
                // Font Data Created by RTB (c) 2009 Bui Viet Hoang
                // 95 Characters - 16 x 10 pixels each - Monochrome
                // Horizontal Scan Lines - Top to Bottom, Left to Right
                //======================================================================

                #define BVH_NUM_CELLS  95
                #define BVH_CELL_X     16
                #define BVH_CELL_Y     10

                #ifndef _bvh_mspace
                #define _bvh_mspace const // code // eeprom // etc...
                #endif // _bvh_mspace

                unsigned char _bvh_mspace FontData[95][20]= {
                // Order 0, Character ' ', ASCII 32 (0x20)
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 1, Character '!', ASCII 33 (0x21)
                0x00,0x00,
                0x17,0xC0,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 2, Character '"', ASCII 34 (0x22)
                0x00,0x00,
                0x01,0xC0,
                0x00,0x00,
                0x01,0xC0,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 3, Character '#', ASCII 35 (0x23)
                0x04,0x00,
                0x1F,0x00,
                0x05,0xC0,
                0x1F,0x00,
                0x05,0xC0,
                0x01,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 4, Character '$', ASCII 36 (0x24)
                0x09,0x80,
                0x12,0x40,
                0x3F,0xE0,
                0x12,0x40,
                0x0C,0x80,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 5, Character '%', ASCII 37 (0x25)
                0x11,0x80,
                0x0A,0x40,
                0x05,0x80,
                0x02,0x00,
                0x0D,0x00,
                0x12,0x80,
                0x0C,0x40,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 6, Character '&', ASCII 38 (0x26)
                0x0C,0x00,
                0x12,0x80,
                0x13,0x40,
                0x15,0x80,
                0x08,0x00,
                0x16,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 7, Character ''', ASCII 39 (0x27)
                0x01,0xC0,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 8, Character '(', ASCII 40 (0x28)
                0x1F,0x00,
                0x20,0x80,
                0x40,0x40,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 9, Character ')', ASCII 41 (0x29)
                0x40,0x40,
                0x20,0x80,
                0x1F,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 10, Character '*', ASCII 42 (0x2A)
                0x00,0x00,
                0x00,0x80,
                0x03,0x00,
                0x00,0xC0,
                0x03,0x00,
                0x00,0x80,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 11, Character '+', ASCII 43 (0x2B)
                0x02,0x00,
                0x02,0x00,
                0x0F,0x80,
                0x02,0x00,
                0x02,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 12, Character ',', ASCII 44 (0x2C)
                0x20,0x00,
                0x10,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 13, Character '-', ASCII 45 (0x2D)
                0x04,0x00,
                0x04,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 14, Character '.', ASCII 46 (0x2E)
                0x10,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 15, Character '/', ASCII 47 (0x2F)
                0x30,0x00,
                0x0C,0x00,
                0x02,0x00,
                0x01,0x80,
                0x00,0x40,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 16, Character '0', ASCII 48 (0x30)
                0x0F,0x80,
                0x10,0x40,
                0x10,0x40,
                0x10,0x40,
                0x0F,0x80,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 17, Character '1', ASCII 49 (0x31)
                0x11,0x00,
                0x10,0x80,
                0x1F,0xC0,
                0x10,0x00,
                0x10,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 18, Character '2', ASCII 50 (0x32)
                0x10,0x80,
                0x18,0x40,
                0x14,0x40,
                0x12,0x40,
                0x11,0x80,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 19, Character '3', ASCII 51 (0x33)
                0x08,0x80,
                0x10,0x40,
                0x12,0x40,
                0x12,0x40,
                0x0D,0x80,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 20, Character '4', ASCII 52 (0x34)
                0x04,0x00,
                0x06,0x00,
                0x05,0x00,
                0x04,0x80,
                0x1F,0xC0,
                0x04,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 21, Character '5', ASCII 53 (0x35)
                0x0B,0xC0,
                0x11,0x40,
                0x11,0x40,
                0x11,0x40,
                0x0E,0x40,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 22, Character '6', ASCII 54 (0x36)
                0x0F,0x80,
                0x12,0x40,
                0x12,0x40,
                0x12,0x40,
                0x0C,0x80,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 23, Character '7', ASCII 55 (0x37)
                0x00,0x40,
                0x1C,0x40,
                0x03,0x40,
                0x00,0xC0,
                0x00,0x40,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 24, Character '8', ASCII 56 (0x38)
                0x0D,0x80,
                0x12,0x40,
                0x12,0x40,
                0x12,0x40,
                0x0D,0x80,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 25, Character '9', ASCII 57 (0x39)
                0x09,0x80,
                0x12,0x40,
                0x12,0x40,
                0x12,0x40,
                0x0F,0x80,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 26, Character ':', ASCII 58 (0x3A)
                0x12,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 27, Character ';', ASCII 59 (0x3B)
                0x12,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 28, Character '<', ASCII 60 (0x3C)
                0x00,0x00,
                0x02,0x00,
                0x05,0x00,
                0x05,0x00,
                0x08,0x80,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 29, Character '=', ASCII 61 (0x3D)
                0x05,0x00,
                0x05,0x00,
                0x05,0x00,
                0x05,0x00,
                0x05,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 30, Character '>', ASCII 62 (0x3E)
                0x00,0x00,
                0x08,0x80,
                0x05,0x00,
                0x05,0x00,
                0x02,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 31, Character '?', ASCII 63 (0x3F)
                0x00,0x80,
                0x00,0x40,
                0x14,0x40,
                0x02,0x40,
                0x01,0x80,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 32, Character '@', ASCII 64 (0x40)
                0x07,0x00,
                0x08,0x80,
                0x16,0x40,
                0x19,0x40,
                0x1F,0x40,
                0x1C,0x80,
                0x03,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 33, Character 'A', ASCII 65 (0x41)
                0x18,0x00,
                0x06,0x00,
                0x05,0x80,
                0x04,0x40,
                0x07,0x80,
                0x18,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 34, Character 'B', ASCII 66 (0x42)
                0x00,0x00,
                0x1F,0xC0,
                0x12,0x40,
                0x12,0x40,
                0x0D,0x80,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 35, Character 'C', ASCII 67 (0x43)
                0x00,0x00,
                0x0F,0x80,
                0x10,0x40,
                0x10,0x40,
                0x08,0x80,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 36, Character 'D', ASCII 68 (0x44)
                0x00,0x00,
                0x1F,0xC0,
                0x10,0x40,
                0x10,0x40,
                0x08,0x80,
                0x07,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 37, Character 'E', ASCII 69 (0x45)
                0x00,0x00,
                0x1F,0xC0,
                0x12,0x40,
                0x12,0x40,
                0x10,0x40,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 38, Character 'F', ASCII 70 (0x46)
                0x00,0x00,
                0x1F,0xC0,
                0x02,0x40,
                0x02,0x40,
                0x00,0x40,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 39, Character 'G', ASCII 71 (0x47)
                0x00,0x00,
                0x0F,0x80,
                0x10,0x40,
                0x12,0x40,
                0x1E,0x80,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 40, Character 'H', ASCII 72 (0x48)
                0x00,0x00,
                0x1F,0xC0,
                0x02,0x00,
                0x02,0x00,
                0x1F,0xC0,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 41, Character 'I', ASCII 73 (0x49)
                0x00,0x00,
                0x1F,0xC0,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 42, Character 'J', ASCII 74 (0x4A)
                0x10,0x00,
                0x10,0x00,
                0x0F,0xC0,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 43, Character 'K', ASCII 75 (0x4B)
                0x00,0x00,
                0x1F,0xC0,
                0x06,0x00,
                0x07,0x80,
                0x18,0x40,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 44, Character 'L', ASCII 76 (0x4C)
                0x00,0x00,
                0x1F,0xC0,
                0x10,0x00,
                0x10,0x00,
                0x10,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 45, Character 'M', ASCII 77 (0x4D)
                0x1F,0xC0,
                0x00,0xC0,
                0x0F,0x00,
                0x10,0x00,
                0x0F,0x00,
                0x00,0xC0,
                0x1F,0xC0,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 46, Character 'N', ASCII 78 (0x4E)
                0x00,0x00,
                0x1F,0xC0,
                0x01,0x80,
                0x02,0x00,
                0x0C,0x00,
                0x1F,0xC0,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 47, Character 'O', ASCII 79 (0x4F)
                0x00,0x00,
                0x0F,0x80,
                0x10,0x40,
                0x10,0x40,
                0x0F,0x80,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 48, Character 'P', ASCII 80 (0x50)
                0x00,0x00,
                0x1F,0xC0,
                0x02,0x40,
                0x02,0x40,
                0x02,0x40,
                0x01,0x80,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 49, Character 'Q', ASCII 81 (0x51)
                0x00,0x00,
                0x0F,0x80,
                0x10,0x40,
                0x30,0x40,
                0x2F,0x80,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 50, Character 'R', ASCII 82 (0x52)
                0x00,0x00,
                0x1F,0xC0,
                0x02,0x40,
                0x06,0x40,
                0x19,0x80,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 51, Character 'S', ASCII 83 (0x53)
                0x00,0x00,
                0x09,0x80,
                0x12,0x40,
                0x12,0x40,
                0x0C,0x80,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 52, Character 'T', ASCII 84 (0x54)
                0x00,0x40,
                0x00,0x40,
                0x1F,0xC0,
                0x00,0x40,
                0x00,0x40,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 53, Character 'U', ASCII 85 (0x55)
                0x00,0x00,
                0x0F,0xC0,
                0x10,0x00,
                0x10,0x00,
                0x0F,0xC0,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 54, Character 'V', ASCII 86 (0x56)
                0x00,0xC0,
                0x0F,0x00,
                0x10,0x00,
                0x0F,0x00,
                0x00,0xC0,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 55, Character 'W', ASCII 87 (0x57)
                0x00,0xC0,
                0x07,0x00,
                0x18,0x00,
                0x07,0x00,
                0x00,0xC0,
                0x0F,0x00,
                0x10,0x00,
                0x0F,0x00,
                0x00,0xC0,
                0x00,0x00
                },
                // Order 56, Character 'X', ASCII 88 (0x58)
                0x10,0x40,
                0x0C,0x80,
                0x03,0x00,
                0x0C,0x80,
                0x10,0x40,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 57, Character 'Y', ASCII 89 (0x59)
                0x00,0x40,
                0x01,0x80,
                0x1E,0x00,
                0x01,0x80,
                0x00,0x40,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 58, Character 'Z', ASCII 90 (0x5A)
                0x18,0x40,
                0x14,0x40,
                0x12,0x40,
                0x11,0x40,
                0x10,0xC0,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 59, Character '[', ASCII 91 (0x5B)
                0x00,0x00,
                0x7F,0xC0,
                0x40,0x40,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 60, Character '\', ASCII 92 (0x5C)
                0x00,0x40,
                0x01,0x80,
                0x06,0x00,
                0x08,0x00,
                0x30,0x00,
                0x40,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 61, Character ']', ASCII 93 (0x5D)
                0x40,0x40,
                0x7F,0xC0,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 62, Character '^', ASCII 94 (0x5E)
                0x02,0x00,
                0x01,0x80,
                0x00,0x40,
                0x01,0x80,
                0x02,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 63, Character '_', ASCII 95 (0x5F)
                0x40,0x00,
                0x40,0x00,
                0x40,0x00,
                0x40,0x00,
                0x40,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 64, Character ''', ASCII 39 (0x27)
                0x01,0xC0,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 65, Character 'a', ASCII 97 (0x61)
                0x08,0x00,
                0x15,0x00,
                0x15,0x00,
                0x1E,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 66, Character 'b', ASCII 98 (0x62)
                0x1F,0xC0,
                0x11,0x00,
                0x11,0x00,
                0x0E,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 67, Character 'c', ASCII 99 (0x63)
                0x0E,0x00,
                0x11,0x00,
                0x11,0x00,
                0x0A,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 68, Character 'd', ASCII 100 (0x64)
                0x0E,0x00,
                0x11,0x00,
                0x11,0x00,
                0x1F,0xC0,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 69, Character 'e', ASCII 101 (0x65)
                0x0E,0x00,
                0x15,0x00,
                0x15,0x00,
                0x06,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 70, Character 'f', ASCII 102 (0x66)
                0x01,0x00,
                0x1F,0x80,
                0x01,0x40,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 71, Character 'g', ASCII 103 (0x67)
                0x2E,0x00,
                0x55,0x00,
                0x55,0x00,
                0x32,0x80,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 72, Character 'h', ASCII 104 (0x68)
                0x1F,0xC0,
                0x01,0x00,
                0x01,0x00,
                0x1E,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 73, Character 'i', ASCII 105 (0x69)
                0x1F,0x40,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 74, Character 'j', ASCII 106 (0x6A)
                0x3F,0x40,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 75, Character 'k', ASCII 107 (0x6B)
                0x1F,0xC0,
                0x04,0x00,
                0x0E,0x00,
                0x19,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 76, Character 'l', ASCII 108 (0x6C)
                0x1F,0xC0,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 77, Character 'm', ASCII 109 (0x6D)
                0x1F,0x00,
                0x01,0x00,
                0x01,0x00,
                0x1E,0x00,
                0x01,0x00,
                0x01,0x00,
                0x1E,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 78, Character 'n', ASCII 110 (0x6E)
                0x1F,0x00,
                0x01,0x00,
                0x01,0x00,
                0x1E,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 79, Character 'o', ASCII 111 (0x6F)
                0x0E,0x00,
                0x11,0x00,
                0x11,0x00,
                0x0E,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 80, Character 'p', ASCII 112 (0x70)
                0x7F,0x00,
                0x11,0x00,
                0x11,0x00,
                0x0E,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 81, Character 'q', ASCII 113 (0x71)
                0x0E,0x00,
                0x11,0x00,
                0x11,0x00,
                0x7F,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 82, Character 'r', ASCII 114 (0x72)
                0x1F,0x00,
                0x01,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 83, Character 's', ASCII 115 (0x73)
                0x12,0x00,
                0x15,0x00,
                0x15,0x00,
                0x09,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 84, Character 't', ASCII 116 (0x74)
                0x0F,0x80,
                0x11,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 85, Character 'u', ASCII 117 (0x75)
                0x0F,0x00,
                0x10,0x00,
                0x10,0x00,
                0x1F,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 86, Character 'v', ASCII 118 (0x76)
                0x07,0x00,
                0x18,0x00,
                0x07,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 87, Character 'w', ASCII 119 (0x77)
                0x07,0x00,
                0x18,0x00,
                0x06,0x00,
                0x18,0x00,
                0x07,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 88, Character 'x', ASCII 120 (0x78)
                0x11,0x00,
                0x0E,0x00,
                0x11,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 89, Character 'y', ASCII 121 (0x79)
                0x47,0x00,
                0x38,0x00,
                0x0F,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 90, Character 'z', ASCII 122 (0x7A)
                0x19,0x00,
                0x15,0x00,
                0x13,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 91, Character '{', ASCII 123 (0x7B)
                0x04,0x00,
                0x7B,0xC0,
                0x40,0x40,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 92, Character '|', ASCII 124 (0x7C)
                0x00,0x00,
                0x00,0x00,
                0x7F,0xC0,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 93, Character '}', ASCII 125 (0x7D)
                0x40,0x40,
                0x7B,0xC0,
                0x04,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                },
                // Order 94, Character '~', ASCII 126 (0x7E)
                0x04,0x00,
                0x02,0x00,
                0x02,0x00,
                0x04,0x00,
                0x04,0x00,
                0x02,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00,
                0x00,0x00
                }
                };

                //======================================================================
                // X Position Increment Table (in Pixels)
                unsigned char _bvh_mspace FontIncX[]= {
                0x03,0x03,0x04,0x06,0x06,0x08,0x07,0x02,0x03,0x03,0x06,0x06,0x02,0x02,0x02,0x05,
                0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x02,0x02,0x06,0x06,0x06,0x05,
                0x07,0x06,0x06,0x06,0x07,0x05,0x05,0x06,0x06,0x03,0x04,0x06,0x05,0x08,0x07,0x06,
                0x06,0x06,0x06,0x06,0x05,0x06,0x05,0x09,0x05,0x05,0x05,0x03,0x05,0x03,0x05,0x05,
                0x02,0x05,0x05,0x05,0x05,0x05,0x03,0x05,0x05,0x02,0x02,0x05,0x02,0x08,0x05,0x05,
                0x05,0x05,0x03,0x05,0x03,0x05,0x04,0x07,0x04,0x04,0x04,0x03,0x05,0x03,0x06
                }; 

                Comment


                • Cảm ơn anh nhiều nhe. Hiên giờ em làm được rồi nhưng em sẽ xem lại chỉ dẫn của anh .
                  À anh cho em hỏi sau mỗi lần tạo Font anh có thêm phần này: nó có tác dụng như thế nào hả anh?

                  unsigned char _bvh_mspace FontIncX[]= {
                  0x03,0x03,0x04,0x06,0x06,0x08,0x07,0x02,0x03,0x03, 0x06,0x06,0x02,0x02,0x02,0x05,
                  0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06, 0x02,0x02,0x06,0x06,0x06,0x05,
                  0x07,0x06,0x06,0x06,0x07,0x05,0x05,0x06,0x06,0x03, 0x04,0x06,0x05,0x08,0x07,0x06,
                  0x06,0x06,0x06,0x06,0x05,0x06,0x05,0x09,0x05,0x05, 0x05,0x03,0x05,0x03,0x05,0x05,
                  0x02,0x05,0x05,0x05,0x05,0x05,0x03,0x05,0x05,0x02, 0x02,0x05,0x02,0x08,0x05,0x05,
                  0x05,0x05,0x03,0x05,0x03,0x05,0x04,0x07,0x04,0x04, 0x04,0x03,0x05,0x03,0x06
                  };

                  Comment


                  • mới học ASM chưa biết gì về CCS thấy mấy anh thảo luận hay quá mà chả hiểu gì. bùn thật,,.....

                    Comment


                    • gvggggggggg

                      Comment


                      • tham gia diễn đàn trễ quá nên những bài viết cũ link không còn nữa tiết thật.

                        Comment


                        • mấy bác cho em hỏi tí em đang định làm cái ma trận led 8x24 dùng con AT89c51 bác nào pro về quang báo thì cho em hỏi là em có thể dùng transistor để tăng dòng cho led được không em đã thấy ở chợ nhật tảo bán cái mạch in chỉ dùng transistor A1015 và C1815 thui mà đèn vẫn chạy sáng đều và đẹp lắm không biết mấy bác nghĩ thế nào hay bác nào có cái sơ đồ mạch nào dùng con ic khác để lái dòng cho led thì có thể post lên cho em xem với vì mới vào nghề nên chưa biết gì hết, mà nếu như có bác nào đã hướng dẫn rùi thì cho em sorry nhé vì luồng này nhiều quá rồi em đọc nhiều mệt quá nên hỏi mấy bác mong mấy bác thông cảm hjhj
                          làm sao hiểu hết được công nghệ :)

                          Comment


                          • Cái khó trong csdl !

                            xin lỗi các anh pro. em có mấy chỗ chưa hiểu mong các anh giúp đỡ. em đang thử làm quang báo 8x8x2 với con 16f877a nhưng đang gặp vấn đề với CSDL. em dùng kỹ thuật lập bảng. nhưng dữ liệu của em quá dài, dẫn đến chữ chưa chạy xong theo ý muốn đã bị chạy trở lại. các anh có ý kiến gì góp ý cho em với. hay là em phải viết dữ liệu riêng cho mỗi chữ sao các anh? mỗi chữ trong giới hạn cho phép là 255bytes, các anh thấy sao? hay ở đây phải dung thuật toán ạ? cho em mấy lời góp ý đi. em đang làm thử mà bí quá.

                            Comment


                            • a quên mất, em dùng kỹ thuật quét cột dùng con 138 và 595 để đưa dữ liệu vào hàng, có ULN đi kèm để kéo dòng. mong được giúp đỡ. cảm ơn các anh nhiều.

                              Comment


                              • Chào cả nhà.Mình vừa mới học về led matrix, đang làm một cái mạch nhưng chẳng hiểu sao nó không chạy, bro nào có thể giúp mình được không ?

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X