การเชื่อมต่อ LCD ขนาด 2x16 กับ PIC16F877

หลักการทำงานของโปรแกรม

ในที่นี้ผมจะไม่อธิบายว่า LCD ทำงานอย่างไรต้องส่งคำสั่งอย่างไร เพราะว่าถึงแม้จะเข้าใจก็จริงแต่พอเขียนโปรแกรมจริงๆ แล้วกลับไม่ทำงานปวดหัวปล่าวๆครับ สู้เอาโปรแกรมไปใช้เลยดีกว่าครับ แล้วมาทำความเข้าใจกับ code ว่า ต้องส่งคำสั่งให้ LCD อย่างไรบ้าง แล้วนำ code ที่ผมเขียนไปดัดแปลงแก้ไขใน style ของแต่ละคน ผมว่าน่าจะดีกว่านะครับ ส่วนว่า LCD ทำงานอย่างไรและคู่มือหาอ่านได้ที่ไหนผมจะทำ Link ไว้ให้ในท้ายบทความนี้นะครับ

ในการเชื่อมต่อครั้งนี้ผมจะทดลองด้วย MPLAB-ICD โดยใช้ PIC16F877 เป็น microcontroller โดยหลักการเขียนโปรแกรมจะเป็นดังนี้

    1. เมื่อ Power up เกิดขึ้น ให้โปรแกรมทำการ Initialize port และ timer
    2. Initialize LCD ให้อยู่ในโหมด
      • เชื่อมต่อ data แบบ 8 บิต
      • แสดงผล LCD แบบ 2 บรรทัด ตัวหนังสือขนาด 5x7
      • ไม่แสดง cursor พร้อมทั้ง set cursor ให้อยู่ในตำแหน่งเริ่มต้น
    3. หลังจากทำการ Initialize เรียบร้อยแล้ว ให้เขียนตัวหนังสือลงใน memory ของ LCD เพื่อแสดงผล โดยจะเขียนคำว่า “Hitachi,HD-44780” ในบรรทัดที่ 1 และ "Test by PIC-ICD " ในบรรทัดที่ 2
    4. ทำการวน Loop แบบไม่รู้จบ

คราวนี้ก็เริ่มเลยนะครับ

  1. วาดวงจรก่อนนะครับ ที่ผมถนัดก็จะเป็น ORCAD ครับ
  2. ทำการประกอบวงจรเลยนะครับ อันนี้ผมใช้ MPLAB-ICD CLONE ครับ
  3.  

  4. จากนั้นก็ทำการสร้าง project พร้อมทั้งเขียนโปรแกรม ( Project source code download ได้จาก web site ของผมครับ )
  5. หลังจากเขียนและแก้ไขอยู่ซักพักก็ใช้งานได้แล้วครับ นี่เป็นผลการทดสอบครับ
  6.  

  7. บทสรุป

LCD ถือว่าเป็นเครื่องมือพื้นฐานที่ใช้กันมากในงาน Embedded การมี code เก็บไว้กับมือแล้วสามารถนำเอาออกมาใช้ ้โดยไม่ต้องเขียนใหม่นับว่าจะช่วยประหยัดเวลาการทำงานได้มากเลยทีเดียวครับ

ข้อมูลเพิ่มเติมหาอ่านได้ที่นี่เลยครับละเอียดดีมาก เหมาะกับการ Add ไว้เป็น favorite

http://home.iae.nl/users/pouweha/lcd/lcd.shtml

http://www.eio.com/lcdintro.htm

ส่วน data sheet ของ LCD สามารถ load ได้ในส่วน downloads

ส่วน source code สามารถ load ได้ในส่วน free pic source codes ครับ

 

BACK