Thông báo

Collapse
No announcement yet.

cân giúp lập học trình lcd 16x2 chên pic18f

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

  • cân giúp lập học trình lcd 16x2 chên pic18f

    mình học mại mã không hiểu câu lệnh của nó,, anh em có thế giúp mình học được không ,,,
    anh em viết lên 1 trương trình nào đó hiển thị chữ gì cũng đượ,, và viết ý nghĩa của từng câu lệnh được không cảm ơn các bác nhiều
    và cho mình xin mạch mô phọng lun đươc không ạ
    ...mình đang học lập chên con p18f4520
    cảm ơn tất cả anh em nhiều

  • #2
    Nguyên văn bởi zunixauxi Xem bài viết
    mình học mại mã không hiểu câu lệnh của nó,, anh em có thế giúp mình học được không ,,,
    anh em viết lên 1 trương trình nào đó hiển thị chữ gì cũng đượ,, và viết ý nghĩa của từng câu lệnh được không cảm ơn các bác nhiều
    và cho mình xin mạch mô phọng lun đươc không ạ
    ...mình đang học lập chên con p18f4520
    cảm ơn tất cả anh em nhiều
    tôi vẫn không hiểu là bạn đang học con pic 18 mà hỏi những câu thế này là sao?
    bạn muốn gắn lcd thế nào, port nào?
    viết bằng ngôn ngữ gì? asm, c, ??
    Mãi đi tìm vàng.

    Comment


    • #3
      Nguyên văn bởi KVLV Xem bài viết
      tôi vẫn không hiểu là bạn đang học con pic 18 mà hỏi những câu thế này là sao?
      bạn muốn gắn lcd thế nào, port nào?
      viết bằng ngôn ngữ gì? asm, c, ??
      mình muồn học quet lcd ,,,port nào cũng được ,, nói chung là mình chưa biết cách quet lcd ,,,bạn thử lập trình cho màn hình lcd hiện lên chữ abcd chẳng hạn và giải thích câu lên cho mình ý...cảm ơn bạn nhiều
      mình viết chên mplab

      Comment


      • #4
        #include <18f4680.h>
        #device ICD=TRUE
        #fuses HS,NOWDT,NOPROTECT,NOLVP,MCLR
        #use delay(clock=10000000)

        #include <LCD.c>

        void main()
        {
        lcd_init();

        while (1)
        {
        lcd_gotoxy(0,0);
        lcd_putc("PIC DEMO 2 PLUSH");
        lcd_gotoxy(0,1);
        lcd_putc("AAAAAAAAAAAAAA");
        }
        }
        LCD.zip
        bạn coi code này thử coi, mình viết trên 18f4680, mình có add thư viện cho bạn đó

        Comment


        • #5
          de ti minh pot 1 truong trinh mau len
          song cac bac giai thich giup minh cam on nhieu
          Last edited by zunixauxi; 15-05-2013, 11:38.

          Comment


          • #6
            đây các bác giải thích giúp mình code này nhé
            từng đoạn một các bác nhé thak nhiều chỗ quet lcd ý
            #include <p18f4520.h>
            #include <stdio.h>
            #include <delays.h>

            #define ui unsigned int
            #define uc unsigned char
            #define in int
            #define ul unsigned long int
            #define fl float

            #define rs LATDbits.LATD0
            #define rw LATDbits.LATD1
            #define en LATDbits.LATD2

            #define LCD_DATA LATD

            uc message[32];

            void delay_ms(ui ms)
            {
            while(ms--)
            Delay1KTCYx(3);
            }
            void delay_us(ui us)
            {
            Nop();
            Nop();
            Nop();
            }
            void delay(ui time)
            {
            in i;
            for(i=0;i<time;i++);
            }

            void io_init()
            {
            TRISA = 0b11111111;
            TRISB = 0b11111111;
            TRISC = 0b11111111;
            TRISD = 0b00001000;
            TRISE = 0b111;
            }

            void ma_lenh(uc d)
            {
            LCD_DATA&=0x0f; //XOA 4 BIT CAO LCD
            en=1;//CHO PHEP CLD HOAT DONG
            LCD_DATA|=(d&0xf0); //CHUYEN 4 BIT CAO
            en=0;//TAT CLD

            LCD_DATA&=0x0f;
            en=1;///TAT
            LCD_DATA |d<<4)&0xf0);
            en=0;

            delay(400);
            }
            void lcd_ctr(uc d)
            {
            rs=0;
            rw=0;
            ma_lenh(d);
            }
            void lcd_data(uc d)
            {
            if(d=='\1')
            {
            lcd_ctr(0x01);
            delay_ms(2);
            return;
            }
            if(d=='\n')
            {
            lcd_ctr(0xc0);
            return;
            }
            rs=1;
            rw=0;
            ma_lenh(d);
            }
            void lcd_str(uc *d)
            {
            while(*d)
            {
            lcd_data(*d);
            d++;
            }
            }
            void lcd_init(void)
            {
            lcd_ctr(0x2);
            lcd_ctr(0x28);
            lcd_ctr(0x28);
            lcd_ctr(0x06);
            lcd_ctr(0x0c);
            lcd_ctr(0x01);
            }

            void main()
            {
            io_init();
            lcd_init();
            while(1)
            {
            lcd_ctr(0x80);
            sprintf(&message[0]," HHT HA NOI \n KTSC&LRMT");
            lcd_str(&message[0]);
            delay_ms(2);
            }
            }
            Last edited by zunixauxi; 16-05-2013, 09:02.

            Comment

            Về tác giả

            Collapse

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

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

            Collapse

            Đang tải...
            X