Thông báo

Collapse
No announcement yet.

Giúp mình mạch chữ chạy trên LCD 1602A dùng 8951.

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

  • Giúp mình mạch chữ chạy trên LCD 1602A dùng 8951.

    Code mình đã mô phỏng thành công trên Proteus nhưng khi ráp mạch thật thì LCD không hiện chữ gì cả mà chỉ hiện vài hàng đen ngang dọc. Bạn nào đã làm qua đề tài này làm ơn giúp mình.

    LCD chân 1 nối nguồn, chân 2 nối mass, chân 3 nối mass luôn. chân 15 16 để trống.

    8951 chân EA và chân PSEN nối nguồn, chân reset nối giữa tụ 10uf và R 10k. Không biết đúng không mà mạch không chạy...chán quá mình đã tháo ra và lắp lại mất lần cũng vậy.

    Không hiểu sao mình không up hình lên diễn đàn được các bạn vào link sau xem đỡ.
    http://lh5.ggpht.com/_f1vTmjZbxHA/St...M/AK%20LCD.JPG

    Còn đây là code asm:

    EN BIT P3.2
    RS BIT P3.1
    RW BIT P3.0

    LCD_DATA EQU P1
    ORG 000

    MAIN:

    SETB EN
    CLR RS
    CLR RW
    MOV LCD_DATA,#38H ; Dat che do 2 dong
    CLR EN
    CALL DELAY

    SETB EN
    CLR RS
    CLR RW
    MOV LCD_DATA,#0CH ; Bat hien thi
    CLR EN
    CALL DELAY

    LINE1:
    MOV DPTR,#ON_LINE1
    SETB EN
    CLR RS
    CLR RW
    MOV LCD_DATA,#80H
    CLR EN
    CALL DELAY
    CALL EXPORT

    LINE2:
    MOV DPTR,#ON_LINE2
    SETB EN
    CLR RS
    CLR RW
    MOV LCD_DATA,#0C0H
    CLR EN
    CALL DELAY
    CALL EXPORT

    EXPORT:

    MOV R1,#0
    LOOP:
    MOV A, R1
    MOVC A,@A+DPTR
    SETB EN
    SETB RS
    CLR RW
    MOV LCD_DATA,A
    CLR EN
    CALL DELAY
    INC R1
    CJNE R1,#20, LOOP
    RET


    DELAY:
    MOV R7,#20

    LOOP1:
    MOV TH0,#HIGH(-50000)
    MOV TL0,#LOW(-50000)
    SETB TR0
    LOOP2:
    JNB TF0,LOOP2
    CLR TF0
    CLR TR0
    DJNZ R7,LOOP1
    RET

    ORG 100H
    ON_LINE1: DB ' KHOA CONG NGHE'

    ORG 200H
    ON_LINE2: DB 'DAI HOC CAN THO'

    END

























  • #2
    Hic !
    Cấp áp ngược vậy mà LCD cũng chạy sao ? Cái này chưa thử
    Trong bảng mã lệnh của LCD có lệnh dịch hiển thị mà, hình như 0x18 là dịch sang trái.

    Comment


    • #3
      LCD chân 1 nối nguồn, chân 2 nối mass, chân 3 nối mass luôn. chân 15 16 để trống
      LCD1602 bạn nối chỗ này không ổn:
      - Ngược nguồn đất, đúng của nó là 1 nối mass, 2 nối nguồn
      - Chân 3 điều chỉnh độ tương phản, bạn nối mass thì độ tương phản quá lớn, màn hình lúc nào cũng hiện các ô đen, chữ của bạn bị che lấp dưới những ô này bạn không nhìn thấy được đâu. Chân này phải nối với 1 biến trở để điều chỉnh độ tương phản cho phù hợp

      8951 chân EA và chân PSEN nối nguồn
      Chân EA nối nguồn để 8051 chạy với bộ nhớ chương trình on-chip thì đúng rồi, chân PSEN (Program store Enable) chỉ dùng khi bạn chạy với bộ nhớ chương trình ngoài. Đã chạy với bộ nhớ chương trình on-chip thì không dùng chân này.

      Bạn có thể tham khảo cách thao tác với LCD1602 trong file dưới đây:
      Attached Files
      For a better world

      Comment


      • #4
        Cám ơn các bạn đây là lần đầy mình ráp mạch thực tế nên còn thiếu kinh nghiệm.

        Comment


        • #5
          ban oi chi minh hoc lap trinh IC 89c51 o dau vay? cam on nhieu

          Comment


          • #6
            ban oi chi minh hoc lap trinh IC 89c51 o dau vay? cam on nhieu
            Nếu bạn là người ham mê điện tử và thực sự muốn nghiên cứu về công nghệ điện tử và vi điều khiển. Hãy liên hệ với ETECH. Mời bạn tham khảo thêm thông tin ở website: http://etech.com.vn
            Last edited by Toan.Lv; 19-10-2009, 10:43.
            For a better world

            Comment


            • #7
              Bạn Toan.Lv mình đã sửa mạch lại vẫn k chạy được giờ k biết phải làm sao đây, nó chỉ hiện lên sọc đen ngang dọc từ từ mờ dần rồi tắt, nếu ấn Reset thì hiện lại rồi mờ từ từ....k biết có phải cái LCD có vấn đề, mình đo điện thế các chân giao tiếp vẫn có tín hiệu truyền qua. Chân contrast mình dùng biến trở 50K không biết có được không? Có lẽ phải đi mua cái 10K.

              Comment


              • #8
                LCD cần cấp đ/a âm vào chân E nhé.Sao ko viết C cho nó gọn nhỉ_ASM?????????


                Add: 97 Quán Nam - Lê Chân - Hải Phòng.
                Tel: 031 518648 Phone: 0904 283 505

                Comment


                • #9
                  Nguyên văn bởi hoangdai Xem bài viết
                  LCD cần cấp đ/a âm vào chân E nhé.Sao ko viết C cho nó gọn nhỉ_ASM?????????
                  Lập trình 8 bit sao lại cấp điện áp âm vào chân E ?

                  Comment


                  • #10
                    Bạn Toan.Lv mình đã sửa mạch lại vẫn k chạy được giờ k biết phải làm sao đây, nó chỉ hiện lên sọc đen ngang dọc từ từ mờ dần rồi tắt, nếu ấn Reset thì hiện lại rồi mờ từ từ....k biết có phải cáiLCD có vấn đề, mình đo điện thế các chân giao tiếp vẫn có tín hiệu truyền qua. Chân contrast mình dùng biến trở 50K không biết có được không? Có lẽ phải đi mua cái 10K.
                    - Chân contrast bạn nối với biến trở 50K cũng được. bạn cứ chỉnh biến trở đến khi nào độ tương phản phù hợp thì thôi. LCD không dễ hỏng đâu.
                    - Bạn thử kiểm tra các điểm sau nhé:
                    + Đo nguồn giữa chân 2 và chân 1 xem có không, nếu có thì bao nhiêu
                    + Nếu có nguồn thì chỉnh độ tương phản xem đã phù hợp chưa.
                    + Kiểm tra lại kết nối phần cứng thật chắc chắn
                    + Nếu mọi thứ đều đúng thì bạn kiểm tra lại phần mềm xem thế nào.
                    - Tôi gửi file code mẫu viết bằng C bạn download về tham khảo nhé:
                    Attached Files
                    For a better world

                    Comment


                    • #11
                      mình đang thiết kế đồng hồ thực hiển thị ngày giờ tháng năm trên lcd 16x2. ai có pm cho mình với.(code = C cang tốt). thanks nhìu! mail của mình: landautien_8611@yahoo.com

                      Comment


                      • #12
                        Vấn đề đã được giải quyết, cái LCD bị hư, mình mua cái khác gắn vào chạy tốt.

                        Comment


                        • #13
                          mấy huynh ơi em cần một chương trình hợp ngữ chạy hai dong chử trên LCD hai dong ma 20x2 ma không bít như thế nào mong mấy anh giúp với không ngày mai em lên máy chém rồi, em cân hiển thị hai dong như sau.
                          " KHOA DIEN TU - K02DTA1" dòng này dịch trái
                          " ROBOCON 2010" dong này thì chạy sau dong trên và nháy tắt rồi quay lại dòng trên
                          e, mong mấy anh giúp em sớm không em chết mất

                          Comment


                          • #14
                            Các bạn hướng dẫn giúp tôi cái vụ này:
                            tôi muốn hiển thị 1 ô trên lcd chớp tắt thì phải làm thế nào?.

                            Comment


                            • #15
                              hic minh cung lam mach tuong tu.nhung te hon ban an khuong mach ko chay ln dc cai den nen sang ah` >.<.cung cai LCD 1602A.chan 1 minh noi mass,2noi nguon,3tuong phan noi bien tro 10k.chan 4(RS) noi p2.0.chan 5(R/W) noi p2.1.chan 6(E) noi p2.2.chan 7-14 noi p1.chan 15,16 noi nguon va dat theo datasheet la den nen nhung no ko len.tren LCD con co them 2 ki hieu la A va K.minh noi nguon va dat vao thi den nen len. ko`n 8051 thi ket noi binh thuong voi thach anh nhu ban an khuong.
                              code:
                              ORG 000
                              MOV A,#38H
                              CALL COMNWRT
                              CALL DELAY
                              MOV A,#0EH
                              CALL COMNWRT
                              CALL DELAY
                              MOV A,#01H
                              CALL COMNWRT
                              CALL DELAY
                              MOV A,#06H
                              CALL COMNWRT
                              CALL DELAY
                              ;NOI DUNG HIEN THI
                              MOV A,#"N"
                              CALL DATAWRT
                              CALL DELAY
                              MOV A,#"H"
                              CALL DATAWRT
                              CALL DELAY
                              MOV A,#"A"
                              CALL DATAWRT
                              CALL DELAY
                              MOV A,#"N"
                              CALL DATAWRT
                              CALL DELAY
                              COMNWRT:
                              MOV P1,A
                              CLR P2.0
                              CLR P2.1
                              SETB P2.2
                              CLR P2.2
                              RET
                              DATAWRT:
                              MOV P1,A
                              SETB P2.0
                              CLR P2.1
                              SETB P2.2
                              CLR P2.2
                              RET

                              DELAY: MOV R3, # 255
                              HERE2: MOV R4, # 255
                              HERE: DJNZ R4, HERE
                              DJNZ R3, HERE2
                              RET
                              END

                              cac pro koi jum minh nhe protues mo phong thi chay ổn hic.
                              Last edited by nguyentot90; 04-03-2011, 16:20.

                              Comment

                              Về tác giả

                              Collapse

                              ankhuong99 My Weapons:Motorola Milestone Android FroyoNokia 5800 Xpress Music SOLDNokia 1200 Shadow to life Edit.Nokia 6610 classicYamaha Jupiter Gravita Limited Edition BlackAsus A42JK Core i5 1GB ATI Mobility Radeon HD 4GB DDR3 Dual Tìm hiểu thêm về ankhuong99

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

                              Collapse

                              Đang tải...
                              X