ESEN ให้บริการหลากหลายแบบแบบมาตรฐานของโมดูล LCD สําหรับการใช้งานของลูกค้า คุณสามารถบรรลุการแสดงด้วยจํานวนขั้นต่ําของปินการควบคุม, ทําให้มันง่ายที่จะเลือก MCU.
โมดูล LCD ตัวอักษรทั่วไปในตลาดจะเพิ่มบอร์ดโอนเพื่อสนับสนุนอินเตอร์เฟซ I2C ดังที่ภาพ 1 แสดง ซึ่งนําไปสู่การเพิ่มความหนาของ LCMขั้นตอนการผลิตที่มากขึ้น และอัตราการผลิตที่ต่ํากว่า.
| รูปที่ 1:โมดูล LCD ตัวอักษรทั่วไปในตลาดที่เพิ่มบอร์ดโอนเพื่อรองรับ I2C | ภาพ 2: 1602 ตัวอักษร โมดูลคริสตัลเหลวของ ESEN มันรองรับอินเตอร์เฟซ I2C และ SPI และไม่ต้องการบอร์ดส่งเพิ่มเติม |
คุณไม่จําเป็นต้องเพิ่มบอร์ดรีเล่ เพียงแค่เชื่อมต่อบอร์ดพัฒนา Arduino Uno และคุณสามารถควบคุมโมดูล LCD ตัวอักษรโดยตรง
การระบุ pin ของ LCM
ตารางที่ 1:กําหนด pin LCM
| พิน เลข | สัญลักษณ์ | คําอธิบาย |
|---|---|---|
| ไม่ ไม่1 | Vss | ดิน |
| ไม่ ไม่2 | Vdd | พลังงานพลังงานสําหรับโลจิก |
| ไม่ ไม่3 | V0 | การปรับความแตกต่าง |
| ไม่ ไม่4 | RS | การเลือกคําสั่ง/ข้อมูล |
| ไม่ ไม่5 | RW | อ่าน/เขียน สัญญาณเลือกสําหรับอินเตอร์เฟซ 6800 8/4 บิตเท่านั้น |
| ไม่ ไม่6 | E | เปิดสัญญาณสําหรับอินเตอร์เฟซ 6800 8/4bit เท่านั้น |
| ไม่ ไม่7 | DB0/SA0 | สายรถไฟ 0 เพียงสําหรับอินเตอร์เฟซ 8 บิต 6800 สายการตั้งค่าที่อยู่ SA0 สําหรับอินเตอร์เฟซ I2C |
| ไม่ ไม่8 | DB1/SA1 | เส้นทางบัสข้อมูล 1 สําหรับอินเตอร์เฟซ 8 บิต 6800 เท่านั้น สายการตั้งค่าที่อยู่ SA1 สําหรับอินเตอร์เฟซ I2C |
| ไม่ ไม่9 | DB2 | เส้นทางบัสข้อมูล 2 สําหรับอินเตอร์เฟซ 8 บิต 6800 เท่านั้น |
| ไม่ ไม่10 | DB3 | เส้นทางบัสข้อมูล 3 สําหรับอินเตอร์เฟซ 8 บิต 6800 เท่านั้น |
| ไม่ ไม่11 | DB4 | เส้นทางบัสข้อมูล 4 สําหรับ 6800 8/4bit only interface |
| ไม่ ไม่12 | DB5/CSB/CSB | เส้นทางบัสข้อมูล 5 สําหรับ 6800 อินเตอร์เฟซ 8/4 บิต เท่านั้น CSB เอนกประสงค์เส้นการเลือกสําหรับอินเตอร์เฟซ I2C & SPI |
| ไม่ ไม่13 | DB6/SDA/SCLK | เส้นทางบัสข้อมูล 6 สําหรับ 6800 อินเตอร์เฟซ 8/4 บิต เท่านั้น สายข้อมูล SDA สําหรับอินเตอร์เฟซ I2C การกําหนดเวลา SCLK สําหรับ SP Interface |
| ไม่ ไม่14 | DB7/SCL/SID | สายบัสข้อมูล 7 สําหรับ 6800 8/4bit only interface เส้นเวลา SCL สําหรับอินเตอร์เฟซ I2C สายข้อมูล SID สําหรับอินเตอร์เฟซ SPI |
| ไม่ ไม่15 | A+ | พลังงานไฟฟ้าสําหรับ B/L + |
| ไม่ ไม่16 | ค- | พลังงานไฟฟ้าสําหรับ B/L - |
ในส่วนของ V0 ในตารางด้านบน, เครื่องต่อรองแปร 20k Ohm ใช้ในการปรับความแตกต่างของตัวอักษร หากข้อความไม่เห็นหรือยังคงแสดงภาพเบื้องหลังระหว่างการทดสอบกรุณาเปลี่ยนตัวต่อรองตัวแปรนี้ เพื่อปรับความแตกต่าง.
วิธีการเชื่อมต่อของตัวต่อรองแปร V0 ดังที่แสดงในรูป 3:
| รูปที่ 3:วิธีการเชื่อมต่อตัวต่อรองแปร V0 |
วิธีเชื่อม LCM และพานพัฒนา Arduino Uno
วิธีการเชื่อมต่อของ 4 อินเตอร์เฟซการสื่อสาร LCM (I2C, SPI, 6800 8bit/4bit) กับ Arduino Uno ตามที่แสดงในรูป 4ผู้ใช้สามารถสังเกตได้ว่า อินเตอร์เฟซ I2C และ SPI ต้องการเพียงจํานวนเล็ก ๆ ของปิน GPIO สําหรับการควบคุมโมดูล LCD ตัวอักษร.
สําหรับอินเตอร์เฟซ I2C เนื่องจาก Arduino Uno ให้ความต้านทานการดึงในปิน I2C ไม่มีความต้านทานการดึงเพิ่มเติมที่เชื่อมต่อกับปิน SDA และ SCLหากตัวต่อต้านการดึงภายในถูกปิดในโปรแกรม, ต้องเชื่อมต่อตัวต่อต้านการดึงภายนอก
| (a)การเชื่อมต่ออินเตอร์เฟซ I2C | (b)การเชื่อมต่ออินเตอร์เฟซ SPI |
| (c)การเชื่อมต่ออินเตอร์เฟซ 6800-4 บิต | (d)การเชื่อมต่ออินเตอร์เฟซ 6800-8 บิต |
| รูปที่ 4:วิธีการเชื่อมต่อ 4 อินเตอร์เฟซการสื่อสาร LCM กับ Arduino Uno | |
คําสั่ง LCM
ไม่ใช่ทุกอินเตอร์เฟซการสื่อสารสามารถใช้ชุดคําสั่งเต็มของ LCM; กับอินเตอร์เฟส SPI, ไม่มีเส้นควบคุม RW และปิน MISO, ดังนั้นคําสั่งอ่านไม่ได้สนับสนุน. สําหรับการเขียน,ผ่านสายควบคุม RS เพื่อกําหนดว่าจะเขียนข้อมูลคําสั่งหรือแสดงข้อมูล.
ในอินเตอร์เฟซ I2C ยังไม่มีเส้นควบคุม RW ดังนั้นยังไม่มีการสนับสนุนสําหรับคําสั่งการอ่านเช่นกัน ก่อนการเขียนข้อมูลคําสั่งหรือการแสดงข้อมูลรหัสควบคุมคําสั่ง (A0=0) หรือรหัสควบคุมข้อมูล (A0=1) ต้องส่งเพื่อกําหนดว่า ไบท์ต่อไปที่จะส่งคือข้อมูลคําสั่งหรือข้อมูลแสดง.
การกําหนดเวลาของ SPI และ I2C Interface
ภาพที่ 5 และภาพที่ 6 แสดงถึงแผนภูมิเวลาสองรูป เป็นแผนภูมิเวลาในการควบคุม LCM ผ่านอินเตอร์เฟซ SPIผู้ใช้สามารถสังเกตได้ว่า LCM ใช้ SPI ที่ไม่ใช่การใช้ SPI อินเตอร์เฟซที่เป็นปกติที่ให้โดย MCU แบบปกติ, มันต้องการสายสัญญาณ RS เพิ่มเติม เพื่อกําหนดว่า ไบท์ที่กําลังส่งอยู่ตอนนี้ เป็นคําสั่งหรือข้อมูลข้อมูลบิต (BIT7 ~ BIT0) ของเส้นข้อมูล (SID) เปลี่ยนแปลงเมื่อเส้นเวลา (SCLK) อยู่ในระดับต่ําข้อมูลบิต (BIT7~BIT0) จะถูกบันทึกเมื่อเส้นนาฬิกา (SCLK) เป็นระดับสูง (BIT7~BIT0)
| รูปที่ 5:การกําหนดเวลาของคําสั่งการเขียน SPI |
| รูปที่ 6:เวลาในการเขียนข้อมูล SPI |
รูปที่ 7 และ 8 แสดงแผนภูมิการควบคุม LCM ผ่านอินเตอร์เฟซ I2C ยกเว้นบาร์เลือกชิป (CSB)ผู้อ่านสามารถสังเกตได้ว่า การควบคุมอินเตอร์เฟซ I2C คือการส่งสามไบท์ทุกครั้งเพื่อเขียนข้อมูลคําสั่งหรือแสดงข้อมูลในหมู่พวกเขา บิต A0 ของไบท์ที่สองจะกําหนดว่าไบท์ที่สามเป็นข้อมูลคําสั่งหรือข้อมูลการแสดง
| รูปที่ 7:I2C การกําหนดเวลาในการเขียนคําสั่ง |
| รูปที่ 8:I2C เวลาในการเขียนข้อมูล |
รหัส
LCM สามารถรวบรวมและใช้โดยตรงโดยการปรับเปลี่ยนการตั้งค่าโปรแกรม
ขั้นตอนที่ 1: กําหนดจํานวนตัวอักษรสูงสุดในแถวเดียวของ LCM
ตัวอย่างเช่น ตัวอย่างต่อไปนี้ตั้งเส้นเดียวให้มีตัวอักษรสูงสุด 16 ตัว
![]()
ขั้นตอนที่ 2: กําหนดจํานวนเส้นสูงสุดใน LCM
ตัวอย่างเช่น, ด้านล่างตั้ง LCM ให้มี 2 เส้น
![]()
ขั้นตอนที่ 3: กําหนดอินเตอร์เฟซ LCM
ตัวอย่างเช่น กําหนดอินเตอร์เฟซ I2C ดังนี้
![]()
ขั้นตอนที่ 4: รวมและอัพโหลดโปรแกรมไปยังบอร์ดพัฒนา Arduino Uno
รูปที่ 9 แสดงแผนภูมิของจอของ 3 LCMs
เมื่อความแตกต่างในการแสดงคือแสงสว่างหรือมืด, resistor เปลี่ยนแปลงที่ pin V0 สามารถปรับให้กับความแตกต่างที่เหมาะสม, ดังที่แสดงในรูป 10.
| (a) ความแตกต่างของความสว่าง มีเพียงตัวอักษรที่สว่างเท่านั้นที่เห็นได้ | (ข) ความแตกต่างที่ถูกต้อง | (c) ความแตกต่างมืด ทุกตัวละครมีเงาที่ชัดเจน |
|---|---|---|
| รูปที่ 9:ภาพแผนภูมิของจอของ 3 LCM | ||
![]()
รูปที่ 10:ปิน V0 ปรับได้
หากคุณต้องการรหัส Demo เต็ม, กรุณาติดต่อเรา.
ผู้ติดต่อ: Mr. james
โทร: 13924613564
แฟกซ์: 86-0755-3693-4482