Thông báo

Collapse
No announcement yet.

Tutorial: Led ma trận bằng hình ảnh (completed)

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

  • anh oi em khong biet canh dau ic vao bien quang cao anh nao biet chi cho em voi cho em so do nguyen ly thi cang tot em cam on

    Comment


    • Nguyên văn bởi typhoon Xem bài viết
      Nếu bạn đã làm được từng đó hiệu ứng rồi và "thực sự hiểu" thì các hiệu ứng khác bạn hoàn toàn có thể tự nghĩ ra và chỉnh sửa code đôi chút là ổn thôi
      còn nhiều bạn chỉ copy code rồi chỉnh đôi chút mà không hiểu rõ về bản chất nó thì rất khó để tự mình viết thêm nhiều hiệu ứng..
      . khuyên bạn chỉ cần từ một hiệu ứng thôi nhưng bạn hiểu rõ cách mà bảng quang báo bạn thực hiện để tạo ra nó ra sao thì bạn sẽ làm được khá nhiều hiệu ứng khác thôi.
      Bạn nói vậy là không đúng rồi.Mình làm mạch giống bác nghaiha mà,cho chữ chạy từ trên xuống dưới ,từ dưới lên thì chỉ việc làm :
      khi đưa dữ liệu hàng 1 từ 74hc595 ra các cột.thay vì cho hàng 1 lên mức cao,ta sẽ đưa hàng 2 .Khi đưa dữ liệu hàng 2 ra,mình cho hàng 3 lên mức cao.... cứ thế .Còn để cho chữ chạy từ trái qua phải thì phải dịch bit gì gì đó(mình vẫn chưa cho nó chạy đc) .Mình quét theo hàng mà.
      Bác nào rảnh chỉ cho mình mấy từ như màn hình offscreen đi.mình đọc tới đó chẳng hiểu gì cả!!!

      Comment


      • Để dịch từ trái sang phải hay từ phải sang trái thì bạn dịch byte,đưa byte đã dịch ra cột trước khi chốt,muốn vậy thì byte1<<1 byte2>>7,sau đó dùng lệnh "hoặc" (or )ghép 2 byte này lại thành byte mới,cứ vậy ghép được 3 byte (với bài toán của bác nghaiha) chốt 1 lần được hàng thứ nhất,làm như vậy với 7 hàng còn lại,ok.trang trước có cao thủ viết rồi mà.Cùng dân Haui rồi,bạn học lớp nào thế?
        Phạm Duy Quý

        PN:0973291335


        Dám nghĩ,dám nói,dám làm

        Comment


        • Nguyên văn bởi haui0037 Xem bài viết
          Bạn nói vậy là không đúng rồi.Mình làm mạch giống bác nghaiha mà,cho chữ chạy từ trên xuống dưới ,từ dưới lên thì chỉ việc làm :
          khi đưa dữ liệu hàng 1 từ 74hc595 ra các cột.thay vì cho hàng 1 lên mức cao,ta sẽ đưa hàng 2 .Khi đưa dữ liệu hàng 2 ra,mình cho hàng 3 lên mức cao.... cứ thế .Còn để cho chữ chạy từ trái qua phải thì phải dịch bit gì gì đó(mình vẫn chưa cho nó chạy đc) .Mình quét theo hàng mà.
          Bác nào rảnh chỉ cho mình mấy từ như màn hình offscreen đi.mình đọc tới đó chẳng hiểu gì cả!!!
          Thì mình đã nói rùi bạn không hiểu ý . quang báo mà đã hiểu cái nguyên tắc thì làm hiệu ứng rất dễ. Cái phần cứng trong bài của nghaiha không thể quét cột được đâu bạn... có lẽ bạn mới tìm hiểu về nó nên còn nhiều điều chưa thông. Lần đầu tiên tui làm mạch về qb thiệt 16x64 dùng 89 tui chỉ cần bỏ ra chưa đến đến vài tuần để hiểu và làm được mạch chạy thiệt hiệu ứng : chạy chữ hai dòng,trái sang phải, phải trái , tren xuông, dưới lên.mà không gặp khó khăn gì... làm mạch 2 lớp bằng tay không cần mô phỏng bạn làm gì khi bạn đã chắc về điều mình làm. bạn cứ làm đi và nghiệm lại lời tôi nói nhé .

          Comment


          • Nguyên văn bởi dquy05 Xem bài viết
            Để dịch từ trái sang phải hay từ phải sang trái thì bạn dịch byte,đưa byte đã dịch ra cột trước khi chốt,muốn vậy thì byte1<<1 byte2>>7,sau đó dùng lệnh "hoặc" (or )ghép 2 byte này lại thành byte mới,cứ vậy ghép được 3 byte (với bài toán của bác nghaiha) chốt 1 lần được hàng thứ nhất,làm như vậy với 7 hàng còn lại,ok.trang trước có cao thủ viết rồi mà.Cùng dân Haui rồi,bạn học lớp nào thế?
            Mình học lớp Cơ điện tử - K2
            Nick của mình : haui0037 ,bạn add vào rồi chỉ cho mình mấy đường cơ bản

            Comment


            • Nguyên văn bởi dquy05 Xem bài viết
              Để dịch từ trái sang phải hay từ phải sang trái thì bạn dịch byte,đưa byte đã dịch ra cột trước khi chốt,muốn vậy thì byte1<<1 byte2>>7,sau đó dùng lệnh "hoặc" (or )ghép 2 byte này lại thành byte mới,cứ vậy ghép được 3 byte (với bài toán của bác nghaiha) chốt 1 lần được hàng thứ nhất,làm như vậy với 7 hàng còn lại,ok.trang trước có cao thủ viết rồi mà.Cùng dân Haui rồi,bạn học lớp nào thế?
              Đọc bài của bạn mình mới biết cách ghép bit
              Từ trước tới giờ đọc tới đoạn DMem[j*3+2]=(DMem[j*3+2]<<1)|(DMem[j*3]>>7); là chịu chết luôn,không hiểu đc.
              Bây giờ có hướng làm rồi.Chắc săp cho nó chạy từ trái qua phải đc rồi.hì
              Thank nha!

              Comment


              • Bác có cáh làm chữ trên exel hay quá cảm ơn nha.khỏi phải viết ra giấy tốn mực hj
                NBHVDNTG_C5!no trace

                Comment


                • Bác nào biết tạo spi chỉ giúp với , spi dùng cho 89c52 đó. Chỉ giáo với nha vì bài đầu tiên của bác nghaiha mình cũng làm theo vậy nhưng khi mô phỏng đâu giống như bác hiển thị led xen kẻ dược đâu.
                  Học hỏi là trên hết .

                  Comment


                  • Các bác kô ai chỉ giáo giúp em được sao, giúp 1 chút cũng được mà hay la em post chương trình lên các bác xem hộ vì sao nó kô chạy nha.
                    Code:
                    #include <AT89x52.h>
                    #define DATA P2_0//Du lieu noi tiep ra 74595
                    #define INPUT P2_1//Clock cho phep dich 74595
                    #define OUTPUT P2_2//Clock cho phep chot 74595
                    #define A P0_0//Dau vao A cua 74138
                    #define B P0_1//Dau vao B cua 74138
                    #define C P0_2//Dau vao C cua 74138
                    #define ENABLE P0_3//Tin hieu cho phep dau ra cua 74138
                    #define N1 100
                    #define HANg P0

                    // Day la mang du lieu cho cot
                    unsigned char XINCHAO[] = {156,136,112,162,72,137,130,40,138,130,47,138,130, 232,139,162,40,138,156,40,114,0,0,0};
                    //Khai bao cac ham con
                    void Scanmatrix();
                    void Sendbyte(unsigned char byte);
                    void delay(unsigned int n);
                    //---chuong trinh chinh--------
                    void main()
                    {
                    while(1)
                    {
                    Scanmatrix();
                    }
                    }
                    void Scanmatrix()
                    {
                    unsigned char i;
                    for (i=0;i<64;i++)
                    {
                    Sendbyte(XINCHAO[i]); //Gui byte thu nhat trong mang datacot ra 74595
                    P0=i+8;de chan ENABLE luon o muc 1 , de no co the lam viec
                    delay(N1);
                    G2 = 0;//Cam dau ra cua 74138(tuong duong voi cat nguon)
                    }

                    }
                    void Sendbyte(unsigned char byte)
                    {
                    unsigned char i,temp;
                    for (i=0;i<8;i++)
                    {
                    temp = byte & (1 << i); //Giu nguyen noi dung bit thu i
                    if (temp)
                    {
                    DATA = 1; //Neu noi dung bit i la 1, thi out 1 ra 74595
                    }
                    else
                    {
                    DATA = 0; //Neu noi dung bit i la 0 thi out 0 ra 74595
                    }
                    INPUT = 1;
                    INPUT = 0; //out ra 1 bit, phai co mot xung clock
                    }
                    OUTPUT = 1;
                    OUTPUT = 0;//Dich du 8 bit thi chot mot lan
                    }
                    void delay(unsigned int n)
                    {
                    unsigned int i,j;
                    for (i=0;i<n;i++)
                    for (j=0;j<100;j++);
                    }



                    Mong các bác giúp giùm em tí , em đang làm đồ án. Hjx hjx
                    Last edited by wish_blue07; 18-09-2009, 18:32. Lý do: thêm
                    Học hỏi là trên hết .

                    Comment


                    • Mình không biết bạn dùng 89C52 thế nào,nhưng mình làm theo bài của bác nghaiha thì chạy ngon mà.Mình gửi cho bạn xem bài mình hiển thị chữ như của bác nghaiha trên matrix 16x64.
                      Attached Files
                      Last edited by H.Hai; 19-09-2009, 10:55.
                      YM :

                      Comment


                      • P0=i+G2 = 0;//Cam dau ra cua 74138(tuong duong voi cat nguon)
                        8;de chan ENABLE luon o muc 1 , de no co the lam viec
                        la j

                        Comment


                        • G2 = 0;//Cam dau ra cua 74138(tuong duong voi cat nguon)

                          Sendbyte(XINCHAO[i]); //Gui byte thu nhat trong mang datacot ra 74595
                          P0=i+8;de chan ENABLE luon o muc 1 , de no co the lam viec
                          lạ j

                          Comment


                          • bạn hỏi vậy có nghĩa là sao, ha hỏi lệnh đó làm việc thế nào ah. Theo mình biết thì theo nguyên tắc quét led ma trận sẽ qua 4 bước
                            - Đưa dữ liệu ra cột
                            - Bật nguồn cho hàng tương ứng
                            - Trễ sáng
                            - Tắt nguồn cho hàng tương ứng
                            Cái bạn đang hỏi đang rơi vào mục 4 đó bận ( nếu như bạn hỏi)
                            Mong các bác giúp em chút, đang làm đồ án nên phải làm phiền các bác . Sr
                            Học hỏi là trên hết .

                            Comment


                            • chào các bác em đang học vi điều khiển em đang phải làm một bảng quảng cáo 24*48 nhưng em không biết ghép các ma trận led caccs bác lam on giúp e nhé

                              Comment


                              • theo bác nghaiha , tui cũng mần cái dài 1,6m .16 hàng 160 cột





                                hehee .Đừng béc bẻ lỗi chính tả e nhá , e cố í ghi vậy đóa

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X