การติดต่อสื่อสารจอ LCD (Hitachi HD44780 LCD Controller Compatible)
HD44780 LCD controller คือไอซีควบคุม ที่ใช้ในการควบคุมจอแสดงผลแบบ dot matrix liquid crystal display หรือที่เรานิยมเรียกสั้นๆ ว่า LCD โดยเจ้าไอซี HD44780 ถูกพัฒนาโดยบริษัท Hitachi เพื่อใช้ในการแสดงผลตัวอักษรบนจอ LCD โดยเฉพาะ ซึ่งต่อมากลายเป็นที่นิยม และเป็นมาตรฐานในการเชื่อมต่อกับจอ LCD ที่ใช้ชิพ HD44780 นี้เป็นตัวควบคุม
จอ LCD นี้ จะแสดงผลเป็นตัวหนังสือ แบบสีเดียว โดยมักถูกนำไปใช้กับเครื่องต่างๆ ไม่ว่าจะเป็นเครื่องถ่ายเอกสาร แฟกซ์ เครื่องรับโทรศัพท์ หรือ เครื่องปริ้นท์เตอร์ต่างๆ หรือตามเครื่องมืออุตสาหกรรมต่างๆ มีหลายขนาดให้เลือก เช่น แบบ 8x1 หมายถึงแสดงผลได้สูงสุด 8 อักษร จำนวน 1 บรรทัด หรือแบบ 16x2 , 20x2 และแบบ 20x4 เป็นต้น ขนาดใหญ่สุดอาจจะมากถึง 40 ถึง 80 ตัวอักษรต่อบรรทัดเลยก็ได้
ตำแหน่งขา ของ LCD ชนิดไม่เกิน 80 ตัวอักษร ขาที่ 1 Vss ต่อกับกราวด์ ขาที่ 2 Vccต่อกับไฟเลี้ยง 2.7V ถึง 5.5V ขาที่ 3 Vo ต่อกับตัวต้านทานปรับค่าได้ 10k โอห์ม ขาที่ 4 RS Register Select ขาที่ 5 R/W Read/Write ขาที่ 6 E Enable ใช้สัญญาณ Pulse ขอบขาลงในการทริก ขาที่ 7 ข้อมูลตำแหน่งบิต 0 (ถ้าส่งข้อมูลแบบ 4 บิต ไม่ต้องต่อขานี้) ขาที่ 8 ข้อมูลตำแหน่งบิต 1 (ถ้าส่งข้อมูลแบบ 4 บิต ไม่ต้องต่อขานี้) ขาที่ 9 ข้อมูลตำแหน่งบิต 2 (ถ้าส่งข้อมูลแบบ 4 บิต ไม่ต้องต่อขานี้) ขาที่ 10 ข้อมูลตำแหน่งบิต 3 (ถ้าส่งข้อมูลแบบ 4 บิต ไม่ต้องต่อขานี้) ขาที่ 11 ข้อมูลตำแหน่งบิต 4 ขาที่ 12 ข้อมูลตำแหน่งบิต 5 ขาที่ 13 ข้อมูลตำแหน่งบิต 6 ขาที่ 14 ข้อมูลตำแหน่งบิต 7 / busy flag ขาที่ 15 ขั้วหลอด LED ขา Anode ต่อกับแรงดันบวกไม่เกินแรงดันคร่อมหลอด LED ขาที่ 16 ขั้วหลอด LED ขา Cathod ต่อกับกราวด์ |
ขาที่ 1 Vss ต่อกับ Ground ,ขาที่ 2 Vcc ต่อกับ ไฟเลี้ยงกระแสตรงไม่เกิน 5.5V
ขาที่ 3 Vo
ทำหน้าที่ปรับความสว่างของตัวหนังสือที่ปรากฏบนจอ LCD โดยจะใช้แรงดันที่ได้จากการแบ่งแรงดัน (Voltage divider) จากความต้านทาน R10k ในการปรับความสว่างของตัวหนังสือ
ขาที่ 4 RS Register Select
ทำหน้าที่บอก LCD controller ว่าข้อมูลที่จะส่งไป เป็นข้อมูลประเภทคำสั่ง หรือข้อมูลที่เป็นดาต้า
ขาที่ 5 Read/Write (เขียนข้อมูล R/W = 0 , อ่านข้อมูล R/W = 1)
ทำหน้าที่ในกำหนดว่าจะอ่าน หรือจะเขียนข้อมูลลงไปบน LCD หรือจะอ่านข้อมูลที่อยู่ใน LCD ออกมา โดยทั่วไปแล้ว เรามักจะเขียนข้อมูลลงไปแสดงผล มากกว่าที่จะอ่านข้อมูลจากจอ LCD กลับมา ดังนั้นแล้ว เราสามารถที่จะต่อขาที่ 5 กับกราวด์ได้ เพื่อประหยัดขาไมโครคอนโทรลเลอร์ที่จะต่อกับจอ LCD
ขาที่ 6 Enable (EN)
ขานี้ทำหน้าที่ในการสั่งให้ LCD อ่านข้อมูลจากขา RS และขาที่ 7 ถึงขาที่ 14 เข้าไปประมวลผลใน LCD controller โดยจะใช้ขอบสัญญาณขาลง ของ Pulse ในการทริกที่ขาที่ 6 Enable (EN)
ตั้งแต่ขาที่ 7 ถึงขาที่ 14 เป็นช่องทางการรับส่งข้อมูล โดยเราสามารถเลือกที่จะส่งข้อมูลคราวละ 8 บิต โดยใช้ทั้งหมด 8 ขา ในการส่งแต่ละครั้ง หรือจะเลือกส่งแบบคราวละ 4 บิต แต่ต้องส่งสองครั้งต่อข้อมูลก็ได้ ซึ่งข้อดีของการส่งคราวละ 4 บิต คือประหยัดขาไมโคร
คอนโทรลเลอร์ที่จะต่อกับ LCD
โดยในการส่งคราวละ 4 บิต เราจะใช้ขาตั้งแต่ ขา 11 ถึงขาที่ 14 ส่วนขาที่ 7 ถึงขาที่ 10 เราจะปล่อยลอยไว้หรือต่อลงกราวด์ก็ได้
ส่วนขาที่ 15, 16 สำหรับต่อไฟเลี้ยงให้หลอด LED Backlight ที่ทำให้จอสว่างขึ้น เพื่อการมองเห็นในที่มืด
รูปแบบการต่อใช้งาน
รูปแสดงการต่อใช้งานแบบ 8 บิต
รูปแสดงการต่อใช้งานแบบ 4 บิต
Coming soon...
HD44780U based instruction set
nstruction | Code | Description | Execution time (max) (when fcp = 270 kHz) | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
RS | R/W | B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 | |||
Clear display | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | Clears display and returns cursor to the home position (address 0). | 1.52 ms |
Cursor home | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | * | Returns cursor to home position. Also returns display being shifted to the original position. DDRAM content remains unchanged. | 1.52 ms |
Entry mode set | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | I/D | S | Sets cursor move direction (I/D); specifies to shift the display (S). These operations are performed during data read/write. | 37 μs |
Display on/off control | 0 | 0 | 0 | 0 | 0 | 0 | 1 | D | C | B | Sets on/off of all display (D), cursor on/off (C), and blink of cursor position character (B). | 37 μs |
Cursor/display shift | 0 | 0 | 0 | 0 | 0 | 1 | S/C | R/L | * | * | Sets cursor-move or display-shift (S/C), shift direction (R/L). DDRAM content remains unchanged. | 37 μs |
Function set | 0 | 0 | 0 | 0 | 1 | DL | N | F | * | * | Sets interface data length (DL), number of display line (N), and character font (F). | 37 μs |
Set CGRAM address | 0 | 0 | 0 | 1 | CGRAM address | Sets the CGRAM address. CGRAM data are sent and received after this setting. | 37 μs | |||||
Set DDRAM address | 0 | 0 | 1 | DDRAM address | Sets the DDRAM address. DDRAM data are sent and received after this setting. | 37 μs | ||||||
Read busy flag & address counter | 0 | 1 | BF | CGRAM/DDRAM address | Reads busy flag (BF) indicating internal operation being performed and reads CGRAM or DDRAM address counter contents (depending on previous instruction). | 0 μs | ||||||
Write CGRAM or DDRAM | 1 | 0 | Write Data | Write data to CGRAM or DDRAM. | 37 μs | |||||||
Read from CG/DDRAM | 1 | 1 | Read Data | Read data from CGRAM or DDRAM. | 37 μs | |||||||
Instruction bit names — I/D - 0 = decrement cursor position, 1 = increment cursor position; S - 0 = no display shift, 1 = display shift; D - 0 = display off, 1 = display on; C - 0 = cursor off, 1 = cursor on; B - 0 = cursor blink off, 1 = cursor blink on ;S/C - 0 = move cursor, 1 = shift display; R/L - 0 = shift left, 1 = shift right; DL - 0 = 4-bit interface, 1 = 8-bit interface; N - 0 = 1/8 or 1/11 duty (1 line), 1 = 1/16 duty (2 lines); F - 0 = 5×8 dots, 1 = 5×10 dots; BF - 0 = can accept instruction, 1 = internal operation in progress. |
ดาวน์โหลดดาต้าชีท HD44780