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 hoang_hai Xem bài viết
    mình ko hiểu cái đoạn{Mình làm thì cột tích lần lượt 10000000b, 01000000b, 00100000b,...,00000001b
    }là j cả
    bạn có thể nói rõ 1 chút dc ko
    mình đã quet hàng như thế này
    __11____
    _1__1___
    11__11__
    111111__
    11__11__
    11__11__
    còn đưa dữ liệu ra cột là tai chỗ nào co 1 thì ta cho là 0 để led sáng
    sao nó ko chay như ý mình
    bạn co thể đưa dữ liệu ra cột giúp mình với mình đabf rất ko hiểu chỗ này
    cảm ơn nhiều nhé
    VD : P2 là hàng, P0 là cột (mình để mặc định 1 là thông nhau nhìn cho dễ, còn khi làm bạn phải chọn tín hiệu nào làm tích cực và quét theo nó. VD P0-->led-->P2 thì để cột này sáng P0=11111111b và P2=00000000b hoặc ngược lại)
    P0=10000000b ; P2=00001111b ; delay;
    P0=01000000b ; P2=00011111b ; delay;
    P0=00100000b ; P2=00100100b ; delay;
    P0=00010000b ; P2=00100100b ; delay;
    P0=00001000b ; P2=00011111b ; delay;
    P0=00000100b ; P2=00001111b ; delay;
    tức là : ở thời điểm 1 : cột 1 được bật (các led ở cột này đều nhận được tín hiệu như nhau : 1); còn hàng thì đưa ra tính hiệu của chữ theo hàng đó, thì khi đó led nối với hàng nào có tín hiệu tích cực sẽ sáng. Thời điểm 2 tương tự với cột 2...

    Hoặc bạn có thể đảo lại cột đưa ra tín hiệu !

    Comment


    • Nguyên văn bởi Huntress1 Xem bài viết
      VD : P2 là hàng, P0 là cột (mình để mặc định 1 là thông nhau nhìn cho dễ, còn khi làm bạn phải chọn tín hiệu nào làm tích cực và quét theo nó. VD P0-->led-->P2 thì để cột này sáng P0=11111111b và P2=00000000b hoặc ngược lại)
      P0=10000000b ; P2=00001111b ; delay;
      P0=01000000b ; P2=00011111b ; delay;
      P0=00100000b ; P2=00100100b ; delay;
      P0=00010000b ; P2=00100100b ; delay;
      P0=00001000b ; P2=00011111b ; delay;
      P0=00000100b ; P2=00001111b ; delay;
      tức là : ở thời điểm 1 : cột 1 được bật (các led ở cột này đều nhận được tín hiệu như nhau : 1); còn hàng thì đưa ra tính hiệu của chữ theo hàng đó, thì khi đó led nối với hàng nào có tín hiệu tích cực sẽ sáng. Thời điểm 2 tương tự với cột 2...

      Hoặc bạn có thể đảo lại cột đưa ra tín hiệu !
      cái này thì mình hiểu
      nhưng mình còn muốn sau này cho nó chạy nữa nên ko thể liệt ke như vạy dc nếu như vậy thì sau ko biết cho nó chạy như thế nào cả

      Comment


      • Nguyên văn bởi hoang_hai Xem bài viết
        cái này thì mình hiểu
        nhưng mình còn muốn sau này cho nó chạy nữa nên ko thể liệt ke như vạy dc nếu như vậy thì sau ko biết cho nó chạy như thế nào cả
        Nếu mà làm như thế này thí sau cho nó chạy chữ thì làm thế nào vậy

        Comment


        • Text To Bitmap Software for LED Matrix - RTB v2

          Hi all!
          Phần mềm RTB version 2 đã hoàn chỉnh. Mình post lên cho các bạn dùng. Hi vọng nó sẽ giúp ích cho những người đang làm LED matrix và LCD.

          Phiên bản 2 này có các chức năng chính như sau:
          - Chuyển đổi Text (unicode) sang bitmap dạng đơn sắc, lưu dạng file C và binary.
          - Cho phép xem trước và chỉnh sửa chi tiết từng điểm ảnh trên cửa sổ Pixel Editor, cho xem trước và copy mã C hoặc ASM.

          Để mở cửa sổ Pixel Editor, các bạn nhấn nút có biểu tượng 0101.
          Để chỉnh sửa trong cửa sổ Pixel Editor bạn dùng chuột trái (vẽ điểm ảnh) và chuột phải (xóa điểm ảnh). Sau khi chỉnh sửa xong xuôi, bạn nhất Refresh để cập nhật dữ liệu đã chỉnh sửa. Nut copy dùng để copy dữ liệu vào clipboard và paste vào source của bạn.

          Phần mềm rất nhẹ, chỉ một file EXE duy nhất, 250k, không cần cài đặt bất kì DLL hay OCX nào. Chương trình chạy rất nhanh và tốn ít tài nguyên.

          Với phần mềm này các bạn có thể dễ dàng tạo bitmap đen trắng và font cho các ứng dụng nhúng của bạn.

          Have Fun!
          Attached Files

          Comment


          • mình đang quét cột led ma trận 8x8
            sao no hiện trên proteus đều bị mất nét vậy các bạn xem giúp mình với
            và chỉ giúp mình làm thế nào đẻ nó hiện đủ nét vậy
            mạch và code mình để ở phía dưới

            Comment


            • [QUOTE=hoang_hai;198687]mình đang quét cột led ma trận 8x8
              sao no hiện trên proteus đều bị mất nét vậy các bạn xem giúp mình với
              và chỉ giúp mình làm thế nào đẻ nó hiện đủ nét vậy
              mạch và code mình để ở phía dưới

              Comment


              • mình đang quét cột led ma trận 8x8
                sao no hiện trên proteus đều bị mất nét vậy các bạn xem giúp mình với
                và chỉ giúp mình làm thế nào đẻ nó hiện đủ nét vậy
                mạch và code mình để ở phía dưới
                đây là code:
                http://www.mediafire.com/?dynaxj1woc9
                mạch bang proteus:
                http://www.mediafire.com/?ltn1g10t1l5
                giúp mình với
                Last edited by hoang_hai; 19-07-2009, 14:35.

                Comment


                • có ai giúp mình với

                  Comment


                  • Nguyên văn bởi hoang_hai Xem bài viết
                    cái này thì mình hiểu
                    nhưng mình còn muốn sau này cho nó chạy nữa nên ko thể liệt ke như vạy dc nếu như vậy thì sau ko biết cho nó chạy như thế nào cả
                    ai bảo bạn liệt kê đâu, đây là mình làm cho bạn hiểu thôy, còn việc sử dụng thế nào là do thuật toán của bạn chứ, để cho chữ chạy thì đơn giản
                    bạn thử đổi đoạn này
                    P0=10000000b ;//1
                    P0=01000000b ;//2
                    P0=00100000b ;//3
                    P0=00010000b ;//4
                    P0=00001000b ;//5
                    P0=00000100b ;//6
                    thành thế này xem
                    P0=01000000b ;//2
                    P0=00100000b ;//3
                    P0=00010000b ;//4
                    P0=00001000b ;//5
                    P0=00000100b ;//6
                    P0=10000000b ;//1
                    cứ lần lượt như thế bạn sẽ thấy hiệu quả.//P2 thứ tự giữ nguyên

                    Hoặc cách khác là bạn cho thay đổi port tín hiệu : khai báo mã vào 1 mảng, cho port lấy ra tín hiệu lần lượt
                    A[8]={a,b,c,d,e,f,g,h}
                    lần 1 : A[8]={a,b,c,d,e,f,g,h}
                    lần 2 : A[8]={b,c,d,e,f,g,h,a}
                    lần 3 : A[8]={c,d,e,f,g,h,a,b}
                    lần 4 : A[8]={d,e,f,g,h,a,b,c}
                    lần 5 : A[8]={e,f,g,h,a,b,c,d}
                    lần 6 : A[8]={f,g,h,a,b,c,d,e}
                    lần 7 : A[8]={g,h,a,b,c,d,e,f}
                    lần 8 : A[8]={h,a,b,c,d,e,f,g}
                    //P0 thứ tự vẫn giữ nguyên


                    Hiện tượng mất nét có thể là do code của bạn, hoặc cũng có thể do proteus hiển thị sai thôy >"< Matrix mình làm thì hiện bình thường, nhưng led 7 đoạn k bao giờ mình hiện lên đc, nhg ra mạch thật y hệt thì chạy ngon ơ

                    Comment


                    • Nguyên văn bởi Huntress1 Xem bài viết
                      ai bảo bạn liệt kê đâu, đây là mình làm cho bạn hiểu thôy, còn việc sử dụng thế nào là do thuật toán của bạn chứ, để cho chữ chạy thì đơn giản
                      bạn thử đổi đoạn này
                      P0=10000000b ;//1
                      P0=01000000b ;//2
                      P0=00100000b ;//3
                      P0=00010000b ;//4
                      P0=00001000b ;//5
                      P0=00000100b ;//6
                      thành thế này xem
                      P0=01000000b ;//2
                      P0=00100000b ;//3
                      P0=00010000b ;//4
                      P0=00001000b ;//5
                      P0=00000100b ;//6
                      P0=10000000b ;//1
                      cứ lần lượt như thế bạn sẽ thấy hiệu quả.//P2 thứ tự giữ nguyên

                      Hoặc cách khác là bạn cho thay đổi port tín hiệu : khai báo mã vào 1 mảng, cho port lấy ra tín hiệu lần lượt
                      A[8]={a,b,c,d,e,f,g,h}
                      lần 1 : A[8]={a,b,c,d,e,f,g,h}
                      lần 2 : A[8]={b,c,d,e,f,g,h,a}
                      lần 3 : A[8]={c,d,e,f,g,h,a,b}
                      lần 4 : A[8]={d,e,f,g,h,a,b,c}
                      lần 5 : A[8]={e,f,g,h,a,b,c,d}
                      lần 6 : A[8]={f,g,h,a,b,c,d,e}
                      lần 7 : A[8]={g,h,a,b,c,d,e,f}
                      lần 8 : A[8]={h,a,b,c,d,e,f,g}
                      //P0 thứ tự vẫn giữ nguyên


                      Hiện tượng mất nét có thể là do code của bạn, hoặc cũng có thể do proteus hiển thị sai thôy >"< Matrix mình làm thì hiện bình thường, nhưng led 7 đoạn k bao giờ mình hiện lên đc, nhg ra mạch thật y hệt thì chạy ngon ơ
                      bạn thử sử dung đoạn code và mạch mình đưa lên ở trên cho no chạy thử với proteus xem nó chỉ hiện gần giống chữ H thôi nạn chỉnh giúp mình với
                      bởi vì mình viết chữ nào nó đều ko hiện đủ chữ hết
                      nếu sai chỗ nào giúp mình luôn với
                      mình chỉ cần làm dc đoạn này thôi là từ sau ok liền

                      Comment


                      • Nguyên văn bởi hoang_hai Xem bài viết
                        bạn thử sử dung đoạn code và mạch mình đưa lên ở trên cho no chạy thử với proteus xem nó chỉ hiện gần giống chữ H thôi nạn chỉnh giúp mình với
                        bởi vì mình viết chữ nào nó đều ko hiện đủ chữ hết
                        nếu sai chỗ nào giúp mình luôn với
                        mình chỉ cần làm dc đoạn này thôi là từ sau ok liền
                        code đã đúng, mạch cũng chuẩn.
                        Thứ nhất là do Proteus không hiển thị nổi do quét quá nhanh.
                        Thứ hai (nguyên nhân của lỗi thứ nhất) : hàm delay bạn viết chưa đúng.
                        sửa lại
                        Code:
                        void DelayMs(unsigned int count) 
                        {  // mSec Delay 11.0592 Mhz 
                            unsigned int i;		       		// Keil v7.5a 
                            while(count) 
                        	{
                                i = 115; 
                        		while(i>0) i--;
                                count--;
                            }
                        }
                        bạn cho delay cao vào, cho nó chạy chậm từng bit sẽ thấy rằng đã đúng. Bạn làm thành mạch thật sẽ không bị hiển thị sai.
                        Nhưng:
                        bạn tham khảo thêm các bài matrix khác của mọi người để học hỏi, đơn giản như này thì ra mạch thật chưa chắc đã chạy đc đâu

                        Comment


                        • Nguyên văn bởi Huntress1 Xem bài viết
                          code đã đúng, mạch cũng chuẩn.
                          Thứ nhất là do Proteus không hiển thị nổi do quét quá nhanh.
                          Thứ hai (nguyên nhân của lỗi thứ nhất) : hàm delay bạn viết chưa đúng.
                          sửa lại
                          Code:
                          void DelayMs(unsigned int count) 
                          {  // mSec Delay 11.0592 Mhz 
                              unsigned int i;		       		// Keil v7.5a 
                              while(count) 
                          	{
                                  i = 115; 
                          		while(i>0) i--;
                                  count--;
                              }
                          }
                          bạn cho delay cao vào, cho nó chạy chậm từng bit sẽ thấy rằng đã đúng. Bạn làm thành mạch thật sẽ không bị hiển thị sai.
                          Nhưng:
                          bạn tham khảo thêm các bài matrix khác của mọi người để học hỏi, đơn giản như này thì ra mạch thật chưa chắc đã chạy đc đâu
                          mình chỉ làm thử dể xem nó có chạy ko thôi
                          còn làm thật thì còn nhiều thứ nữa
                          nếu mắc vào mạch mô phỏng thì rối lắm
                          mình vẫn ko làm thế nào để nó hiện đủ chữ dc cả
                          code đúng rồi mạch cũng đúng
                          sao nó ko hiện đúng
                          chán
                          nghiên cứu mất mấy ngày rồi mà vẫn chưa dc cái j cả
                          Last edited by hoang_hai; 19-07-2009, 18:47.

                          Comment


                          • ơ hay, mình nói rồi, bạn tăng delay lên rồi xem từng bit một. Chưa tìm hiểu đã thắc mắc. thế thì chịu

                            Comment


                            • Nguyên văn bởi Huntress1 Xem bài viết
                              ơ hay, mình nói rồi, bạn tăng delay lên rồi xem từng bit một. Chưa tìm hiểu đã thắc mắc. thế thì chịu
                              ok liền cảm ơn nhiều nhé
                              mình thấy nó dịch từng bit như hình chữ cái rồi
                              sao tăng nó lên nhanh thì proteus ko hiện dc nhỉ
                              nếu làm mạch thật thì nó có hiện như mình mong muốn ko nhỉ bạn làm thử rồi cho mình biết kết quả trước đi
                              chắc lúc nào mình cũng phai thử 1 cái bỏad thật mới dc
                              thành công rồi
                              còn 1 việc nữa là chạy chữ từ trái qua phải thôi

                              Last edited by hoang_hai; 19-07-2009, 22:55.

                              Comment


                              • cả 1 ngày vất vả hỏi bạn mãi mới hiểu

                                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