Thông báo

Collapse
No announcement yet.

Atmega16 và LCD 16x2

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

  • Atmega16 và LCD 16x2

    Chào các bác. Em dùng codevision để lập trình. Em mắc phải vấn đề cần mọi người giúp như sau:
    Em sử dụng các nút bấm để hiển thị các dòng chữ trên LCD khác nhau. Tuy nhiên, nếu dòng chữ sau mà có ít ký tự hơn dòng chữ trước đó thì các chữ ở phía sau ko mất đi được.
    Các bác chỉ các khắc phục cho em với.
    Code và file mô phỏng đây ah.
    http://www.mediafire.com/?j8zhzun31eszl1e
    Mua bán thiết bị điện công nghiệp tại Hà Nội, toàn quốc.
    http://diencongnghiep360.com/
    http://tudienhathe.vn/


  • #2
    Hi!! Nghe qua thì có vẻ như vấn đề là do bạn chưa xóa ký tự trên LCD rồi mới ghi lại giá trị mới nên mới bị vậy...
    Bạn thử coi lại xem... chúc thành công

    Comment


    • #3
      cái này không cần phải dùng lệnh xóa sẽ làm cho LCD bị nháy. nếu dòng sau ít ký tự hơn thì bạn chèn thêm các ký tự trắng vào đằng sau hoặc đằng trước dòng cần hiển thị. ví dụ bạn muốn in lên LCD dòng " VI DIEU KHIEN" thì thay vì bạn viết như thế mà bạn hãy viết " VI DIEU KHIEN ". viết như vậy thì những phần nào không dùng đến sẽ bị chèn bằng ký tự trắng. trường hợp không chèn như vậy thì dùng lệnh xóa màn hình: lcd_clear(); (nếu dùng codewinavr) hoặc viết lệnh 0x01 vào lcd nếu như không dùng codewinavr.
      Never forget who you are!

      Comment


      • #4
        Cũng không hẳn thế,lệnh xóa chỉ nháy nếu nó đặt trong vòng while(1) thôi.Vì vậy cứ đặt nó ngay trước while là ok!

        Comment


        • #5
          Nguyên văn bởi vietthanh123 Xem bài viết
          Chào các bác. Em dùng codevision để lập trình. Em mắc phải vấn đề cần mọi người giúp như sau:
          Em sử dụng các nút bấm để hiển thị các dòng chữ trên LCD khác nhau. Tuy nhiên, nếu dòng chữ sau mà có ít ký tự hơn dòng chữ trước đó thì các chữ ở phía sau ko mất đi được.
          Các bác chỉ các khắc phục cho em với.
          Code và file mô phỏng đây ah.
          http://www.mediafire.com/?j8zhzun31eszl1e
          Về vấn đề này bạn có thể làm theo cách sau những ký tự bạn cần hiển thị thêm vào đó là ký tự trống" " để LCD tự ghi đè lên những ký tự cũ mà không cần xóa.
          Ví dụ lệnh lcd_putsf("dientuvietnam"), sau đó bạn lại muốn hển thị từ"hello" thì chỉ cần viết lcd_putsf("hello "), thì sau đó không còn ký tự của dòng trước nữa.Chúc vui!

          :

          Comment


          • #6
            Các bạn ở trên nói chuẩn rồi đấy, có 2 cách, một là dùng lệnh xóa rồi hiện thị dòng mới, 2 là dùng kí tự trống để chèn, số kí tự trống cần tối thiểu =| hiệu độ dài 2 dòng chữ|. Chúc bạn thành công.
            Đối với Tôi Đam mê là yếu tố không thể thiếu để quyết định sự Thành Công ...!
            Gmail: -Mobile: 0989.194.472

            Comment


            • #7
              uhm. Cảm ơn mọi người đã giúp đỡ.
              Mua bán thiết bị điện công nghiệp tại Hà Nội, toàn quốc.
              http://diencongnghiep360.com/
              http://tudienhathe.vn/

              Comment

              Về tác giả

              Collapse

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

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

              Collapse

              Đang tải...
              X