Thông báo

Collapse
No announcement yet.

Hiển Thị 2 Dòng?

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

  • Hiển Thị 2 Dòng?

    Tại sao khi hiển thị LCD (2x16) nếu hiển thị một dòng thì OK. còn hiển thị hai dòng thì nó hiển thị tùm lum hết? tức là ở dòng thứ 2 nó còn hiển thị dòng thứ 1 nữa. Bác nào đã có xử lý rồi thì giúp mình với.
    cám ơn.
    cố lên anh em.

  • #2
    Đưa con trỏ đến dòng X khi muốn hiển thị nội dung trên dòng X. Chắc bạn chưa đưa con trỏ về dòng 2.
    Last edited by duyphi; 09-01-2008, 11:09.

    Comment


    • #3
      Với loại LCD 16x2 thì các lênh sau sẽ chuyển con trỏ đến dòng tương ứng:
      0x80 = dòng 1
      0xC0 = dòng 2

      void LcdPSet(unsigned char line, unsigned char pos)
      {
      unsigned char lcd_command;
      switch (line)
      {
      case 1: lcd_command = 0x80 + pos;
      case 2: lcd_command = 0xC0 + pos;
      }
      lcd_putcmd(lcd_command);// Hàm thực hiện gửi lệnh đến LCD
      }
      Ethernet-RS232, PIC Webserver, RFID Reader
      CallerID, Cảnh báo BTS, ...
      0988006696
      linhnc308@gmail.com
      http://linhnc308.blogspot.com

      Comment


      • #4
        Nguyên văn bởi changphieudu Xem bài viết
        Tại sao khi hiển thị LCD (2x16) nếu hiển thị một dòng thì OK. còn hiển thị hai dòng thì nó hiển thị tùm lum hết? tức là ở dòng thứ 2 nó còn hiển thị dòng thứ 1 nữa. Bác nào đã có xử lý rồi thì giúp mình với.
        cám ơn.
        post bài của bạn lên,mọi ng xem dùm cho
        có thể bạn đk lcd chưa đúng,không biết bạn đã thiết lập đúng vị trí con trỏ khi hiển thị của lcd chưa.
        bạn xem vd của anh linhnc ấy!

        Comment


        • #5
          để nhảy tới một dòng
          mình sử dụng lệnh:
          lcd_gotoxy(0,0);//hàm dùng để nhảy tới hàng và cột đầu.
          lcd_gotoxy(0,1);//hàm dùng để nhảy tới cột 0, hàng 1.
          vậy có đúng không?
          cố lên anh em.

          Comment


          • #6
            theo mình nhớ thì mỗi dòng chứa tối đa 20 hoặc 40 kí tự , có thể do số kí tự của bạn nhiều quá nên nó tự động nhảy xuống dòng 2 luôn

            Comment


            • #7
              điều này mình biết, LCD minh chi hiển thị 16 ký tự nên các ký tự mình xuất ra bé hơn 16 ký tự.
              đoạn LCD mình viết như sau:
              char buff[16];//khai bao dữ liệu bộ đệm.
              .
              .
              .
              lcd_gotoxy(0,0);
              sprintf(buff,"SET SPEED:%d",tocdodat);
              lcd_puts(buff);
              lcd_gotoxy(0,1);
              sprintf(buff,"SPEED:%d",tocdo);
              lcd_puts(buff);


              may bạn xem có đúng không?
              cố lên anh em.

              Comment


              • #8
                Nguyên văn bởi changphieudu Xem bài viết
                điều này mình biết, LCD minh chi hiển thị 16 ký tự nên các ký tự mình xuất ra bé hơn 16 ký tự.
                đoạn LCD mình viết như sau:
                char buff[16];//khai bao dữ liệu bộ đệm.
                .
                .
                .
                lcd_gotoxy(0,0);
                sprintf(buff,"SET SPEED:%d",tocdodat);
                lcd_puts(buff);
                lcd_gotoxy(0,1);
                sprintf(buff,"SPEED:%d",tocdo);
                lcd_puts(buff);


                may bạn xem có đúng không?
                bạn sử dụng hàm thư viện có sẵn cho lcd hả

                Comment


                • #9
                  đúng la mình sử dụng thư viện có sẵn của LCD. lâu nay nghỉ tết nên ít lên mạng. chúc các bạn an tết vui vẽ.
                  cố lên anh em.

                  Comment

                  Về tác giả

                  Collapse

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

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

                  Collapse

                  Đang tải...
                  X