16 × 2 LCDมีชื่อเช่นนี้เพราะ; มี 16 คอลัมน์และ 2 แถว มีชุดค่าผสมมากมายเช่น 8 × 1, 8 × 2, 10 × 2, 16 × 1 เป็นต้น แต่แบบที่ใช้กันมากที่สุดคือจอ LCD 16 * 2 ดังนั้นเราจึงใช้ที่นี่
หน้าจอ LCD ที่กล่าวถึงข้างต้นทั้งหมดจะมี 16 พินและวิธีการเขียนโปรแกรมก็เหมือนกันดังนั้นคุณจึงเหลือทางเลือกให้คุณ ด้านล่างนี้เป็นคำอธิบาย Pinout และ Pin ของโมดูล LCD 16x2:
ซีเนียร์ไม่มี |
หมายเลขพิน |
ชื่อพิน |
ประเภทพิน |
คำอธิบายพิน |
การเชื่อมต่อพิน |
1 |
พิน 1 |
พื้น |
แหล่งที่มาของพิน |
นี่คือขากราวด์ของ LCD |
เชื่อมต่อกับกราวด์ของ MCU / แหล่งจ่ายไฟ |
2 |
พิน 2 |
VCC |
แหล่งที่มาของพิน |
นี่คือพินแรงดันไฟฟ้าของ LCD |
เชื่อมต่อกับขาจ่ายของแหล่งจ่ายไฟ |
3 |
พิน 3 |
V0 / VEE |
พินควบคุม |
ปรับความคมชัดของ LCD |
เชื่อมต่อกับตัวแปร POT ที่สามารถจ่าย 0-5V ได้ |
4 |
พิน 4 |
ลงทะเบียนเลือก |
พินควบคุม |
สลับระหว่าง Command / Data Register |
เชื่อมต่อกับขา MCU และได้รับ 0 หรือ 1 0 -> โหมดคำสั่ง 1-> โหมดข้อมูล |
5 |
พิน 5 |
อ่านเขียน |
พินควบคุม |
สลับ LCD ระหว่างการอ่าน / เขียน |
เชื่อมต่อกับขา MCU และได้รับ 0 หรือ 1 0 -> เขียนการทำงาน 1-> อ่านการทำงาน |
6 |
พิน 6 |
เปิดใช้งาน |
พินควบคุม |
ต้องอยู่ในระดับสูงเพื่อดำเนินการอ่าน / เขียน |
เชื่อมต่อกับ MCU และถือไว้สูงเสมอ |
7 |
พิน 7-14 |
บิตข้อมูล (0-7) |
ข้อมูล / พินคำสั่ง |
หมุดที่ใช้ในการส่งคำสั่งหรือข้อมูลไปยัง LCD |
ในโหมด 4 สาย เชื่อมต่อกับ MCU เพียง 4 พิน (0-3) ในโหมด 8 สาย ทั้ง 8 พิน (0-7) เชื่อมต่อกับ MCU |
8 |
พิน 15 |
LED เป็นบวก |
ขา LED |
LED ปกติเหมือนการทำงานเพื่อให้ LCD สว่างขึ้น |
เชื่อมต่อกับ + 5V |
9 |
ขา 16 |
LED เชิงลบ |
ขา LED |
LED ปกติเหมือนการทำงานเพื่อให้ LCD สว่างขึ้นที่เชื่อมต่อกับ GND |
เชื่อมต่อกับพื้นดิน |
ไม่เป็นไรหากคุณไม่เข้าใจการทำงานของหมุดทั้งหมดฉันจะอธิบายรายละเอียดด้านล่าง ตอนนี้ให้เราย้อนกลับ LCD ของเรา:
วงกลมสีดำเหล่านี้ประกอบด้วย IC อินเทอร์เฟซและส่วนประกอบที่เกี่ยวข้องเพื่อช่วยให้เราใช้ LCD นี้กับ MCU เนื่องจาก LCD ของเราเป็น LCD แบบ 16 * 2 Dot matrix ดังนั้นจึงมี (16 * 2 = 32) ทั้งหมด 32 ตัวอักษรและแต่ละตัวจะประกอบด้วยจุดพิกเซล 5 * 8 พิกเซล อักขระเดี่ยวที่เปิดใช้งานพิกเซลทั้งหมดจะแสดงในภาพด้านล่าง
ตอนนี้เรารู้แล้วว่าตัวละครแต่ละตัวมี (5 * 8 = 40) 40 พิกเซลและสำหรับ 32 ตัวอักษรเราจะมี (32 * 40) 1280 พิกเซล นอกจากนี้ LCD ควรได้รับคำแนะนำเกี่ยวกับตำแหน่งของพิกเซลด้วย
มันจะเป็นงานที่ยุ่งยากในการจัดการทุกอย่างด้วยความช่วยเหลือของ MCU ดังนั้นจึงใช้อินเทอร์เฟซ IC เช่น HD44780ซึ่งติดตั้งบนโมดูล LCD เอง ฟังก์ชันของ IC นี้คือรับคำสั่งและข้อมูลจาก MCU และประมวลผลเพื่อแสดงข้อมูลที่มีความหมายบนหน้าจอ LCD ของเรา
มาดูประเภทของโหมดและตัวเลือกต่างๆที่มีอยู่ใน LCD ของเราที่ต้องควบคุมโดยพินควบคุมของเรา
โหมด 4 บิตและ 8 บิตของ LCD:
LCD สามารถทำงานในสองโหมดที่แตกต่างกันคือโหมด 4 บิตและโหมด 8 บิต ในโหมด 4 บิตเราจะส่งข้อมูลโดยการแทะแทะบนก่อนแล้วแทะล่าง สำหรับพวกคุณที่ไม่รู้ว่าแทะคืออะไร: แทะคือกลุ่มของสี่บิตดังนั้นสี่บิตล่าง (D0-D3) ของไบต์จะสร้างการแทะที่ต่ำกว่าในขณะที่สี่บิตบน (D4-D7) ของไบต์ในรูปแบบการแทะที่สูงขึ้น สิ่งนี้ทำให้เราสามารถส่งข้อมูล 8 บิต
ในขณะที่ในโหมด 8 บิตเราสามารถส่งข้อมูล 8 บิตได้โดยตรงในจังหวะเดียวเนื่องจากเราใช้ข้อมูลทั้งหมด 8 บรรทัด
ตอนนี้คุณต้องเดาแล้วใช่โหมด 8 บิตเร็วกว่าและไร้ที่ติกว่าโหมด 4 บิต แต่อุปสรรคสำคัญคือต้องใช้สายข้อมูล 8 เส้นที่เชื่อมต่อกับไมโครคอนโทรลเลอร์ สิ่งนี้จะทำให้เราใช้พิน I / O ใน MCU ของเราหมดดังนั้นโหมด 4 บิตจึงถูกใช้กันอย่างแพร่หลาย ไม่มีการใช้หมุดควบคุมเพื่อตั้งค่าโหมดเหล่านี้ มันเป็นเพียงวิธีการเขียนโปรแกรมที่เปลี่ยนไป
โหมดอ่านและเขียนของ LCD:
ดังที่กล่าวไว้ว่า LCD นั้นประกอบด้วยอินเทอร์เฟซ IC MCU สามารถอ่านหรือเขียนไปยัง IC อินเทอร์เฟซนี้ได้ เวลาส่วนใหญ่เราจะเขียนถึง IC เท่านั้นเนื่องจากการอ่านจะทำให้ซับซ้อนมากขึ้นและสถานการณ์เช่นนี้หายากมาก ข้อมูลเช่นตำแหน่งของเคอร์เซอร์การขัดจังหวะการทำให้สมบูรณ์ของสถานะ ฯลฯ สามารถอ่านได้หากจำเป็น แต่จะอยู่นอกขอบเขตของบทช่วยสอนนี้
อินเทอร์เฟซ IC ที่มีอยู่ใน LCD ส่วนใหญ่คือHD44780Uเพื่อที่จะตั้งโปรแกรม LCD ของเราเราควรเรียนรู้แผ่นข้อมูลที่สมบูรณ์ของ IC เอกสารข้อมูลได้รับที่นี่
คำสั่ง LCD:
มีคำสั่งล่วงหน้าบางคำสั่งใน LCD ซึ่งเราจำเป็นต้องส่งไปยัง LCD ผ่านไมโครคอนโทรลเลอร์บางตัว คำสั่งคำสั่งที่สำคัญมีให้ด้านล่าง:
รหัส Hex |
Command to LCD Instruction Register |
0F |
เปิด LCD เคอร์เซอร์เปิด |
01 |
หน้าจอแสดงผลชัดเจน |
02 |
กลับบ้าน |
04 |
ลดเคอร์เซอร์ (เลื่อนเคอร์เซอร์ไปทางซ้าย) |
06 |
เคอร์เซอร์ที่เพิ่มขึ้น (เลื่อนเคอร์เซอร์ไปทางขวา) |
05 |
เลื่อนแสดงไปทางขวา |
07 |
เลื่อนหน้าจอไปทางซ้าย |
0E |
แสดงเปิดเคอร์เซอร์กะพริบ |
80 |
บังคับให้เคอร์เซอร์ไปที่จุดเริ่มต้นของบรรทัดแรก |
C0 |
บังคับให้เคอร์เซอร์ไปที่จุดเริ่มต้นของบรรทัดที่สอง |
38 |
2 บรรทัดและ 5 × 7 เมทริกซ์ |
83 |
บรรทัดเคอร์เซอร์ 1 ตำแหน่ง 3 |
3C |
เปิดใช้งานบรรทัดที่สอง |
08 |
แสดงปิดเคอร์เซอร์ปิด |
C1 |
ข้ามไปที่บรรทัดที่สองตำแหน่งที่ 1 |
OC |
แสดงเปิดเคอร์เซอร์ปิด |
C1 |
ข้ามไปที่บรรทัดที่สองตำแหน่งที่ 1 |
C2 |
ข้ามไปที่บรรทัดที่สองตำแหน่งที่ 2 |
ตรวจสอบบทความการเชื่อมต่อ LCD ของเรากับไมโครคอนโทรลเลอร์ต่างๆ:
- การเชื่อมต่อ LCD กับไมโครคอนโทรลเลอร์ 8051
- การเชื่อมต่อ LCD กับไมโครคอนโทรลเลอร์ ATmega32
- การเชื่อมต่อ LCD กับไมโครคอนโทรลเลอร์ PIC
- การเชื่อมต่อ LCD 16x2 กับ Arduino
- 16x2 LCD เชื่อมต่อกับ Raspberry Pi โดยใช้ Python