Thông báo

Collapse
No announcement yet.

Hiển Thị LCD dùng PIC16F877

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

  • Hiển Thị LCD dùng PIC16F877

    Đây là bài viết hướng dẫn lập trình ứng dụng vi điều khiển PIC16F877
    trong điều khiển LCD hiển thị nội dung TEXT.
    Bài viết này đã được lập trình và chạy thữ rất tốt trên phần cứng, do đó các bạn có thể tải về tham khảo và lắp ráp.
    Mục đích của bài này là hướng dẫn các thành viên mới tiếp cận với vdk PIC.
    Sau đây là đoạn code của chương trình viết bằng C:

    /*
    * Test configuration:
    MCU: PIC16F877A
    Oscillator: HS, 08.0000 MHz
    Ext. Modules: LCD 2x16
    */


    char *text = "SUNJSC-TECHNOLOGY";

    void main() {
    Lcd_Init(&PORTD); // Lcd_Init_EP4, see Autocomplete

    LCD_Cmd(LCD_CLEAR); // Clear display
    LCD_Cmd(LCD_CURSOR_OFF); // Turn cursor off
    Delay_ms(1000);
    LCD_Out(1,1, text); // Print text to LCD, 1st row, 1st column
    Delay_ms(1000);
    LCD_Out(2,2,"SAI GON-Tp.HCM"); // Print text to LCD, 2nd row, 6th column
    }
    Attached Files

  • #2
    Tiếp theo là sơ đồ mạch kết nối LCD với VDK PIC
    Chúng ta lưu ý là giao thức kết nối là 4bit data.
    Sau khi chúng ta kết nối cẩn thận rồi kiểm tra nguồn thì tiến hành cho chạy.
    Sơ đồ mạch như sau:
    Attached Files

    Comment


    • #3
      File HEX

      Và nếu các bạn không muốn mất thời gian và muốn lắp mạch chạy thử ngay thì có thể load/ tải file HEX này nạp cho VDK PIC16F877 là xong.
      Attached Files

      Comment


      • #4
        Cho em hỏi 1 chút. LCD của em là LCD 20x2 thì nối thế nào ạ ? Vì nó có tới 16 chân ra ( không kể 2 chân của con LED ).
        |

        Comment


        • #5
          LCD 20x2

          Bác đánh cái mã lên google searh là có datasheet của nó liền à! Chúc vui?

          Comment


          • #6
            Em đã seach mấy ngày rồi, giờ vẫn đang seach tiếp.
            |

            Comment


            • #7
              Nguyên văn bởi nhoczin Xem bài viết
              Cho em hỏi 1 chút. LCD của em là LCD 20x2 thì nối thế nào ạ ? Vì nó có tới 16 chân ra ( không kể 2 chân của con LED ).
              Con LCD 16 chân này cũng như 14 chân thôi mà.Chân 16 cùng chân 1 nối Vss,còn chân 15 +chân 2 nối với Vcc

              Comment


              • #8
                LCD 20x2

                Mình có cái này bác xem thử nó có 16 chân đo! Chúc vui
                Attached Files

                Comment


                • #9
                  Thanks các bác, chiều này em lật ngược con LCD lên thì thấy tương tự con 16x2
                  |

                  Comment


                  • #10
                    Các bác cho em sơ đồ đấu ma trận phím 8x8 với píc6f877a và màn lcd với.em muốn làm một mạch quảng cáo với dong chữ ''chúc mừng năm mới''

                    Comment


                    • #11
                      pic16f877a


                      bác microduyphi có sơ đồ nguyên lý của kit píc 16f877a má bác post o trên không. em mới học nên cần nghiên cứu ấy mà
                      |

                      Comment


                      • #12
                        cho hoi,ai co so do nguyen ky manh hien thi LCD dung pic 16f877 thi cho minh voi.xin cam on!

                        Comment


                        • #13
                          kết nối lcd voi pic tùy ban dùng kết nối 8 bit hay 4 bit
                          nếu ban chỉ cần nối các chân data và các chân điều khiển w,rs,e là được
                          còn bạn mà dùng lcd_lib_4bit.c thì bạn chỉ cândf mở file đó xem các chân ở trong đó!

                          Comment


                          • #14
                            #include <16F877.h>
                            #include <def_877.h>
                            #device *=16 ADC=8
                            #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT,xt
                            #use delay(clock=20000000)
                            #include <lcd.c>

                            void main()
                            {

                            trisd = 0x00;
                            LCD_init();
                            while(1)
                            {
                            lcd_gotoxy(3,1);
                            Printf(LCD_putc,"D");
                            delay_ms(200);
                            lcd_gotoxy(4,1);
                            Printf(LCD_putc,"I");
                            delay_ms(200);
                            lcd_gotoxy(5,1);
                            Printf(LCD_putc,"E");
                            delay_ms(200);
                            lcd_gotoxy(6,1);
                            Printf(LCD_putc,"N");
                            delay_ms(200);
                            lcd_gotoxy(7,1);
                            Printf(LCD_putc,"T");
                            delay_ms(200);
                            lcd_gotoxy(8,1);
                            Printf(LCD_putc,"U");
                            delay_ms(100);
                            lcd_gotoxy(9,1);
                            Printf(LCD_putc," ");
                            delay_ms(100);
                            lcd_gotoxy(10,1);
                            Printf(LCD_putc,"V");
                            delay_ms(100);
                            lcd_gotoxy(11,1);
                            Printf(LCD_putc,"N");
                            delay_ms(100);
                            }
                            }
                            Bạn dùng hàm có sẵn lcd.c
                            RD0 - RS
                            RD1 - RW
                            RD2 - E
                            RD4 ..RD7 - D4..D7
                            Last edited by ngchien; 22-10-2009, 19:49.
                            Chuyên cung cấp inverter dạng sin chuẩn
                            Email :

                            Comment


                            • #15
                              can thong tin

                              Nguyên văn bởi tranbalam Xem bài viết
                              cho hoi,ai co so do nguyen ky manh hien thi LCD dung pic 16f877 thi cho minh voi.xin cam on!
                              hiện tôi đang làm đồ án về lập trình PIC hiện thị trên LCD ,nếu ai có sơ đồ nguyên lý và mạch in thì liên hệ với tôi qua sô điện thoại 01698505929,tôi sẽ mua nó với giá thỏa thuận đôi bên ,nhưng ở tp HCM thôi nha ,chân thành cảm ơn!

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              • Andrea14
                                Vấn đề về tốc độ quay
                                bởi Andrea14
                                Chào mọi người,

                                Tôi muốn mô phỏng sự thay đổi các mùa bằng cách từ từ nghiêng một quả địa cầu 16 inch bằng một động cơ bước nhỏ. Một động cơ bước khác sẽ quay quả địa cầu theo thời gian thực. Hệ thống truyền động...
                                12-12-2025, 12:42
                              • bqviet
                                Trả lời cho Đấu tắt điện cho máy tính bảng
                                bởi bqviet
                                Bqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
                                06-12-2025, 17:17
                              • nguyendinhvan
                                Trả lời cho Xin hỏi về mạch thu FM/AM trong catsette
                                bởi nguyendinhvan
                                Theo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
                                05-12-2025, 19:59
                              Đang tải...
                              X