การทดลองที่ 4 LCD 16×2

การทดลองนี้เราจะเขียนโปรแกรมไปแสดงผลที่หน้าจอ LCD แบบ 16 ตัวอักษร 2 บรรทัด ทำการติดต่อแบบ 8 บิต ปกติแล้วการแสดงผลเราจะนิยมอยู่ 2 วิธี คือใช้ 7 Segment กับ, LCD ซึ่งจะมีข้อดีข้อเสียต่างกันอยู่ อย่าง 7 Segment จะมองเห็นในที่มืดได้ดีมีความคมชัดกว่า LCD แต่ก็กินไฟมากกว่า ส่วนการแสดงผลของ 7 Segment ต้องมีการสแกน 7 Segment อยู่ตลอดเวลา ทำให้เสียเวลาในการประมวลผล แต่ถ้าเป็น LCD จะง่ายตรงที่ LCD มี module ในตัวอยู่แล้ว เราเขียนข้อมูลไปครั้งเดียว ตัว LCD module จะจัดการ สแกน display ให้ ทำให้ง่ายต่อการเขียนโปรแกรม

จากข้อดีข้อเสียเราก็เลือกให้เหมาะสมกับการใช้งานของเรา

ในการสั่งให้ LCD ทำงานต่างๆนั้น เราใช้วิธีเขียน command ส่งไปให้ตัว LCD เช่น

#define SHIFT_RIGHT_CMD lcd_command(0x1c) //คำสั่งให้ LCD เลื่อนไปทางขวา 1 ตัวอักษร
#define SHIFT_LEFT_CMD lcd_command(0×18) ??//คำสั่งให้ LCD เลื่อนไปทางซ้าย 1 ตัวอักษร
#define BLINK_CMD lcd_command(0x0f)???????????? //คำสั่งให้ LCD กระพริบ
#define CLR_CMD lcd_command(0×01)?????????????? //คำสั่ง CLEAR RAM

สำหรับข้อมูลทาง technical ของ LCD 16×2 สามารถ Download ได้ที่นี่ครับ

null

รูปที่ 1 วงจรที่ใช้ในการทดลอง

รูปที่ 2 บอร์ดที่ใช้ในการทดลอง

รูปที่ 3 การทดลอง

หลังจากที่ทำการต่อวงจรดังรูปแล้วให้ทำการจ่ายไฟให้ MCS-51 จะเห็นหน้าจอขึ้นดังรูปที่ 4

รูปที่ 4

จากนั้นจะขึ้นข้อความดังรูปที่ 5 และ 6 พร้อมกับเลื่อนไปทางขวาและซ้ายตามลำดับ

รูปที่ 5

รูปที่ 6

รูปที่ 7

Download Code การทดลองที่ 4