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 aladin_09 Xem bài viết
    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
    };
    đây chính là mảng chỉ ra độ rộng của các ký tự tương ứng trong bảng Font. Bi giờ mình mới hiểu. Thanks BVHoang rất rất nhiều vì chương trình tạo font của bác!!!
    Manchester United FC forever!

    Comment


    • Nguyên văn bởi mocdailam Xem bài viết
      mấy bảng quang báo nó cả mấy ngàn con led bạn quét kiểu đó e đuối!
      mình từng làm con 18f4550 40M quuet 64 x 4 x 24 con led don xử lý tốt các hiệu ứng dịch, chữ lượn sóng , lá rơi ...
      mình nói chỉ mang tính chất góp ý thôi! Còn bạn làm thế nào thì tùy. bạn có biết nó dịch chỉ số mảng theo nguyên tắc gì không? view code hợp ngữ để xem đi!
      tiện đây xin hỏi các bác, lập trình trên con 18f4550 có cho phép chứa mảng dữ liệu font rất lớn không? Em tạo mảng font chữ tiếng Việt Arial cho 16F877A dựa theo RTB cua BVHoang, ép theo bảng mã VISCII mà thấy chật vật khi hiển thị nhiều dòng nội dung quá (phỏng theo các hàm của LinhNC). Thanks các bác!
      Last edited by bravesoldier; 06-01-2010, 15:33.
      Manchester United FC forever!

      Comment


      • e có một thắc mắc thế này mong các bác giúp đỡ,e có một module 2x10matrix(16hang và 80 cột),lúc đầu e dùng quét cột để dịch chử tử phải sang trái hoặc ngược lại, nhưng cũng với phần cứng đó, e chuyển qua quét hàng thì có thể làm dịch chử từ trái qua phải hoặc ngược lại được kô,tại e làm mà nó toàn dịch từ trên xuống hoặc dưới lên thôi,cảm ơn các bác

        Comment


        • Mình xin mạo muội hỏi chen ngang 1 chút mọi người nhé!Cho mình hỏi là cái đường BUS trong protues vẽ như thế nào vậy?làm thế nào để nối chân linh kiện với đường BUS đó vậy?Thanks!

          Comment


          • hihi,mới độ xong cái bảng matrix của thằng TQ.đây là code mình viết cho nó,mình chỉ mới thử viết xong một module cho nó thoi,
            đây là link của nó,(chỉ phần mềm thoi) còn phần cứng thì mình sử dụng module của thằng TQ nó ráp bằng led rời (16X32) nhưng chỉ quét 4 hàng thoi
            http://www.mediafire.com/?zjdhjyimmn3

            Comment


            • Chào cả nhà! có ai giúp mình viết code ASM điều khiển ma trận 8 x 24, sơ đồ phần cứng như sau. Mình dùng chỉ 1 con 89c51. Port 0 đưa dữ liệu ra hàng ( 8 hàng ) qua con A1015, các Port 1-3 quét 24 cột, qua con c1815.
              |

              Comment


              • mong các anh giúp mình

                Mình không học chính quy về điện tử, nhưng vì sờ thích nên tự học hỏi để thỏa mãn sự đam mê.Mình sưu tầm được một mạch matrix16x64 và code, mình đã mở rộng bảng thành 16x128,nhưng khi chạy mô phòng thì chữ chạy bị giât và chữ chạy không liên tục được,mình gửi file code,mong các anh giúp mình nha.chân thành cảm ơn

                ;************************************************* *******************************
                ;**************//////------------ MATRIX 16x64 ----------\\\\\\******************
                ;**------------------------------------------------------------------------------
                ;**////////////////__ Chuong trinh chay chu tren bo led ___\\\\\\\\\\\\\\\\\\\\\\
                ;**///////////////__ ma tran 8x8 loai 1 mau ________________\\\\\\\\\\\\\\\\\\\\\
                ;**//////////////___ Su dung vi dieu khien 89C52 cua ATMEL __\\\\\\\\\\\\\\\\\\\\
                ;**<<<<<<<<<<<<<---------------------------------------------->>>>>>>>>>>>>>>>>>>
                ;**\\\\\\\\\\\\\\ __ Thuc hien bien doi du lieu noi tiep ____////////////////////
                ;**\\\\\\\\\\\\\\\ ___ sang song song roi dua ra day led ___/////////////////////
                ;**\\\\\\\\\\\\\\\\ ---------- By Tien Huy ---------- //////////////////////
                ;************************************************* *******************************
                ;*****
                ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                ;@@@ CAC TEN BIT DUNG TRONG CHUONG TRINH @@@
                ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                en_hc154 bit p3.3
                sh_cp BIT P3.0
                data_serial BIT P3.1
                st_cp BIT P3.2
                f_run BIT 7FH

                ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                ;@@@ CAC TEN BYTE DUNG TRONG CHUONG TRINH @@@
                ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                data_row equ p2
                index_byte_row equ 30h
                num_row equ 16
                num_byte_collum equ 32
                index_point equ 31h
                index_reg1 equ 32h
                index_reg2 equ 33h
                num_bit equ 34h
                width_byte equ 35h
                buffer_dptrh equ 36h
                buffer_dptrl equ 37h
                buffer_dptrh1 equ 38h
                buffer_dptrl1 equ 39h
                ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                ;@@@ start@@@
                ;@@@ OSC 12Mhz@@@
                ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

                org 0000h
                ljmp main
                org 000bh
                ljmp ngat_timer0
                org 0030h
                main:
                clr f_run
                mov num_bit,#0

                mov dptr,#string_code+2
                mov a,#0
                movc a,@a+dptr
                mov width_byte,a
                mov dptr,#string_code-5
                lcall set_index_dptr
                mov buffer_dptrh1,dph
                mov buffer_dptrl1,dpl
                mov dptr,#string_code+3
                mov buffer_dptrh,dph
                mov buffer_dptrl,dpl
                mov index_point,#0
                mov index_byte_row,#0
                lcall init_interrupt
                ljmp begin
                ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                ;################################################# ######################################
                ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                begin:
                ___here:
                mov ie,#82h
                jnb f_run,___here
                mov ie,#0
                clr f_run
                inc num_bit
                mov a,num_bit
                cjne a,#9,___here
                ;mov ie,#0
                mov num_bit,#0
                mov a,dpl
                cjne a,buffer_dptrl1,___skip3
                mov a,dph
                cjne a,buffer_dptrh1,___skip3
                mov dptr,#string_code+3
                mov buffer_dptrh,dph
                mov buffer_dptrl,dpl
                mov index_byte_row,#0
                sjmp ___here
                ___skip3:
                inc dptr
                mov buffer_dptrh,dph
                mov buffer_dptrl,dpl
                ;mov ie,#82h
                sjmp ___here
                sjmp $
                ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                ;################################################# ######################################
                ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                init_interrupt:
                mov tmod,#01h
                setb tr0
                setb tf0
                mov ie,#82h
                ret
                ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                ;################################################# ######################################
                ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                ngat_timer0:
                mov th0,#0f3h
                mov tl0,#0a8h ;12^6/12/50hz/16=1250(fb1e)
                lcall shift_data
                lcall set_index_dptr
                inc index_byte_row
                mov a,index_byte_row
                cjne a,#num_row,___exit
                mov index_byte_row,#0
                mov dph,buffer_dptrh
                mov dpl,buffer_dptrl
                setb f_run
                ___exit:
                reti
                ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                ;################################################# ######################################
                ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                shift_data:
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                mov index_reg1,#num_byte_collum
                ___loop1:
                mov index_reg2,#8
                mov a,index_point
                movc a,@a+dptr ;LAY DU LIEU TRONG BO NHO CT
                ___loop2:
                clr c
                rlc a
                mov data_serial,c
                clr sh_cp
                setb sh_cp
                djnz index_reg2,___loop2 ;dich du 8 bit
                inc index_point
                djnz index_reg1,___loop1 ;dich du 8 byte
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                mov a,num_bit ;de kiem tra co zero
                jz ___skip1
                mov index_reg2,num_bit
                mov a,index_point
                movc a,@a+dptr ;LAY DU LIEU TRONG BO NHO CT
                ___loop3:
                clr c
                rlc a
                mov data_serial,c
                clr sh_cp
                setb sh_cp
                djnz index_reg2,___loop3 ;dich du 8 bit
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ___skip1:
                setb en_hc154 ;ta't ma`ng hi`nh de^? cho^'ng lem led
                clr st_cp
                setb st_cp
                mov data_row,index_byte_row ;chon hang va tich cuc hc154
                clr en_hc154
                mov index_point,#0
                ret

                ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                ;################################################# ######################################
                ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                set_index_dptr:
                mov a,dpl
                add a,width_byte
                mov dpl,a
                jnc ___skip2
                inc dph
                ___skip2:
                ret
                ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                ;################################################# ######################################
                ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                string_code:

                ;unsigned char code Bmp002:
                ;-------------------------------------------------------------------------------
                ; If font display distortion, please check Fonts format of setup.
                ; Source file / text : Líp ®iÖn tö K2
                ; Width x Height (pixels) :243X16
                ; Font Format/Size : Monochrome LCD Fonts ,Horizontal scan ,Big endian order/496Byte
                ; Font make date : 10/11/2009 7:37:17 AM
                ;-------------------------------------------------------------------------------
                DB 0F3H,010H,01FH;Width pixels,Height pixels,Width bytes
                DB 000H,000H,000H,000H,000H,000H,000H,000H,001H,080H, 000H,000H,001H,000H,000H,000H
                DB 000H,000H,007H,000H,000H,000H,000H,000H,000H,000H, 000H,000H,000H,000H,000H,000H
                DB 000H,000H,000H,000H,000H,001H,0FEH,001H,080H,000H, 000H,01FH,03CH,038H,000H,000H
                DB 000H,001H,000H,03FH,09FH,01FH,080H,000H,000H,000H, 000H,000H,000H,000H,000H,000H
                DB 000H,000H,000H,000H,000H,0F8H,003H,000H,000H,000H, 07FH,0BCH,028H,000H,000H,002H
                DB 002H,018H,01FH,008H,063H,0C0H,000H,000H,000H,000H, 000H,000H,000H,000H,000H,000H
                DB 000H,000H,000H,000H,0F8H,004H,038H,000H,000H,00FH, 03CH,064H,000H,000H,006H,004H
                DB 038H,01FH,010H,07BH,0E0H,000H,000H,000H,000H,000H, 000H,000H,000H,000H,000H,000H
                DB 000H,000H,000H,0F8H,000H,038H,000H,000H,04FH,000H, 000H,000H,000H,00EH,000H,03CH
                DB 01FH,030H,07BH,0E0H,000H,000H,000H,000H,000H,000H, 000H,000H,000H,000H,000H,000H
                DB 000H,000H,0F8H,007H,0F3H,0EEH,001H,0FFH,07CH,07CH, 07DH,0C0H,03FH,0FFH,0F0H,01FH
                DB 078H,003H,0E0H,000H,000H,000H,000H,000H,000H,000H, 000H,000H,000H,000H,000H,000H
                DB 000H,0F8H,00EH,079H,0FFH,001H,0EFH,03CH,0EEH,03FH, 0E0H,01EH,03DH,0E0H,01FH,0F8H
                DB 003H,0C0H,000H,000H,000H,000H,000H,000H,000H,000H, 000H,000H,000H,000H,000H,000H
                DB 0F8H,01EH,079H,0EFH,083H,0EFH,03DH,0EFH,03DH,0E0H, 01EH,03DH,0E0H,01FH,07CH,00EH
                DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H, 000H,000H,000H,000H,000H,0F8H
                DB 05EH,079H,0EFH,083H,0EFH,03DH,0FFH,03DH,0E0H,01EH, 03DH,0E0H,01FH,07EH,010H,020H
                DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H, 000H,000H,000H,000H,0F8H,05EH
                DB 079H,0EFH,003H,0EFH,03DH,0E0H,03DH,0E0H,01EH,0BDH, 0E0H,01FH,03EH,02FH,0E0H,000H
                DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H, 000H,000H,000H,0F8H,0CEH,071H
                DB 0EFH,001H,0EFH,03CH,0E1H,03DH,0E0H,01EH,0BDH,0E0H, 01FH,01FH,07FH,0E0H,000H,000H
                DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H, 000H,001H,0FFH,0C7H,0E1H,0FEH
                DB 000H,0FFH,0FEH,076H,07DH,0F0H,01FH,03FH,0F0H,03FH, 0BFH,0FFH,080H,000H,000H,000H
                DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H, 000H,000H,000H,001H,0E0H,000H
                DB 000H,000H,008H,000H,000H,000H,000H,000H,000H,000H, 000H,000H,000H,000H,000H,000H
                DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H, 000H,000H,001H,0E0H,000H,000H
                DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H, 000H,000H,000H,000H,000H,000H
                DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H, 000H,001H,0E0H,000H,000H,000H
                DB 038H,000H,000H,000H,000H,000H,000H,000H,000H,000H, 000H,000H,000H,000H,000H,000H
                DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H, 003H,0F0H,000H,000H,000H,038H
                DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H, 000H,000H,000H,000H,000H,000H


                end

                Comment


                • Mong các sư huynh giúp đỡ.. Em cũng đang làm cái quang báo này.. Của em nhỏ thôi có 16x40 àh.. Của em dùng 2 port là portb và portd để quét 16 hàng (Hix.. dùng 75154 qua con uln2803 nó kg ra gì cả).. 5 con 74595 dùng để đưa dữ liệu vào. Thuật toán quét của em như sau : ( mấy anh xem sai chỗ nào sửa giùm em nha)
                  - 1 ký tự là 16x8 16 byte cho 1 ký tự.
                  - Em dùng 1 mảng đệm 80 phần tử ( để trống ) dem[80]=();
                  đầu tiên : hàng 1 : đưa dữ liệu của các phần tử 0, 16, 32,48,64 trong mảng đệm qua 595
                  hàng 2 : các phần tử 1,17,33,49,65 ..............
                  .............................................
                  .............................................
                  hàng 16 : 15,31,47,63,79.....
                  Vậy mỗi hàng gửi ra là 40 bít.
                  Em quét như vậy có đúng không ? ... để chữ chạy sang trái thì làm sao nữa..? còn cách nào nữa kg ? (quét hàng nha ) ...
                  Mong đc hồi âm từ mấy anh.... dạo này thấy box này vắng hoe,, kg thấy đại ca nào vào..

                  Comment


                  • đúng là dạo này diễn đàn vắng thật
                    không co sư phụ nào giúp em àh

                    Comment


                    • Nguyên văn bởi phulam007 Xem bài viết
                      Mong các sư huynh giúp đỡ.. Em cũng đang làm cái quang báo này.. Của em nhỏ thôi có 16x40 àh.. Của em dùng 2 port là portb và portd để quét 16 hàng (Hix.. dùng 75154 qua con uln2803 nó kg ra gì cả).. 5 con 74595 dùng để đưa dữ liệu vào. Thuật toán quét của em như sau : ( mấy anh xem sai chỗ nào sửa giùm em nha)
                      - 1 ký tự là 16x8 16 byte cho 1 ký tự.
                      - Em dùng 1 mảng đệm 80 phần tử ( để trống ) dem[80]=();
                      đầu tiên : hàng 1 : đưa dữ liệu của các phần tử 0, 16, 32,48,64 trong mảng đệm qua 595
                      hàng 2 : các phần tử 1,17,33,49,65 ..............
                      .............................................
                      .............................................
                      hàng 16 : 15,31,47,63,79.....
                      Vậy mỗi hàng gửi ra là 40 bít.
                      Em quét như vậy có đúng không ? ... để chữ chạy sang trái thì làm sao nữa..? còn cách nào nữa kg ? (quét hàng nha ) ...
                      Mong đc hồi âm từ mấy anh.... dạo này thấy box này vắng hoe,, kg thấy đại ca nào vào..
                      Nguyên văn bởi phulam007 Xem bài viết
                      Mong đc hồi âm từ mấy anh.... dạo này thấy box này vắng hoe,, kg thấy đại ca nào vào..
                      box hay không có bạn hiền
                      không vô không phải không ghiền không vô
                      mà vì chủ đề này đã thảo luận quá nhiều rồi!

                      xem đây thử có giúp ích gì không?
                      http://dientuvietnam.net/forums/showthread.php?p=90829

                      ----^..^----

                      Comment


                      • Thiệt, mới đây mà 20 pages rùi.

                        Đây là vấn đề của mình. Việc hiển thị chữ trên quang báo thì đã xong. Nhưng còn hình ảnh & các chuyển động phức tạp thì chưa được. Nếu có 1 file Image, mình phải làm gần đúng là ngồi vẽ lại nó rùi lấy từng tọa độ, màu sắc rùi đưa hết thông tin vào bộ nhớ ngoài. Thông tin này không ít tí nào.

                        Lần trước có đi ngang Quốc Lộ 13, chỗ cây xăng, thấy họ làm bảng quang báo rất hay. Trên quang báo có hình cây dừa đưa qua đưa lại, rồi xe cộ chạy ngược lại (từ phải sang trái), người đi bộ từ (trái qua phải). Nghĩ mãi mà không chắc là mình có thể làm được, vì làm theo cách cổ điển thì hơi "NGU" sao ấy. Nếu là cây dừa không thì làm được, thêm người & xe cộ đi ngược nhau kèm với cây dừa thì bó tay. Nghĩ đây là chén cơm của người ta nên không dám hỏi, nhưng nếu mấy bác có chủ ý muốn chỉ thì mình rất muốn tham khảo..

                        Comment


                        • Nghiền mấy trăm trang diễn đàn mà vào đâu được ít quá!!!! các bác toàn đưa code vè cái led matrix này em đọc cũng rất khỏ hiểu!!! bác nào có thể giúp em giải thích cách lập trinh led matrix được ko??
                          1, Đâu tiên các bác giúp em đưa ra cái sơ đồ thuật toán .
                          2, Sau đó dến code
                          3, Và có cả phần cứng chạy mô phỏng nữa nhé
                          Cứ lan man thế này chắc em vỡ đầu mất, hy vọng các bác quan tâm giúp đỡ em cái phần điện tử lập trình này em khoai lắm!!!

                          Comment


                          • đó là led 2 màu bạn ạ, thường thì màu đỏ có điện áp thấp hơn. màu còn lại có điện áp cao hơn bạn dùng nguồn cao hơn 1 chút thử lại các chân đó thử xem. nó khoảng 1,7 - 1,8V là sáng rồi. chúc may mắn!

                            Comment


                            • sao không có anh nào giúp em giải quyết vấn đề của em vậy

                              Comment


                              • chào các bác đam mê matrix_led!
                                các bác chắc hẳn cũng không lạ với con ic 4953 , em kiếm chỗ bán nó khó quá, bác nào bán hay biết chỗ bán pm cho em nha, mail của em: duythien88hn@gmail.com,nick yahoo:matrix010988.
                                Thanks các bác nhiều!

                                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