Thông báo

Collapse
No announcement yet.

Sử dụng LCD Graphic 128x64

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Sử dụng LCD Graphic 128x64

    Chào các bác. Em đang tìm hiểu về GLCD. Thấy nó khó quá. Đọc hoài mà chả hiểu gì cả. Toét hết cả mắt. Em đã down app note làm y như vậy mà vẫn chưa được. Mất cả buổi ngồi test đau hết cả người. Bác nào đã làm qua phần này rồi giúp em với.
    Đây là link của app:
    http://www.psocdeveloper.com/docs/ap...scription%5D=Y
    App này dùng cho con C27 nhưng em đã chuyển mã code sang cho con C29. Không biết có phải vì lý do này mà nó không chạy không nhỉ?
    Last edited by Kel'Thuzads; 04-07-2007, 09:41.
    Kel'Thuzads
    Mail:minhnguyen.ac@gmail.com

  • #2
    Cho đến bây giờ vẫn chưa xong. Không biết sao nữa. Nhờ các bác test lại chắc chẳng có thời gian. Nhưng bác nào đã làm rồi có thể post lên cho em tham khảo với không? Nếu không phải bằng PSoC thì bằng con AVR cũng được. Cái tính của em là phải làm cho bằng được. Không làm xong phần này thì khó học phần khác được. Thế mới chết chứ. Mong nhận được sự giúp đỡ của các bác. Thanksssss
    Kel'Thuzads
    Mail:minhnguyen.ac@gmail.com

    Comment


    • #3
      Chào các bác. Em đã test tạm được rồi. Đã có hiển thị nhưng vẫn không nhu mong muốn. Chắc là có rất nhiều lỗi. Hiện tại em mới chỉ vẽ vài hình đơn giản. Còn về chữ thì vẫn chưa được. Nghe nói có phần mềm tạo ra font cho nó. Hiện tại em đã down được 1 file nhưng chỉ là ma trận 5x7. Nó bé quá. Bác nào biết về phần mềm này shard cho em với. Em rất muốn tạo bộ phông cho riêng mình. Hoặc bác nào biết nó ở đâu chỉ giúp em tới down. Cảm ơn các bác nhiều.
      Kel'Thuzads
      Mail:minhnguyen.ac@gmail.com

      Comment


      • #4
        Dưới đây là một hàm set một điểm ảnh. Nhưng em không hiểu sao vẽ một điểm mà lại được rất nhiều điểm. Riêng các điểm mút như (0,0), thì lại không việc gì cả. Còn điểm gốc cuối (127,63) em chẳng thấy nó đâu cả.

        void GLCD_Set_Dot (unsigned char bXaxis, unsigned char bYaxis)
        {
        unsigned char bDataRead = 0;

        GLCD_Write_Ins(START_LINE); //Set adress for line 0

        //Left side

        if (bXaxis < 64)
        {
        GLCD_Select_Side (LEFT); // Select left side
        GLCD_Write_Ins(X_ADRESS + (bYaxis / 8)); // Select page number
        GLCD_Write_Ins(Y_ADRESS + bXaxis); // Select column

        bDataRead = GLCD_Read_Data (); // read the current location
        bDataRead = GLCD_Read_Data (); // on the LCD. dummy read

        GLCD_Write_Ins(X_ADRESS + (bYaxis / 8)); // Select page number
        GLCD_Write_Ins(Y_ADRESS + bXaxis); // Select column
        GLCD_Write_Data(bDataRead | (1 << (bYaxis % 8))); // plot the dot
        }

        else
        // Right side
        {
        GLCD_Write_Ins(RIGHT); //Select left side
        GLCD_Write_Ins(X_ADRESS + (bYaxis / 8)); //Select page number
        GLCD_Write_Ins(Y_ADRESS + bXaxis - 64); //Select column

        bDataRead = GLCD_Read_Data (); //read the current location
        bDataRead = GLCD_Read_Data (); //on the LCD. dummy read

        GLCD_Write_Ins(X_ADRESS + (bYaxis / 8)); //Select page number
        GLCD_Write_Ins(Y_ADRESS + bXaxis - 64); //Select column
        GLCD_Write_Data(bDataRead | (1 << (bYaxis % 8))); //plot the dot

        }
        GLCD_Write_Ins(START_LINE); //Set adress for line 0
        }


        Bác nào có thể phân tích giúp em không. Thực sự em cũng không hiểu nó hoạt động ra sao nữa. Làm mấy hôm chắc bù đầu rồi.
        Kel'Thuzads
        Mail:minhnguyen.ac@gmail.com

        Comment


        • #5
          Chào bác,

          Em không biết con LCD của bác có chân căng thế nào, bác xem datasheet của nó để code mã một thằng đơn giản thôi, đồng thời Bác phải để ý mấy chân RS trong chế độ ghi và đọc, hàm viết cho việc ghi, cho việc đọc, hàm trễ để tạo xung nếu đã ngon lành thì một điểm hay nhiều điểm, logo cũng OK hết,

          Chúc bác thành công.
          Regards.

          "Never stop thingking!"

          Comment


          • #6
            Thank bác Trent. Có lẽ em đã tìm ra nguyên nhân rồi. Trong ham ve 1 điểm co lệnh đọc dữ liệu về. Trong khi đó em vẫn để cổng là Strong. Phải chuyển sang Hi-Z phải không bác. Để em thu xem sao?
            Kel'Thuzads
            Mail:minhnguyen.ac@gmail.com

            Comment


            • #7
              Chào các bác. Các bác giải thích giúp em 1 chút:
              Khi đặt cho các chế độ của cổng cần phải thiết lập các thanh ghi: DM0,DM1,DM2.
              VD như sau:
              DM0 DM1 DM2
              0 1 0
              Chẳng hạn với cổng 0
              Cách thiết lập thế nào cho đúng đây:
              Cách 1:
              PRT0DM0 = 0x00;
              PRT0DM1 = 0xff;
              PRT0DM2 = 0x00;
              Cách 2:
              PRT0DM0 = 0;
              PRT0DM1 = 1;
              PRT0DM2 = 0;
              Mong các bác trả lời giúp em với.
              ban đầu em dùng cách thứ 2. Thì thấy rằng nó sét 1 diểm không đúng. Và em nghĩ rằng là do mình không thiết lập đúng nên khi với cái lệnh đọc về ở trên sẽ đọc lung tung. Nhưng khi em đã thay cách 1 thì thấy màn hình đen ngòm luôn. Không hiểu sao lại như vậy. Các bác dạo này có vẻ bạn quá hay sao. không thấy giúp em một tay. Code thì nhiều mà thử thì lại không chạy. Thế mới chán. Trên cơ sở bày này em đã làm song song với AVR. Chạy rất ổn. Em gửi kèm file cho mọi người tham khảo.
              À quên. Bác nào có phần mềm tạo font cho em xin cái. Để em có thể tạo bất kì kểu nào. Chứ down font có sẵn chữ bé quá.
              Thankssss
              Attached Files
              Kel'Thuzads
              Mail:minhnguyen.ac@gmail.com

              Comment


              • #8
                Thông thường mình làm theo cách 1,Ví dụ:
                PRT0DM0 = 0xFF; // turn on port 0's output - strong mode
                PRT0DM1 = 0x00;

                Mình gửi cho bạn LCDFontMaker Bản demo để tạo font mà thử nghiệm, và một Application Note dùng cho việc điều khiển chế độ các cổng để bạn tham khảo.

                Chúc vui,
                Attached Files
                Regards.

                "Never stop thingking!"

                Comment


                • #9
                  Cảm ơn bác Trent nhiều. Có lẽ em sẽ phải rút kinh nghiệm. Chưa chịu tìm hiểu kỹ càng mà đã hỏi loạn cả lên. Em sẽ bắt đầu lại với thằng GLCD cái.
                  Kel'Thuzads
                  Mail:minhnguyen.ac@gmail.com

                  Comment


                  • #10
                    Bác cứ làm đi, có gì thì post lên anh em cùng trao đổi, không người này trả lời thì người khác trả lời.

                    Chúc vui,
                    Regards.

                    "Never stop thingking!"

                    Comment


                    • #11
                      em đang viết thư viện cho GLCD dùng atmega32 dùng code avr nhưng khó quá. bác nào có thể chỉ giúp em đc ko? em phải hiển thị hình ảnh và chuỗi ký tự trên mà hình GLCD 128x64. em xin cảm ơn nhà.

                      Comment


                      • #12
                        nếu bác nào có code cho em tham khảo đc ko? nếu có gửi vào địa chỉ " phamxuanthanh1987@gmail.com" nhà.em xin cảm ơn.

                        Comment


                        • #13
                          post bài nhầm chỗ rồi bạn ạ, đây là toppic về psoc cơ mà.
                          Cty tnhh thiết bị điện - điện tử công nghiệp: 0437821690 / 0988.775.900
                          Thiết kế hệ thống điện điều khiển
                          Sửa chữa INVERTER, DRIVER , PLC, UPS ...!

                          Comment


                          • #14
                            bạn lam da chay duoc chua
                            minh cung dang lam con do day m,a van trua chay. minh dang test mach do day ban ah. chung ta cung trao doi duoc ko?

                            Comment


                            • #15
                              chào bạn Trent. Mình đang tập viết lcd graphic 128x64bằng pic16f887, chỉ đơn giản là muốn làm sáng một cột tại một page 0 của mảng bên trái thôi. Vậy mà làm mãi không được. Bạn có thể chỉ giúp mình được không? Nếu được, bạn meo mình theo địa chỉ này nhé:
                              soivaho@yahoo.com.
                              Cảm ơn!

                              Comment

                              Về tác giả

                              Collapse

                              Kel'Thuzads Tìm hiểu thêm về Kel'Thuzads

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

                              Collapse

                              Đang tải...
                              X