RP Store Tìm linh kiện theo mã, gửi BOM nhận báo giá Gửi BOM

Trục trặc với LCD

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • mingkang
    Nhập môn đệ tử
    • Jul 2009
    • 4

    #1

    Trục trặc với LCD

    Mình vừa mua LCD TC1602A-09, về đem gắn vào mạch cùng mới con PIC6F877A, viết chương trình xuất dòng chữ "Mr.Khang", nạp vào PIC, rồi gắn vào mạch chạy thử thì LCD không xuất hiện dòng chữ nào, màn hình chỉ sáng nền LED thôi, chạy trên mô phỏng thì OK, có phải LCD bị hư không ?
    Phần cứng đấu nối như hình bên dưới:

    Đoạn chương trình đơn giản:
    Code:
    #include "16F877A.h"
    
    #use delay(clock=4000000)
    
    #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
    #include <LCD.C>
    
    void main(void)
    {
       set_tris_d(0x00);
       lcd_init();
       printf(lcd_putc,"Mr.Khang");   
     }
    Xin được giúp đỡ. Thanks trước.
  • phamminhtuan
    Super Moderator
    • Feb 2006
    • 150

    #2
    Bạn chỉnh điện áp ngõ ra ở chân Vo hay Vee gì đó, điều chỉnh ở độ đậm nhạt của LCD, có thể là do quá mờ mà bạn không thể thấy.
    Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
    http://www.picvietnam.com/forum/showthread.php?t=1263

    Comment

    • vidieukhiencdn
      Đệ tử 7 túi
      • May 2009
      • 242

      #3
      Bạn thử test = file này xem LCD bạn có sd được ko?
      Attached Files
      Mạch nạp Pickit 2 SE ---> 170k BH 1 năm
      Pic 18F2550 PDIP Thailand bao test 60K/1c
      https://sites.google.com/site/machnapvdk/

      [url]http://vidieukhien.tk[/url

      Comment

      • mingkang
        Nhập môn đệ tử
        • Jul 2009
        • 4

        #4
        Nguyên văn bởi vidieukhiencdn View Post
        Bạn thử test = file này xem LCD bạn có sd được ko?
        hình như file này đấu nối chân khác kiểu của mình phải không ?

        Comment

        • mingkang
          Nhập môn đệ tử
          • Jul 2009
          • 4

          #5
          Nguyên văn bởi vidieukhiencdn View Post
          Bạn thử test = file này xem LCD bạn có sd được ko?
          Tình hình là đã chỉnh sửa mã nguồn cho phù hợp với cách đấu nối chân của mạch của mình, biên dịch lại rùi chạy vẫn không thấy gì...hic

          Comment

          • nvtiep3ik50hut
            Nhập môn đệ tử
            • May 2008
            • 7

            #6
            Theo mình cái phần khai báo:
            #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
            Bạn thử sửa thành như này xem:
            #FUSES HS,NOWDT,PUT,NOPROTECT,NOLVP

            Comment

            • nhoczin
              Đệ tử 3 túi
              • Jul 2008
              • 57

              #7
              Mình cho rằng đây là lỗi phần cứng nhiều hơn, bạn ktra LCD bằng cách xóa hết chương trình trên PIC đi, cắm thẳng chân VEE xuống đất, nếu nó hiện dòng 1 toàn ô 5x7 màu đen là ok, LCD vẫn còn chạy, tiếp đó kiểm tra các chân cẳng, dây dợ xem có bị lỏng hay bị chập ko.

              Comment

              • nbb3i
                Đệ tử 2 túi
                • Aug 2008
                • 45

                #8
                Nguyên văn bởi nhoczin View Post
                Mình cho rằng đây là lỗi phần cứng nhiều hơn, bạn ktra LCD bằng cách xóa hết chương trình trên PIC đi, cắm thẳng chân VEE xuống đất, nếu nó hiện dòng 1 toàn ô 5x7 màu đen là ok, LCD vẫn còn chạy, tiếp đó kiểm tra các chân cẳng, dây dợ xem có bị lỏng hay bị chập ko.
                Sau khi đảm bảo rằng thằng LCD ko vấn đề gì thì bạn gắn thêm 1 con biến trở (loại vi chỉnh 10K hoặc 20K). Chân giữa của con biến trở gắn vào chân VEE rồi bắt đầu vặn đến khi nào dòng thứ nhất của LCD xuất hiện màu đen mờ mờ (nếu đậm quá thì vặn ngược lại cho nó nhạt bớt. Rồi sau đó kiểm tra 7 dây tín hiệu còn lại xem từ LCD tới PIC nó đã thông chưa (đừng kiểm tra bằng mắt nhé). Đảm bảo nối dây đúng như khai báo trong PIC rồi thì bạn nạp chương trình đã nạp trên Proteus xuống PIC rồi xem kết quả.
                Nếu chữ của bạn xuất hiện thì bạn chỉnh lại cái biến trở sao cho chữ hiện lên nét nhất là được. Còn nếu nó ko xuất hiện thì tớ cũng pó tay. Lấy cái búa ra phang cho vài phát rồi đi mua PIC mới LCD mới
                Attached Files
                Last edited by nbb3i; 11-08-2009, 01:44 AM.
                http://group3i.net

                Comment

                • vo_cam
                  Nhập môn đệ tử
                  • Apr 2008
                  • 10

                  #9
                  Nguyên văn bởi mingkang View Post
                  hình như file này đấu nối chân khác kiểu của mình phải không ?
                  điều chỉnh điện áp chân VEE của LCD, để độ tương phản đủ cho bạn nhìn thấy ký tự hiển thị trên LCD.Chúc thành công!
                  http://trinam.com.vn
                  http://tntech.trinam.com.vn
                  Phone: 0945061338
                  Embedded Developer: GPS, GPRS, 3G, TrackingServer

                  Comment

                  • sonduy1
                    Đệ tử 1 túi
                    • Jun 2009
                    • 20

                    #10
                    bạn thử cho chân RW nối mass thử.

                    Comment

                    • ranhcon
                      Nhập môn đệ tử
                      • Jul 2007
                      • 7

                      #11
                      bác nối chân VEE (3) xuống GND (1) chạy ok ngay, mạch của bác chắc là vẫn chạy nhưng vì ko chỉnh được contrast nên mình không nhìn thấy.
                      mà sao bác không dùng lệnh lcd_putc("mr khang"); nhỉ

                      Comment

                      • nghia_tdh21
                        Đệ tử 3 túi
                        • Oct 2006
                        • 46

                        #12
                        không biết bạn dùng mạch nạp loại nào, khi nạp bạn phải nhớ cấu hình bộ dao động cho đúng thì mới chạy.
                        Mình không cấu hình bằng dòng khai báo theo kiểu #FUSE...
                        Mình thường cấu hình cho pic ở trên chương trình nạp.
                        http://www.hieunghia.info
                        Lướt web thoải mái với USB3G của Viettel
                        http://www.hieunghia.info/tin-cong-n...3g-vietel.html
                        -----------------------------------------------------------------------------------
                        Một chút giận,hai chút tham,lận đận cả đời ri cũng khổ.
                        Trăm điều lành,ngàn điều nhịn,thong dong tấc dạ rứa mà vui

                        Comment

                        • trongtuan_1109
                          Đệ tử 1 túi
                          • May 2010
                          • 14

                          #13
                          Nguyên văn bởi nbb3i View Post
                          Sau khi đảm bảo rằng thằng LCD ko vấn đề gì thì bạn gắn thêm 1 con biến trở (loại vi chỉnh 10K hoặc 20K). Chân giữa của con biến trở gắn vào chân VEE rồi bắt đầu vặn đến khi nào dòng thứ nhất của LCD xuất hiện màu đen mờ mờ (nếu đậm quá thì vặn ngược lại cho nó nhạt bớt. Rồi sau đó kiểm tra 7 dây tín hiệu còn lại xem từ LCD tới PIC nó đã thông chưa (đừng kiểm tra bằng mắt nhé). Đảm bảo nối dây đúng như khai báo trong PIC rồi thì bạn nạp chương trình đã nạp trên Proteus xuống PIC rồi xem kết quả.
                          Nếu chữ của bạn xuất hiện thì bạn chỉnh lại cái biến trở sao cho chữ hiện lên nét nhất là được. Còn nếu nó ko xuất hiện thì tớ cũng pó tay. Lấy cái búa ra phang cho vài phát rồi đi mua PIC mới LCD mới
                          Bạn ơi cho mình hỏi sao mình xem datasheet con LCD TC1602A thì nó ko có hướng dẫn cách nối dây như file đính kèm của bạn vậy?
                          Bạn nào biết thì giúp mình nhé

                          Comment

                          • kidmaster08
                            Đệ tử 2 túi
                            • Sep 2010
                            • 41

                            #14
                            các bạn ơi cho mình hỏi về lệnh của 16f877a
                            những lệnh nào có 1 chu kỳ lệnh
                            những lệnh nào cần 2
                            lệnh ý mình muốn nói đến là lệnh asm ấy.mình thích ngôn ngữ này hơn vì nó giúp mình kiểm soát được hệ thống

                            Comment

                            • ilusmmf
                              Nhập môn đệ tử
                              • Nov 2010
                              • 3

                              #15
                              mình coppy đoạn code và phần cứng trong micro c và biên dịch trên micro c
                              char *text = "mikroElektronika";

                              void main() {
                              TRISB = 0; // PORTB is output
                              Lcd_Custom_Config(&PORTB,7,6,5,4,&PORTB,2,0,3); // Initialize LCD on PORTB
                              Lcd_Custom_Cmd(Lcd_CURSOR_OFF); // Turn off cursor
                              Lcd_Custom_Out(1, 1, text); // Print text at LCD
                              }

                              mô phỏng trên protues thì chạy rồi nhưng khi làm mạch thực thì chỉ thấy một màng hình 16x2 ô màu đen.( 2 chân a, k của lcd chân 16-gnd, chân 15 qua trở 330 nối lên 5 V).Chỉnh biến trở thì độ đậm nhạt có thay đổi nhưng chữ vẫn không hiện. Mình đã kiểm tra con Pic 16f877a bằng cách cho chương trình chạy led đơn giản thì vẫn chạy tốt, sợ lcd hư nên mượn lcd của đứa bạn kiểm tra thử vẫn bị tình trạng như trên. Mình không biết phải làm gì nữa, mong được sự giúp đỡ, mình rất cảm ơn.
                              mình nạp mạch bằng win pic 800 ở trên có bạn chỉ phải chỉnh lại khi nạp mạch, cho mình hỏi rõ là chỉnh như thế nào ạ.
                              Attached Files

                              Comment

                              Working...