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

  • bảng quang báo

    Tôi đang thiết kế một bảng quang báo với số dòng 16 X 96 cột . Gủi kèm đây sơ đồ 1 modul . Ai có kinh nghiệm xin chỉ giáo

    Comment


    • nhờ các cao thủ giúp đỡ

      :Em đang làm bài tập dài về quang báo,thầy yêu cầu có sản phẩm thực bài tập của em la hiển thị 1 đoạn tin trên led matrix 8x96, Em dùng 89s52,quét cột dùng 74hc138 (2 con 74138 dùng điều khiển chọn chân cho 12 con 74138 còn lai)Em dung P0 để điều khiển quét cột, P2 xuất dữ liệu ra hàng,Dưới đây là mã chương trình Em dùng Em đã thủ với 2 matrix 8x8 thi chay ổn nhưng chạy 12 con 8x8 thi led nhay ko điều chỉnh được mong các cao thủ giup đỡ
      Chương trình của Em là:

      ;+++++++++By DUCTDH2+++++++++++++
      ORG 0000H
      LJMP MAIN
      ORG 0030H
      MAIN:
      MOV DPTR,#MYLOVE
      HIENTHI:
      MOV R4,#65
      MOV R5,#40
      PLAY:
      MOV R3,#0
      MOV R2,#0
      LOOP:
      MOV A,R3
      MOVC A,@A+DPTR
      MOV P2,A;XUAT DU LIEU RA HANG
      MOV P0,R2;QUET COT
      ACALL DELAY
      MOV P0,#00000000B
      ACALL DELAY1
      INC R3
      INC r2
      CJNE R3,#96,LOOP
      DJNZ R5,PLAY
      INC DPTR
      MOV R5,#40
      DJNZ R4,PLAY
      NOP
      STOP_2:
      MOV P2,#00000000B
      MOV P0,#00000000B
      ACALL DELAY
      LJMP MAIN
      DELAY:
      MOV R7,#2
      LOOP1:
      MOV R6,#127
      LOOP2:
      NOP
      NOP
      NOP
      NOP
      NOP
      NOP
      NOP
      NOP
      NOP
      NOP
      DJNZ R6,LOOP2
      DJNZ R7,LOOP1
      RET
      DELAY1:
      MOV R7,#4
      DJNZ R7,$
      RET
      ;$$$$$$$$$$$ DU LIEU $$$$$$$$$$$$
      MYLOVE:
      DB 11111111B,11111111B,11111111B,11111111B,11111111B; NOT
      DB 11100000B,11101110B,11101110B,11101110B,11110001B
      DB 11111111B
      DB 11100001B,11111110B,11111110B,11111110B,11100001B
      DB 11111111B
      DB 11110001B,11101110B,11101110B,11101110B,11110101B
      DB 11111111B
      DB 11100110B,11111010B,11111010B,11111010B,11100001B
      DB 11111111B
      DB 11100000B,11101010B,11101010B,11101010B,11101010B
      DB 11111111B
      DB 11100001B,11111110B,11111110B,11111110B,11100001B
      DB 11111111B
      DB 11100000B,11110111B,11111011B,11111101B,11100000B
      DB 11111111B
      DB 11110001B,11101110B,11101110B,11101010B,11101000B
      DB 11111111B
      DB 11111100B,11110011B,11101011B,11110011B,11111100B
      DB 11111111B
      DB 11100000B,11110111B,11111011B,11111101B,11100000B
      DB 11111111B
      END
      |

      Comment


      • anh hoctro89 cho em hỏi tí nha , em có mạch nạp 89xx qua cổng com mà sao phần mềm chỉ nhận có con 89c51 còn con s52, c55 thì nó không nhận ra vậy , có phải ezdl41 không phải bản đầy đủ không ? nếu vậy thì anh nào có choem xin với ! em cảm ơn nhiều !

        Comment


        • Nguyên văn bởi elove Xem bài viết
          anh hoctro89 cho em hỏi tí nha , em có mạch nạp 89xx qua cổng com mà sao phần mềm chỉ nhận có con 89c51 còn con s52, c55 thì nó không nhận ra vậy , có phải ezdl41 không phải bản đầy đủ không ? nếu vậy thì anh nào có choem xin với ! em cảm ơn nhiều !
          Tôi cũng có 2 mạch nạp loại này, 1 cái dùng ez3 và 1 cái dùng ez4. Chúng nạp được điển hình những con như 89c2051,89C51, 89C52... đây là loại nạp //. còn 89S52 nó nạp nối tiếp nên mạch này ko nạp được. Còn 89C55 lúc nạp được lúc không, phần lớn là không nạp được.
          Bạn nên thay mạch nạp khác cho cơ động.

          email:mahaco@fpt.vn

          Comment


          • Nguyên văn bởi duyphi Xem bài viết
            Nếu là lập trình trên máy tính, nghĩa là bảng đó có giao tiếp với PC thì đơn giản là anh chỉ việc dùng hàm Get key, và kiểm tra nếu là mã của Enter là anh cho xuất những gì mà cô thư ký mới gỏ là xong.
            Như vậy viết đến đâu mà hễ nhấn Enter là xem như xong!
            anh gởi cái demo lên cho em coi với được ko,em đang làm đồ án cái này mà chưa hiểu lắm.
            Em vẫn chưa hiểu là khi dữ liệu từ pc đưa xuống sẽ được lưu vào trong bộ đệm,sau đó con vdk sẽ đưa dữ liệu từ đây ra led.Nhưng mà làm sao con vdk nhận ra font đc.
            Xin anh nói rõ dùm em chổ này,em mới vô nghề nên còn gà lém,nếu có chổ nào stupid thì mong anh nhẹ nhàng khuyên bảo

            Comment


            • Help ... Em

              sao ko có cao thủ nao chịu giúp em sao
              |

              Comment


              • Nguyên văn bởi ductdh2 Xem bài viết
                sao ko có cao thủ nao chịu giúp em sao
                Cậu dùng thạch anh 32Mhz là ổn ngay, còn code Asem thì chịu ,mọi người đều ngại đọc!
                Cung cấp Oscilocope , Inverter , Switching , DC power supply , AC millivolt meter ....

                Comment


                • chào cả nhà!
                  mình muốn hỏi cả nhà xem có cách hiển thị cho ma trận led nào hay k?
                  xưa nay mình vẫn dùng cách hiển thị trâu bò là định nghĩa một vùng trong ram để ghi nhớ nội dung ký tự cần hiển thị như thế thi bộ nhớ k đủ.Mình đang nghĩ đến cách dùng ram ngoài.Có ai biết thì chỉ giúp minh với!

                  Comment


                  • Nguyên văn bởi ductdh2 Xem bài viết
                    sao ko có cao thủ nao chịu giúp em sao
                    Bạn hỏi về nguyên tắc thực hiện thì được, chứ gửi code hợp ngữ cho 8051 vào luồng của PIC thì rất ít khả năng nhận được sự hỗ trợ.

                    Thân,
                    Biển học mênh mông, sức người có hạn

                    Comment


                    • Thank !

                      Cám ơn các bác chi giáo,Em đã ghép2 modul 96x16nó chạy tạm ổn rồi,cám ơn 2 bác đã góp ý
                      |

                      Comment


                      • tới hỏi tí.
                        sao cái chữ tớ xuất ra thấy nó bị lem lem
                        xử lý chổ này sao nhỉ.
                        biết la trong hàm này thôi mà thử mấy cách rồi mà chưa được.các cao nhân chỉ với.
                        Code:
                        interrupt [TIM1_OVF] void timer1_ovf_isr(void)
                        {                   
                        unsigned char i;      
                        
                        TCNT1H=0xFE; 
                        TCNT1L=0xC0;   
                        for(i=0;i<16;i++)
                                spi(displayx[i][quet]);     
                        PORTB=quet++;  
                        LATCH=0;
                        LATCH=1; 
                        if(quet==16)
                                quet=0; 
                        }
                        Cty TNHH Cơ Điện tử Hiệp Phát.
                        ------------------------------------------
                        Trần Hoàng Giang
                        11-04-1985

                        Mobil: 0905 438 533

                        Comment


                        • Nguyên văn bởi irf540 Xem bài viết
                          tới hỏi tí.
                          sao cái chữ tớ xuất ra thấy nó bị lem lem
                          xử lý chổ này sao nhỉ.
                          biết la trong hàm này thôi mà thử mấy cách rồi mà chưa được.các cao nhân chỉ với.
                          Code:
                          interrupt [TIM1_OVF] void timer1_ovf_isr(void)
                          {                   
                          unsigned char i;      
                          
                          TCNT1H=0xFE; 
                          TCNT1L=0xC0;   
                          for(i=0;i<16;i++)
                                  spi(displayx[i][quet]);     
                          PORTB=quet++;  
                          LATCH=0;
                          LATCH=1; 
                          if(quet==16)
                                  quet=0; 
                          }
                          cậu đưa ra có nhiêu đây mình chả hiểu gì hết,nhưng mà lem thì đơn giản thôi chỉ cần tắt các cột, các hàng rồi mới cho hiển thị lại là hết thôi.

                          Comment


                          • Nguyên văn bởi irf540 Xem bài viết
                            tới hỏi tí.
                            sao cái chữ tớ xuất ra thấy nó bị lem lem
                            xử lý chổ này sao nhỉ.
                            biết la trong hàm này thôi mà thử mấy cách rồi mà chưa được.các cao nhân chỉ với.
                            Code:
                            interrupt [TIM1_OVF] void timer1_ovf_isr(void)
                            {                   
                            unsigned char i;      
                            
                            TCNT1H=0xFE; 
                            TCNT1L=0xC0;   
                            for(i=0;i<16;i++)
                                    spi(displayx[i][quet]);     
                            PORTB=quet++;  
                            LATCH=0;
                            LATCH=1; 
                            if(quet==16)
                                    quet=0; 
                            }
                            Cái đoạn mã em đã chỉ cụ thể bên phần tìm hiểu quang báo rồi mà bác chẳng chịu xem. Em có thể tăng tốc độ chạy chữ lên cực nhanh mà chẳng lem nhem gì hết.
                            Email: - Mobil: tạm thời ngừng liên lạc 1 thời gian
                            Giới thiệu website kiếm tiền trực tuyến & tăng thứ hạng website.

                            Comment


                            • lem nhem

                              Nguyên văn bởi irf540 Xem bài viết
                              tới hỏi tí.
                              sao cái chữ tớ xuất ra thấy nó bị lem lem
                              xử lý chổ này sao nhỉ.
                              biết la trong hàm này thôi mà thử mấy cách rồi mà chưa được.các cao nhân chỉ với.
                              Code:
                              interrupt [TIM1_OVF] void timer1_ovf_isr(void)
                              {                   
                              unsigned char i;      
                              
                              TCNT1H=0xFE; 
                              TCNT1L=0xC0;   
                              for(i=0;i<16;i++)
                                      spi(displayx[i][quet]);     
                              PORTB=quet++;  
                              LATCH=0;
                              LATCH=1; 
                              if(quet==16)
                                      quet=0; 
                              }
                              lem có thể do phần mềm hoặc do phần cứng. đa số khi dịch chữ lem chủ yếu là do phần cứng của bạn xử lý chưa tốt. hoặc nhiễu do nguồn cũng dẫn đến lem. bạn kiểm tra lại xem lem là do phần cứng hay phần mềm
                              LMD 238 Tăng Bạc Hổ - TP. Quy Nhơn.

                              Comment


                              • chào các bác!
                                em có một chương trình nhỏ này mong được các bác giúp đỡ. đó là chương trình cho hiển thị chữ "A" trên led matrrix 8*8 và cho nó chạy từ phải sang trái.phần cứng em làm như thế này:
                                - VDK atmega16
                                - PORTC để xuất dữ liệu ra cột thông qua 74hc595
                                - PORTB nối với 74hc154 để quét hàng
                                sơ đồ:

                                Click image for larger version

