Hiển thị LCD 16x2 dùng Pic 16F877A với MPLAP IDE

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • luongthitu
    Thành viên tích cực
    • Oct 2012
    • 306

    #1

    Hiển thị LCD 16x2 dùng Pic 16F877A với MPLAP IDE



    Em tìm mãi mà không rõ lỗi ở đâu ? mà ko thấy hiển thị.
    Nhờ các bác chỉ giùm

    Em xin cám ơn


    Mô phỏng : LCD-PIC.zip
    Connections:
    -------------------------------------
    LCD | PIC |
    -------------------------------------
    Register Select -->RB2 |
    Enable -->RB1 |
    -------------------------------------
    D4 -->RD0 |
    D5 -->RD1 |
    D6 -->RD2 |
    D7 -->RD3 |
    -------------------------------------

    CLOCK: 20MHz crystal oscillator
    Also, any other frequency <20MHz could be used. But we need to edit the below line:
    ?
    1

    #define _XTAL_FREQ 20e6
    Code:
    #include<pic.h>
    #define _XTAL_FREQ 20e6
    __CONFIG(0x3F3A);
    #define RS RB2
    #define EN RB1
    #define databits PORTD
    /*----------------PIC INITIALIZATION------------*/
    void pic_init()
    {
    TRISB2 = 0;
    TRISB1 = 0;
    TRISD = 0;
    }

    /*-------------LCD FUNCTIONS BEGIN--------------*/
    void LCD_STROBE(void)
    {
    EN = 1;
    __delay_us(1);
    EN = 0;
    }

    void data(unsigned char c)
    {
    RS = 1;
    __delay_us(50);
    databits = (c >> 4);
    LCD_STROBE();
    databits = (c);
    LCD_STROBE();
    }

    void cmd(unsigned char c)
    {
    RS = 0;
    __delay_us(50);
    databits = (c >> 4);
    LCD_STROBE();
    databits = (c);
    LCD_STROBE();
    }

    void clear(void)
    {
    cmd(0x01);
    __delay_ms(2);
    }

    void lcd_init()
    {
    __delay_ms(15);
    cmd(0x38);
    __delay_ms(1);
    cmd(0x38);
    __delay_us(100);
    cmd(0x38);
    cmd(0x28); // Function set (4-bit interface, 2 lines, 5*7Pixels)
    cmd(0x28); // Function set (4-bit interface, 2 lines, 5*7Pixels)
    cmd(0x0c); // Make cursorinvisible
    clear(); // Clear screen
    cmd(0x6); // Set entry Mode(auto increment of cursor)
    }

    void string(const char *q)
    {
    while (*q) {
    data(*q++);
    }
    }

    /*-------------LCD END--------------------*/

    main()
    {
    __delay_ms(50);
    pic_init();
    lcd_init();
    TRISC = 0;
    while (1) {
    cmd(0x80);
    string("HELLO DTVN");
    cmd(0xc0);
    string("IT IS DTVN:-)");


    }
    }
    ********** Build successful! **********
    Last edited by luongthitu; 17-10-2012, 16:33.
  • ptit_et
    Thành viên tích cực
    • Feb 2012
    • 264

    #2
    xài cái này nè bạn ơi, sao phải khổ thế viết code vừa dài dễ sai nữa
    lcd_driver.zip

    Comment

    • luongthitu
      Thành viên tích cực
      • Oct 2012
      • 306

      #3
      Vẫn chưa hiển thị lên được...bạn nào giúp mình với

      Comment

      • ptit_et
        Thành viên tích cực
        • Feb 2012
        • 264

        #4
        bạn coi code của mình nè mình hiển thị 2 dòng chữ mình thường lên nè
        #include <18f4680.h>
        #device ICD=TRUE
        #fuses HS,NOWDT,NOPROTECT,NOLVP,MCLR
        #use delay(clock=10000000)

        #include <lcd_driver.c>

        void main()
        {
        lcd_init();

        while (1)
        {
        lcd_gotoxy(0,0);
        lcd_putc("PIC DEMO 2 PLUSH");
        lcd_gotoxy(0,1);
        lcd_putc(" PIC KIT 2 ");
        }

        }

        Comment

        • luongthitu
          Thành viên tích cực
          • Oct 2012
          • 306

          #5
          cái này là CCS mà???

          Comment

          • ptit_et
            Thành viên tích cực
            • Feb 2012
            • 264

            #6
            mplab ide là nền mà, vẫn xài trên ccs, mình cũng mplab ide chứ đâu

            Comment

            • luongthitu
              Thành viên tích cực
              • Oct 2012
              • 306

              #7
              vậy bạn mô phỏng giúp mình rồi upload lên diễn đàn với

              cám ơn bạn nhiều

              Comment

              • ptit_et
                Thành viên tích cực
                • Feb 2012
                • 264

                #8
                mô phỏng dễ mà bạn, có cái lcd với pic hết rồi, dùng proteus chưa tới 5 phút nữa, bạn thử đi ko đ thì tối về mình mô phỏng cho, h đang trên lớp học embeded system

                Comment

                • quangnhat
                  Thành viên tích cực
                  • Jul 2005
                  • 940

                  #9
                  Nguyên văn bởi ptit_et Xem bài viết
                  mô phỏng dễ mà bạn, có cái lcd với pic hết rồi, dùng proteus chưa tới 5 phút nữa, bạn thử đi ko đ thì tối về mình mô phỏng cho, h đang trên lớp học embeded system

                  dùng ccs cho dễ bạn ơi
                  Last edited by quangnhat; 19-10-2012, 18:59.
                  Quang Nhat
                  ---------------------------------------
                  Yahoo :quangnhat85ls
                  Mail :
                  Nhận thiết kế và ép nhựa cho đồ điện tử

                  Comment

                  • ptit_et
                    Thành viên tích cực
                    • Feb 2012
                    • 264

                    #10
                    mình dùng ccs mừ, add nó vào mplab thôi mà lõi vẫn là ccs

                    Comment

                    • luongthitu
                      Thành viên tích cực
                      • Oct 2012
                      • 306

                      #11
                      Nguyên văn bởi ptit_et Xem bài viết
                      mình dùng ccs mừ, add nó vào mplab thôi mà lõi vẫn là ccs
                      Mình ko làm dc như bạn nói, nó toàn báo lỗi.
                      Bạn có thể:

                      làm ơn mô phõng trong file đính kèm rồi gửi cho mình được ko?

                      thanks




                      Comment

                      • luongthitu
                        Thành viên tích cực
                        • Oct 2012
                        • 306

                        #12
                        Help me.......................?

                        File hex

                        :100000000A128A11FB2E00308A000408840A820733
                        :100010000034483445344C344C344F342034443468
                        :10002000543456344E340034493454342034493432
                        :0E003000533420344434543456344E340034A7
                        :100DF60083010A128A11842F8316031306118610A3
                        :100E060088010800831203138614092F0A2F640031
                        :100E1600831203138610080001300A128A11612713
                        :100E26000A128A110D30F300FB30F200F20B192F73
                        :100E3600F30B192F1E2F0800F300312F73088400BF
                        :100E46000A128A1103200A128A110A128A113E27EF
                        :100E56000A128A110130F2007208F307730884003F
                        :100E66000A128A1103200A128A110038031D3C2F28
                        :100E76003D2F212F0800F10083120313061553306E
                        :100E8600F000F00B442F7108F00004300310F00C52
                        :100E9600FF3E031D492F70088312031388000A12B0
                        :100EA6008A1105270A128A11710883120313880012
                        :100EB6000A128A1105270A128A110800F100831204
                        :100EC600031306115330F000F00B672F7108F00082
                        :100ED60004300310F00CFF3E031D6C2F70088312C4
                        :100EE600031388000A128A1105270A128A1171084B
                        :100EF6008312031388000A128A1105270A128A111F
                        :100F060008000230F8004430F700A930F600F60B6E
                        :100F16008A2FF70B8A2FF80B8A2F64000A128A1180
                        :100F2600FF260A128A110A128A11BA270A128A1190
                        :100F360083160313870180300A128A1161270A1269
                        :100F46008A1101300A128A111F270A128A11C0302B
                        :100F56000A128A1161270A128A110C300A128A11A2
                        :100F66001F270A128A119E2F0A128A110028623040
                        :100F7600F5006530F400F40BBE2FF50BBE2FC32F22
                        :100F860038300A128A1161270A128A110730F500D1
                        :100F96007D30F400F40BCD2FF50BCD2F38300A122F
                        :100FA6008A1161270A128A11A630F400F40BD92F90
                        :100FB600640038300A128A1161270A128A11283011
                        :100FC6000A128A1161270A128A1128300A128A1116
                        :100FD60061270A128A110C300A128A1161270A1235
                        :100FE6008A110A128A110F270A128A1106300A126A
                        :0A0FF6008A1161270A128A1108000F
                        :02400E003A3F37
                        :00000001FF

                        Comment

                        • xe đạp
                          Thành viên tích cực
                          • Nov 2010
                          • 121

                          #13
                          bạn đang dùng trình dịch nào thế??? CCS, HT PIC??? nếu là HT PIC thì bạn tham khảo ở đây nhé:

                          Comment

                          • luongthitu
                            Thành viên tích cực
                            • Oct 2012
                            • 306

                            #14
                            Nguyên văn bởi xe đạp Xem bài viết
                            bạn đang dùng trình dịch nào thế??? CCS, HT PIC??? nếu là HT PIC thì bạn tham khảo ở đây nhé:

                            http://www.payitforward.edu.vn/wordp...ech-pic/bai-4/
                            Mình dùng trình dịch MPLAB IDE v8.56
                            Mình viết bằng CCS thì oki rồi nhưng ko hiểu sao dùng IDE thì lại ko dc?

                            Mình làm theo hướng dẫn của bài học nhưng trình dịch vẫn báo lỗi là sao nhỉ?
                            Bạn giúp mình với

                            Cám ơn nhiều.

                            Error [800] lcd18.as; 45. undefined symbol "MCLREN"
                            Error [800] lcd18.as; 49. undefined symbol "BORV21"

                            ********** Build failed! **********
                            file đính kèm: LCD-DTVN.zip
                            Last edited by luongthitu; 23-10-2012, 08:41.

                            Comment

                            • vuxuansyhut
                              Thành viên tích cực
                              • Jul 2009
                              • 303

                              #15
                              Nguyên văn bởi luongthitu Xem bài viết
                              Mình dùng trình dịch MPLAB IDE v8.56
                              Mình viết bằng CCS thì oki rồi nhưng ko hiểu sao dùng IDE thì lại ko dc?
                              Mplab IDE chỉ là môi trường. Bác dùng trình biên dịch cụ thể nào HTPIC, CCS hay Mikro C

                              Giải pháp điện tử của bạn

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...