Thông báo

Collapse
No announcement yet.

Tìm hiểu bảng quang báo

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

  • Hi! chào mọi người ,chúc mọi người dồi dào sức khỏe.Cho em hỏi làm sao để thể hiện hình động trên led matrix(chỉ cần led 8*8 thôi)
    theo em thì có phải mỗi cử động của 1 hinh` là 1 bảng data tuong ứng với số cột của màn hình.
    Xin mọi người giúp cho em với.Em xin da tạ
    [/B][/COLOR]

    Comment


    • đúng roài bạn ạ,nó giống như nhiều frame mà bạn lần lượt show ra thì thấy hình chuyển động.

      Comment


      • em viet' chay chu duoc rui,nhung muon' ket' noi' voi' may' tinh,khi go tren ban phim' dong chu j thi dong chu do' se chay tren led matrix,nhung chua biet' thuat toan sau day,em dung 3 con 8*8,quet' cot,cai' nay em suy nghi hoai ma chang ra,bac' nao co' kinh ngiem giup tiu de voi

        Comment


        • Mấy hôm nay bận chả lên mạng dc. Thấy nhiều a e vẫn rất q.tâm đến led mảng thật.
          Do đợt trước máy tính bị xoá nên mất, mới đây mình vừa vẽ lại cái s.đ.ng.lí và "phục hồi" dc đoạn mã l.trình cho bảng led quét hàng (nhỏ thôi). Quả thật quét hàng có chữ mã hoá theo hàng thì khó hơn so với quét cột hay quét hàng có chữ mã hoá theo cột. Tuy nhiên nếu có bạn nào quan tâm thì mình sẽ đưa lên để chúng ta cùng trao đổi.
          Như a Phi có gi.thiệu là có 3 cách để lưu mã: dùng ROM trong, ROM ngoài và bộ nhớ máy tính. Mình làm theo cách đầu. Để lưu hết bảng mã ASCII gồm các chữ, số, dấu và một số kí tự đ.biệt mình chơi sang dùng hết 1024 byte ROM (mỗi kí tự cần 8 byte)
          Chỉ mới có một số hiệu ứng đc làm như dịch trái, phải, đổ lên, đổ xuống, đánh vần. Các hàm hiệu ứng này cùng với các hàm con và chương trình chính tốn khoảng hơn 2k ROM nữa. Như vậy dùng 89C51 vẫn đủ.
          !e

          Comment


          • Anh em tham khảo!

            Code:
            void Sang_dich(unsigned char *chuoi, 
                        unsigned int cot_dau, 
                        unsigned int cot_cuoi, 
                        unsigned char ms, 
                        unsigned char tam)
            {
                unsigned char i,j,k,l,n,schu;
                unsigned int txung,scot,dem,m;
                
                schu=strlen(chuoi);//so chu co trong chuoi
                txung=hrchu*schu; //so cot ma chu chiem (6 la be rong cua 1 chu)
                txung=txung+htcot; //so cot se dich (max)
            
                if(cot_dau==0) cot_dau++;   //gioi han so cot dau va cuoi
                if(cot_cuoi==0) cot_cuoi++;
                if(cot_dau>txung) cot_dau=txung;
                if(cot_cuoi>txung) cot_cuoi=txung;
                //xdinh so cot bat dau quet (tu trai sang hay phai sang):
                if(cot_dau<cot_cuoi) scot=cot_dau; //nho
                else scot=cot_dau; //lon
            
                //xu li bien dkhien de chon mau:
                kdkhien=tam;
                kcpq1=kdkhien0; //chon mau: 01=xanh_vang, 10=do, 11=vang_cam
                kcpq2=kdkhien1;
                if(kdkhien2==1)
                {
                    if(kdkhien3==1) tam=1; //X:D=1:1
                    else tam=2; //X:D=1:2
                }
                else
                {
                    if(kdkhien3==1) tam=3; //X:D=2:1
                    else tam=0; //khong pha mau
                }
            
                //khoi tao tri hoan timer1 1ms
                TH0=kTH0; TL0=kTL0; 
                TF0=0; TR0=1; //xoa co va cho timer chay.
            
            lap_scot:
             
                m=0; n=0;
                //doan ma giup giam thgian quet nhung chu o thay dc do da dc dich qua ben trai mhinh roi
                if(scot>htcot_cong_hrchu)
                {
                    n=(scot-htcot_tru_hrchu)/hrchu; //so chu bo qua khong can hthi (do da dich qua chdai mhinh)
                    m=n*hrchu;  //so cot bat dau xuat dlieu de hien thi
                }
            
                for(k=0;k<ms;k++)
                {
                    //if(tam!=0) Pha_mau(tam,k); //chon pha mau
            
                    //vong lap quet 8 dong (dong cuoi khong qtrong)
                    pa1=kcpq1; pa2=kcpq2;
                    for(i=0;i<htdong;i++)
                    {
                        dem=m;
                        pclr=0;  pclr=1; //reset ghi dich 
                        //if(dem<htcot){j=htcot-dem; psda=0; while(j--){pscl=0; pscl=1;}}
                        //psda=0; for(j=0;j<htcot;j++){pscl=0; pscl=1;} //phcung P33 duong nhu bi loi nen phai reset bang phmem
                        j=0;
                        for(l=n;l<schu;l++)
                        {   //vong lap dich du lieu ra chan SDA
                            kcot=ma_led[hcchu*(*(chuoi+l)-hASCII_lech) + i]; //Chon_chu(*(chuoi+l),i);
                            if(scot-dem>hrchu)
                            {
                                psda=kcot7; pscl=0; pscl=1;
                                psda=kcot6; pscl=0; pscl=1;
                                psda=kcot5; pscl=0; pscl=1;
                                psda=kcot4; pscl=0; pscl=1;
                                psda=kcot3; pscl=0; pscl=1;
                                psda=0; pscl=0; pscl=1;
                                dem=dem+hrchu;
                            }
                            else
                            {
                                if(dem++==scot) goto thoat;
                                psda=kcot7; pscl=0; pscl=1;
                                if(dem++==scot) goto thoat;
                                psda=kcot6; pscl=0; pscl=1;
                                if(dem++==scot) goto thoat;
                                psda=kcot5; pscl=0; pscl=1;
                                if(dem++==scot) goto thoat;
                                psda=kcot4; pscl=0; pscl=1;
                                if(dem++==scot) goto thoat;
                                psda=kcot3; pscl=0; pscl=1;
                                if(dem++==scot) goto thoat;
                                psda=0; pscl=0; pscl=1;
                            }
                        }
                        psda=0; while(dem++<scot){pscl=0; pscl=1;} 
                thoat:
                        while(!TF0);    //chor tran timer1
                        //pcpq1=1; pcpq2=1; //tat dong truoc do
                        ple=0; ple=1;   //xuat du lieu  //chot  
                        pc=0; pc=1; //dich 1 xung ra de quet 1 cot
                        pe=0; pe=1; //xuat va chot lai
                        pa1=0; pa2=0; //chi co bit dau tien o cao va dich dan ra ngoai
                        //Pdong&=0xF8; Pdong|=i; //quet dong thu i;
                        //pcpq1=kcpq1; pcpq2=kcpq2;   //chon mau
                        TH0=hTH0_1ms; TL0=hTL0_1ms; TF0=0; //khoi tao lai timer
                    }
            
                }
                if(cot_dau<cot_cuoi) {scot++; if(scot<cot_cuoi) goto lap_scot;}
                else {scot--; if(scot>cot_cuoi) goto lap_scot;}
            
                pclr=0; pclr=1;//xoa hang
                while(!TF0);
                ple=0; ple=1;
                pa1=1; pa2=1; for(i=0;i<8;i++){pc=0; pc=1; pe=0; pe=1; pa1=0; pa2=0;}//xoa mhinh   
                TF0=0; TR0=0; //ngung dung timer0
            }

            Bạn nên viết code trong tag cho đẹp.
            Last edited by VNarmy; 17-04-2008, 20:14.
            !e

            Comment


            • Ham Sang_dich(chuoi, cot_dau, cot_cuoi, ms,tam)
              chuoi: chuoi chu se hien thi
              cot_dau: cot dau tien led chay
              cot_cuoi: cot ket thuc led chay
              ms: thoi gian delay
              tam: la bien dieu khien-theo nhu dinh nghia o bien kdkien trong file main
              (bao gom chon mau, chon hieu ung,...)

              - Tao hieu ung chu chay tu trai/phai sang
              - Co the thdoi vi tri bdau xhien va ket thuc hien thi chu
              - Dieu chinh thoi gian sang cua moi lan hien thi theo bien ms
              - Chon mau theo che do pha mau ti le hay chon bang chan chphep
              ----------
              - Thich hop hien thi voi chuoi chu dai (toi 70 chu)
              - Co the quet 16 hang
              - Neu pha mau theo ti le thi chi co the quet dc 8 hang
              ----------
              - Dung timer0 de quet, co the thay doi dc f quet qua bien kTH0 va kTL0
              - Xuat dlieu truc tiep tu bo nho chtrinh
              - Chi xuat dlieu thay (theo gihan bang) o xuat dlieu an (do da dich qua mhinh)
              * Luu y: cot_dau dc tinh tu phai sang
              !e

              Comment


              • Nguyên văn bởi teo203 Xem bài viết
                em viet' chay chu duoc rui,nhung muon' ket' noi' voi' may' tinh,khi go tren ban phim' dong chu j thi dong chu do' se chay tren led matrix,nhung chua biet' thuat toan sau day,em dung 3 con 8*8,quet' cot,cai' nay em suy nghi hoai ma chang ra,bac' nao co' kinh ngiem giup tiu de voi
                help me,không ai giúp tui với hả

                Comment


                • Đây là khối đưa dữ liệu ra cột. Các bạn xem giùm.



                  Cũng cám ơn bác namqn đã sửa và nhắc, lâu quá o dùng nên quên tag rồi.
                  !e

                  Comment


                  • Nguyên văn bởi zemen Xem bài viết
                    Đây là khối đưa dữ liệu ra cột. Các bạn xem giùm.



                    Cũng cám ơn bác namqn đã sửa và nhắc, lâu quá o dùng nên quên tag rồi.
                    Sơ đồ này chắc là quét theo cột rồi
                    Khả năng cấp nguồn của 74595 rất kém, max là 25mA cấp nguồn cho 8 con led thì mỗi con được có 3mA nên phải thêm mấy con A1015 để bơm dòng vào. Tốt nhất là thay luôn bằng mấy con 74138 cho rẻ tiền, điều khiển cũng dễ. Nhưng mở rộng thì khó khăn hơn chú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


                    • quét hàng.

                      Nguyên văn bởi nghaiha Xem bài viết
                      Sơ đồ này chắc là quét theo cột rồi
                      Khả năng cấp nguồn của 74595 rất kém, max là 25mA cấp nguồn cho 8 con led thì mỗi con được có 3mA nên phải thêm mấy con A1015 để bơm dòng vào. Tốt nhất là thay luôn bằng mấy con 74138 cho rẻ tiền, điều khiển cũng dễ. Nhưng mở rộng thì khó khăn hơn chút.
                      Tớ đã nói là quét hàng mà. 8 hàng cho màu xanh (J4), 8 hàng cho màu đỏ (J5). Dữ liệu các cột đc đẩy ra theo từng hàng (J2).
                      74HC595 có dòng ra 25mA, tại mỗi thời điểm chỉ cấp cho 1 hay 2 led thôi (nếu quét 2 màu). Như vậy dòng không thật sự mạnh nhưng cũng đủ cho led sáng, đặt bảng led trong nhà thì hợp rồi.
                      Để mở rộng bảng, ta nối J2 của bảng này tới J1 của bảng kế, J4 và J5 của bảng này tới J4 và J5 của bảng kế.
                      !e

                      Comment


                      • Đây này, mình quét hàng bằng ghi dịch và ULN:



                        Các bạn góp ý tiếp nhé!
                        !e

                        Comment


                        • chương trình hiển thị chữ A

                          em chào các bác! các bác giúp em cái chương trình nhỏ này với.em mới học, viết hoài mà chẳng được đành up lên đây nhờ các bác giúp đỡ. em xin cảm ơn.

                          trình biên dịch CodevisionAVR. em biên dịch ra file HEX thì không có lỗi, nhưng khi chạy mo phỏng trong Proteus thì chi nhận được kết qua như thế này thôi:
                          kết quả:
                          Click image for larger version

Name:	chuA.JPG
Views:	1
Size:	45.0 KB
ID:	1330743
                          //////////////////////////////////////////////////
                          sơ đồ:

                          Click image for larger version

Name:	chu___A.JPG
Views:	4
Size:	125.8 KB
ID:	1330742
                          code:
                          #include<mega16.h>
                          #include<delay.h>
                          #define Data PORTC.0
                          #define Clk PORTC.1
                          #define Latch PORTC.2
                          int pat[5]={0x83,0xF5,0xF6,0xF5,0x83}; //chu A
                          int buff_disp[8]; //bo dem man hinh led
                          void send_595(int temp); //temp la bien du lieu 8 bit
                          void display(void); //chuong trinh con hien thi
                          //chuong trinh chinh
                          void main( void )
                          { //khoi dong cac PORT
                          DDRB=0x07;
                          PORTB=0x00;
                          DDRC=0x07;
                          PORTC=0x00;
                          //vong lap vo han
                          while(1)
                          { int row,col,count;
                          for(row=0;row<8;row++)
                          { col=0;
                          send_595(buff_disp[count]);
                          for(col=0;col<8;col++)
                          { PORTC=pat[col];
                          PORTC=1<<col;
                          Latch=0;
                          Latch=1;
                          delay_ms(1);
                          row++;
                          }
                          display();
                          if(row>7)
                          { row=0;
                          col++;
                          }
                          if(col>5)col=0;
                          }
                          };
                          }

                          //chuong trinh con hien thi du lieu
                          void display(void)
                          { int i,count,row_count;
                          for(i=0;i<8;i++)
                          buff_disp[i]=0xff;
                          for(count=8;count>0;count--)
                          { send_595(buff_disp[count]);
                          PORTB=row_count; //dem so hang xem da quet het chua
                          delay_ms(1);
                          row_count++;
                          }
                          }
                          // Gui du lieu ra 595.
                          void send_595(int temp)
                          {
                          int i;
                          Clk=0;
                          for (i=0;i<=7;i++)
                          {
                          if (temp==1) Data=1; //bit 1
                          else
                          { Data=0; //bit 0
                          Clk=1;
                          Clk=0;
                          temp<<=1; //dich trai 1 bit
                          }
                          }
                          Latch=0; //suon len chot du lieu
                          Latch=1; //chot du lieu
                          }
                          Last edited by dinhthai; 19-04-2008, 20:28.

                          Comment


                          • Nguyên văn bởi zemen Xem bài viết
                            Tớ đã nói là quét hàng mà. 8 hàng cho màu xanh (J4), 8 hàng cho màu đỏ (J5). Dữ liệu các cột đc đẩy ra theo từng hàng (J2).
                            74HC595 có dòng ra 25mA, tại mỗi thời điểm chỉ cấp cho 1 hay 2 led thôi (nếu quét 2 màu). Như vậy dòng không thật sự mạnh nhưng cũng đủ cho led sáng, đặt bảng led trong nhà thì hợp rồi.
                            Để mở rộng bảng, ta nối J2 của bảng này tới J1 của bảng kế, J4 và J5 của bảng này tới J4 và J5 của bảng kế.
                            Sơ đồ của bạn chắc chắn phải là quét cột, không ai làm quét hàng mà sơ đồ mạch như vậy cả.
                            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


                            • Nguyên văn bởi zemen Xem bài viết
                              Đây này, mình quét hàng bằng ghi dịch và ULN:



                              Các bạn góp ý tiếp nhé!
                              Cái này cũng trật lất luôn. SDO của con này phải nhét vào SDI của con kia chớ, Các chân còn lại SCK phải nối với SCK, RCK với RCK, Reset nối reset nối nguồn, OE nối mass hoặc điều khiển riêng chớ nhỉ.
                              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



                              • Mục Ledmatrix này em có xem hết nhưng không thấy bác nào Port cho một bài mẫu nhỏ để mọi người đọc xem thế nào mà chỉ đưa ra chung chung. dẫu rằng ý tưởng đó thì tốt nhưng để các anh em cùng tìm hiểu để có hiệu quả cao hơn.
                                mong rằng các bác sẵn lòng cùng chia sẻ nhá
                                em cũng đã làm về Led Matrix này rồi nó không có truyền thông với máy tính mà chỉ hiện thị thông tin được lưu sẵn thôi và sử dụng phương pháp quét theo cột
                                thông tin hiển thị trên Matrix này có thê tới 1000 từ.
                                em cũng có ý định port lên để các bác xem và cho ý kiến về nó
                                nhưng không biết port lên bằng cách nào ?
                                bác nào có thể chỉ giúp với !!!!!!!!!!
                                chỉ có tâm hồn là nơi duy nhất: có thể biến thiên đường thành địa ngục và ngược lại có thể biến địa ngục hóa thiên đường
                                Everything should be made as simple as possible, but not simpler

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X