Name:	chu_A.JPG
Views:	4
Size:	125.8 KB
ID:	1330279
                                còn đây là chương trình em viết ma van chưa được mong các bác giúp:
                                code_chu_A:

                                Code:
                                #include <mega16.h>
                                #include <delay.h>
                                // dinh nghia cac chan cuar 595
                                #define Data PORTC.0
                                #define Clk PORTC.1
                                #define Latch PORTC.2
                                // Dinh nghia chan don kenh quet Matran
                                #define Rowth PORTB 
                                unsigned int Buff[8][1];
                                char const Font[5]=
                                /*0 A */ {248,36,34,36,248};
                                
                                void Delay(unsigned int i)
                                {
                                while(--i){};
                                }
                                
                                //Check bit5 cua mot bien
                                unsigned int CheckBit5(unsigned int x)
                                {
                                return (x>>5);
                                }
                                
                                
                                // Gui du lieu ra 595. 
                                void Send_1_595(unsigned int a1)
                                {
                                unsigned char i;
                                unsigned int Temp;
                                
                                Clk=0;
                                
                                Temp=a1;
                                for (i=0;i<=5;i++)
                                {
                                if (CheckBit5(Temp)==1) Data=1;
                                else Data=0;
                                Temp<<=1;
                                Clk=1;
                                Clk=0; 
                                //delay_ms(10);
                                }
                                Latch=1;//day du lieu ra
                                Latch=0;//suon len chot du lieu ra 
                                }
                                
                                // chuong trinh con hien thi du lieu trong bo nho dem
                                
                                void Display(void)
                                {
                                unsigned char i,j;
                                
                                for (i=1;i<=60;i++)
                                {
                                for (j=0;j<=7;j++)
                                {
                                Send_1_595(Buff[j][0]);// Day du lieu ra
                                Rowth=0; // Tat toan bo hien thi 
                                Delay(150);
                                Latch=1;// day du lieu ra
                                Latch=0; //suon len chot du lieu ra
                                Rowth=0;
                                Delay(100);
                                Rowth=0b1<<j; 
                                
                                Delay(1); 
                                } 
                                }
                                }
                                
                                //////////////////////////////////////////////////////////////////////////////
                                //main program
                                //////////////////////////////////////////////////////////////////////////////
                                void main(void)
                                { 
                                
                                DDRC=0xFF;
                                PORTC=0xFF;
                                DDRB=0xff;
                                PORTB=0xff;
                                //Clk=0;
                                //Data=0;
                                //Latch=0;
                                while(1)
                                {
                                unsigned char Rowth,col;
                                for(Rowth=0;Rowth<8;Rowth<<=1)
                                for(col=0;col<8;col++)
                                
                                { PORTC=Font[col];
                                PORTC=1<<col;
                                PORTB=Rowth++;
                                delay_ms(1);
                                } 
                                
                                };
                                
                                }
                                /////////////////////////////////////////////////////
                                // end of main program
                                /////////////////////////////////////////////////////
                                Last edited by namqn; 28-03-2008, 20:17.

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                • tuyennhan
                                  Trả lời cho Tiếng Anh cho người Việt
                                  bởi tuyennhan
                                  Cái thư sai ngay câu chào Dear sir mới đúng Hi chỉ dùng cho người quen , các vấn đề về kỹ thuật nó không trả lời hoặc nói loanh quanh tránh ảnh hưởng đến công ty .
                                  Giup1 người cần không giúp người không cần với lại văn mình vợ người nha đừng quên .
                                  hôm nay, 07:44
                                • vi van pham
                                  Trả lời cho Tiếng Anh cho người Việt
                                  bởi vi van pham
                                  Cám ơn những lời chúc tốt đẹp của em.

                                  Việc em làm giống như chê sếp dốt, chẳng những không có miếng xôi nào để ăn mà còn chịu nhiều trù dập lên bờ , xuống ruộng.

                                  Hãy tránh vết xe đổ của tui đi. Dành thời gian lo cho gia đình....
                                  hôm nay, 02:00
                                • nhathung1101
                                  Trả lời cho Tiếng Anh cho người Việt
                                  bởi nhathung1101
                                  Ngoại ngữ là không thể thiếu, nhất là làm việc với công nghệ.

                                  Nhưng học để tán gái hay để đọc datasheet, manual là chuyện cần quan tâm.

                                  Và đọc ở nguồn nào đáng tin cậy, chứ cứ lên tictok hay facebook học lỏm thì...
                                  Hôm qua, 22:18
                                • dinhthuong80
                                  Trả lời cho Tiếng Anh cho người Việt
                                  bởi dinhthuong80
                                  Bác nói rất khách quan và chính xác. Ngoại ngữ là chìa khóa thăng tiến dù làm gì. Chả thế mà nay nước mình dạy tiếng Anh từ tiểu học.

                                  Nhớ hồi năm 2006 em ra Hải Phòng, Hải Dương tìm việc, thời đó ở Bình Dương lương công...
                                  Hôm qua, 14:51
                                • dinhthuong80
                                  Trả lời cho Tiếng Anh cho người Việt
                                  bởi dinhthuong80
                                  Cảm ơn bạn, ĐT cũng có ý nghĩ như vậy.

                                  Thực ra, lỗi của hãng đó ( gọi là hãng vì không chỉ một model sản phẩm) là về phần cứng, ĐT tuy không biết về lập trình phần mềm nhưng cũng thấy rằng sẽ chẳng khó khăn gì đáng...
                                  Hôm qua, 14:39
                                • dinhthuong80
                                  Trả lời cho Tiếng Anh cho người Việt
                                  bởi dinhthuong80
                                  Dạ, bác bảy mấy tuổi đời rồi cũng không kém bố cháu bao nhiêu. Tuổi nghề thì bác cũng đáng tuổi cha chú.

                                  Nhưng 2 điều trên thì chưa hẳn đã đáng quí và đáng tôn trọng bằng việc bác rất nhiệt tình chia sẻ kinh nghiệm chuyên...
                                  Hôm qua, 14:28
                                • bqviet
                                  Trả lời cho Tiếng Anh cho người Việt
                                  bởi bqviet
                                  Đúng, nếu chú tâm thì chỉ cần mỗi tiếng Việt là đã khá đủ để làm đa số công việc thông thường, ở thời đại ngày nay khi tài liệu sách vở phương tiện thông tin liên lạc đã nhiều. Nhưng cũng chính ở thời nay giao lưu các nước nhiều...
                                  21-02-2025, 20:26
                                • mèomướp
                                  Trả lời cho Tiếng Anh cho người Việt
                                  bởi mèomướp
                                  Dạ cháu nghĩ chú dinh... cứ mạnh dạn gửi thư đi ạ, chú có thể gửi bằng văn bản in chuyển phát nhanh sẽ có giá trị hơn. Vấn đề chưa hẳn là cần hãng làm gì đó, mà chỉ đơn giản là mình cảm thấy nhẹ lòng vì đã làm những việc bản...
                                  21-02-2025, 12:32
                                • vi van pham
                                  Trả lời cho Tiếng Anh cho người Việt
                                  bởi vi van pham
                                  Những lần hắt hơi sổ mũi làm tôi mệt lã, phải dùng rượu uống để ngũ. Tôi cũng đang uống rượu 1 mình, viết vài dòng này cho em ( có lẽ dt chỉ bằng tuổi em tôi).

                                  Dinh thuong dang đi vào vết xe đổ của tôi. Càng chứng minh, có...
                                  20-02-2025, 21:31
                                • bqviet
                                  Trả lời cho Hỏi về cách hàn linh kiện ( giúp tớ với )
                                  bởi bqviet
                                  Thiết nghĩ thi thoảng bác lên đây chia xẻ ít kinh nghiệm cũng vui rồi. Còn chuyện con người sinh lão bệnh tử là thường, sống cùng với quy luật đó thôi. Bqv nhớ trước đây bác từng kể về chuyện rang chì ô-xít bằng chảo để phục hồi bình điện, đấy cũng là thành quả đáng nể phục ở thời kỳ thiếu thốn đó.
                                  20-02-2025, 17:22
                                Đang tải...
                                X