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

  • Nguyên văn bởi Huntress1 Xem bài viết
    không phải. Ý bạn là thế này phải không :
    quét_chữ_A();
    delay();
    Quét_chữ_H();
    Nếu như thê này thì vẫn là A, H, A, H, ... thì vẫn không được.
    Mình nói rồi, bạn tìm cách cho nó hiển thị A, A, A, ..., A, H, H, H, ...
    Bạn có thể cho 1 biến đếm số lần rồi 1 câu điều kiện:
    if (số_lần*thời_gian_viết_chữ_A >= 3000 ) viết_chữ_h;


    Bạn cứ làm hoàn chỉnh kái kia đi đã rồi nghĩ đến chuyện mở rộng port sau, 89c51 có thể điều khiển đến 3 bảng 8x8.
    Còn nếu bạn muốn mở rộng port thì không nên dùng 74595 mà nên dùng 74hc138 với 3 đường vào 8 đường ra, cách sử dụng cũng dễ hơn nữa, bạn đọc datashaeet của nó là hiểu liền
    ko phải như vậy mà là
    mình dung for(j=0;j<200;j++){..A...}
    .....
    ....
    for(j=0;j<200;j++){..H..}
    nó sẽ quet chữ A 200 lần rồi chuyển sang chữ H vậy muốn nó hiên lâu hay hiện ít thì chỉ cần lặp nhiều hay lặp ít thôi( chạy thử rồi nó hiện đúng)
    còn phần nở rông port thì mình có dung con 74138 để quét cột và dùng 74595 để đưa data ra hàng để sau này làm cái hoành tráng luôn(hoăc dùng 74138 quet hàng data đưa ra cột) thế nào cũng dc chơi dc hết
    thế mới cần hỏi bạn xem đưa data ra hàng như thế nào cho nhanh và đơn giản (mình chỉ biết đưa từng bit môt vậy thì lâu lắm) còn vẫn dung 74138 bạn có cách nào đưa data ra hàng ko vậy.bảo cho mình đoạn code nhé
    ah` sao ở luồng này có mỗi tớ với cậu thảo luận nhỉ
    ko thấy ai vào nữa vậy
    Last edited by hoang_hai; 21-07-2009, 12:47.

    Comment


    • ah` còn nữa
      mình có 3 ham for nói tiếng việt là như thế này
      1 hàm for(...) : để quét nó khoảng 200-->300 lần
      1 hàm for (...) : để đưa data ra 8 hàng
      1 ham for (...) : để dịch 1 bit sang trái (chạy chữ)
      ý tưởng của mình như thế này theo các bước
      bước 1 là : đưa data ra 8 hàng
      bước 2 la : quét 200 lần chữ đó
      bước 3 là :dịch 1 bit sang trái
      vậy thì ---> ta phải đặt hàm for nào trong hàm for nào để nó thực hiện như các bước của mình cảm ơn nhiều nhé

      Comment


      • 74595 mình chưa dùng bao giờ nên k biết sử dụng nó thế nào, nhưng bạn sử dụng toàn 74138 thôy cũng đc mà, với số lượng hàng và cột lớn thì bạn đặt tương ứng số cột với số lượng 74138 (cái này k vấn đề gì)
        Còn về hàng(cần đưa data) thì bạn cũng đặt 74138 vào như trên và lập trình cho tín hiệu từ chip đưa ra 74138 để nhận được tín hiệu cần có là được.(Bạn lưu ý là tốc độ quét rất cao nên dù data bạn có đưa ra hết 1 lúc hay đưa ra từng bit 1 thì mắt thường vẫn không phân biệt được)
        VD:
        for(cột)
        oooofor(hàng) data_bit;

        Còn về vòng for thì for(chạy chữ) bao giờ cũng ở ngoài cùng, for(vẽ chữ) bao giờ cũng ở trong cùng

        Comment


        • Nguyên văn bởi Huntress1 Xem bài viết
          74595 mình chưa dùng bao giờ nên k biết sử dụng nó thế nào, nhưng bạn sử dụng toàn 74138 thôy cũng đc mà, với số lượng hàng và cột lớn thì bạn đặt tương ứng số cột với số lượng 74138 (cái này k vấn đề gì)
          Còn về hàng(cần đưa data) thì bạn cũng đặt 74138 vào như trên và lập trình cho tín hiệu từ chip đưa ra 74138 để nhận được tín hiệu cần có là được.(Bạn lưu ý là tốc độ quét rất cao nên dù data bạn có đưa ra hết 1 lúc hay đưa ra từng bit 1 thì mắt thường vẫn không phân biệt được)
          VD:
          for(cột)
          oooofor(hàng) data_bit;

          Còn về vòng for thì for(chạy chữ) bao giờ cũng ở ngoài cùng, for(vẽ chữ) bao giờ cũng ở trong cùng
          mình nghĩ là con 74138 chi quét dc hàng hoặc cột thôi làm sao mà đưa data ra dc nó chỉ hoat động dc như thế này
          01111111
          10111111
          11011111
          ......
          11111110
          vậy ví dụ data của mình như thế này
          01101111
          01101111
          00001111
          01100111
          01100111
          vậy 1 byte của nó chỉ có 1 giá trị khác các giá tri 0
          còn yêu cầu của mình là 1 bit đưa ra 2 giá trị 0(hoăc nhiều giá trị 0)---> 74138 ko làm dc
          mình thấy họ dung con 74573 chốt data nhưng mình đọc thấy ko hiểu lắm
          dùng 1 port để dk dc nhiều IC74573
          bạn có biết sử dụng con IC này ko giúp mình với
          còn nếu mà dùng hết 32 chân của vdk thì mình làm dc rồi
          kịch thủ cũng chỉ dc bảng 24x8 thôi (hoăc 24x16)
          bé quá mình muốn nó dài khoảng 1m thế mà mở rộng port khó quá

          Comment


          • Bạn lại k đọc kỹ bài của mình
            Bạn lưu ý là tốc độ quét rất cao nên dù data bạn có đưa ra hết 1 lúc hay đưa ra từng bit 1 thì mắt thường vẫn không phân biệt được
            01101111
            01101111
            00001111
            01101111
            01101111
            Xét cột 1 :
            Code:
            P0_0=0;delay(1);
            P0_1=0;delay(1);
            P0_2=0;delay(1);
            P0_3=0;delay(1);
            P0_4=0;delay(1);
            P0_5=0;delay(1);
            P0_6=0;delay(1);
            P0_7=0;delay(1);
            Không khác gì với
            Code:
            P0=0x00;delay(10)
            Xét cột 2 :
            Code:
            P0_0=1;delay(1);
            P0_1=1;delay(1);
            P0_2=1;delay(1);
            P0_3=0;delay(1);
            P0_4=1;delay(1);
            P0_5=1;delay(1);
            P0_6=1;delay(1);
            P0_7=1;delay(1);
            Không khác gì với
            Code:
            P0=0xEF;delay(10)
            Và mình cũng đã từng thấy biển quảng cáo dài hơn 2m dùng 10 con 89c51, không có con nào khác

            Comment


            • trời 10con 89c51 thì ko có vấn đề j
              nhưng làm thế nào để nó ăn khớp với nhau trong mạch dể hiển thị thì mới chuối

              Comment


              • Nguyên văn bởi hoang_hai Xem bài viết
                trời 10con 89c51 thì ko có vấn đề j
                nhưng làm thế nào để nó ăn khớp với nhau trong mạch dể hiển thị thì mới chuối
                Đó là vấn đề về lập trình !

                Comment


                • Nguyên văn bởi Huntress1 Xem bài viết
                  74595 mình chưa dùng bao giờ nên k biết sử dụng nó thế nào, nhưng bạn sử dụng toàn 74138 thôy cũng đc mà, với số lượng hàng và cột lớn thì bạn đặt tương ứng số cột với số lượng 74138 (cái này k vấn đề gì)
                  Còn về hàng(cần đưa data) thì bạn cũng đặt 74138 vào như trên và lập trình cho tín hiệu từ chip đưa ra 74138 để nhận được tín hiệu cần có là được.(Bạn lưu ý là tốc độ quét rất cao nên dù data bạn có đưa ra hết 1 lúc hay đưa ra từng bit 1 thì mắt thường vẫn không phân biệt được)
                  VD:
                  for(cột)
                  oooofor(hàng) data_bit;

                  Còn về vòng for thì for(chạy chữ) bao giờ cũng ở ngoài cùng, for(vẽ chữ) bao giờ cũng ở trong cùng
                  M nghĩ dùng 47595 là hay nhất rồi, Dùng 74138 hay cả 74154 thì cũng dẫn đến quá tốn chân chip, Dùng 74595 thì chúng ta chỉ tốn 3 chân là : SCK,SCL và 1 chân DATA nữa, Nó cho phép tăng số lượng led quét ( Làm những chương trình lớn) dễ dàng hơn nhiều so với 74138 hay 74154.
                  .: Lê Tiến Mạnh :.
                  Phone number : 0989 735 804
                  YM,Skype,mail : [leemanhj916]@gmail.com

                  Comment


                  • Nguyên văn bởi MicroDuyphi Xem bài viết
                    Chao Linh ! mấy bữa nay làm QB đến đâu rồi?
                    Trong QB có 2 cách điều khiển:
                    1] Điều khiển hàng
                    2] đoều khiển cột
                    -->Lấy ví dụ cách 2 cho bảng QB 80x8 nha: Dòng qua Led sẽ là
                    T*(Row*Iled) = 80cot*(8led*10mA) = 6,4Ampe
                    -->Cach 1 : 80led*8dong*10mA = 6,4Ampe
                    Nhu vay dong tong can cap cho mach se la 6,4A
                    Chon: TIP127 có dòng 6A để lái dòng đối với cách 1
                    Chọn: ULN2803 để đệm cột cho cách 2 cho thuận tiện việc thiết mạch

                    Ngoài ra cường độ sáng của Led chỉ có một giới hạn nhất định nào đó mà thôi, cứ xem như là Band thông của Led đi, vì vậy nếu bảng QB quá lớn hay thời gian quyét quá nhanh thì dù có cấp dòng cho led lớn đến mấy đi chăng nữa cũng chỉ là vô ích thôi, Khi đó sẽ cần đến một cách khác để giải quyết chuyện này đó là dùng phương pháp chốt, thường thấy như là 8255, hay lân cận với phương pháp này là 74595 hay 4094( một vài công ty đã dùng các con này).
                    Diễn đàn ơi, giải thích giúp mình dòng chữ màu xanh ấy. Mình chưa biết phương pháp chốt. Mình chỉ biết quét hàng hoặc quét cột thôi.
                    Người nhỏ bé.

                    Comment


                    • Đây là mạch M đã làm, và chạy ok rồi nhé, Các bạn tham khảo nha
                      .: Lê Tiến Mạnh :.
                      Phone number : 0989 735 804
                      YM,Skype,mail : [leemanhj916]@gmail.com

                      Comment


                      • Nguyên văn bởi leemanhj916 Xem bài viết
                        Đây là mạch M đã làm, và chạy ok rồi nhé, Các bạn tham khảo nha
                        nhưng mà chốt data như thế nào vậy mình đọc có hiểu nhưng làm thử thì ko dc

                        Comment


                        • Nguyên văn bởi leemanhj916 Xem bài viết
                          M nghĩ dùng 47595 là hay nhất rồi, Dùng 74138 hay cả 74154 thì cũng dẫn đến quá tốn chân chip, Dùng 74595 thì chúng ta chỉ tốn 3 chân là : SCK,SCL và 1 chân DATA nữa, Nó cho phép tăng số lượng led quét ( Làm những chương trình lớn) dễ dàng hơn nhiều so với 74138 hay 74154.
                          ko biết lập trình để đưa data ra qua 74595 thì có hay nữa cung ko sử dụng dc

                          Comment


                          • cám ơn bạn đả cho mình ý kiến.mình dùng con 138 điều khiển 8 con 74154 để quét cột.còn 4 con 74154 còn lai nối với p1 của con 89 .dữ liêu vào mấy con đó mình nối song song hết .minh làm xong cái mạch rồi mà no hok chay j hết.xin chỉ giáo
                            |

                            Comment


                            • Nguyên văn bởi vunguyen1 Xem bài viết
                              cám ơn bạn đả cho mình ý kiến.mình dùng con 138 điều khiển 8 con 74154 để quét cột.còn 4 con 74154 còn lai nối với p1 của con 89 .dữ liêu vào mấy con đó mình nối song song hết .minh làm xong cái mạch rồi mà no hok chay j hết.xin chỉ giáo
                              bạn làm cái j đấy
                              led ma trận ah` sao khủng thế phần cứng ko làm vậy dc đâu
                              74138 và 74154 chỉ quét hàng hay quet cột dc thôi
                              còn ko đưa dc data ra đâu
                              nếu mà đưa data thì phải dùng 74573 hoăc 74595
                              mình dùng dc con 74573 rồi
                              1 port của vdk có thể mở rộng ra 3->4 port
                              tùy vào bạn viết code
                              Last edited by hoang_hai; 22-07-2009, 17:47.

                              Comment


                              • Huntress1 ơi
                                bạn nói kĩ cho mình cách chạy chữ phải qua trái với
                                hôm trước bạn viết minh ko hiểu
                                và mình muốn xuất phát từ lúc ko có led nào sáng cả và chạy từ đầu đến cuối
                                mình chỉ làm dc nó chạy tren 1 led 8x8 thôi dùng lệnh
                                for(k=0;k<8;k++)
                                {for(j=0;j<200;j++)//lap
                                {for(n=0;n<8;n++)
                                {P2=chuh[n]<<k;//dịch 1 bit
                                P1=row_on[n];//quet hàng}}}
                                còn 2 led thì bó tay mình ko biết làm thế nào để nó dịch hết bit của led 1 rồi số bit đấy chuyển dc sang led 2
                                ví dụ code là k=0
                                00011100
                                vậy lần dịch thu nhất k=1 la
                                00111000
                                k=2 01110000
                                k=3 11100000
                                vậy k=4 thì led 1 là : 11000000
                                mình muốn 1 bit đầu của led 1 chuyển sang bit cuối của led 2 :00000001
                                vậy mình phải viết code như thế nào vậy
                                bạn có cách nào giúp mình ko
                                hay cách khác đơn giản hơn ko
                                Last edited by hoang_hai; 22-07-2009, 18:06.

                                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