สารบัญ:
- ขั้นตอนที่ 1: ฮาร์ดแวร์
- ขั้นตอนที่ 2: การเชื่อมต่อ
- ขั้นตอนที่ 3: ขั้นตอนที่ 1. ตั้งค่าไลบรารี
- ขั้นตอนที่ 4: ขั้นตอนที่ 2. รีเซ็ตและเริ่มต้น
- ขั้นตอนที่ 5: ขั้นตอนที่ 3 เขียนอักขระทดสอบ
- ขั้นตอนที่ 6: ขั้นตอนที่ 4 ล้าง LCD
- ขั้นตอนที่ 7: ขั้นตอนที่ 5. พิมพ์ Text
- ขั้นตอนที่ 8: ขั้นตอนที่ 6 การอ่านจาก LCD
- ขั้นตอนที่ 9: ทำมากขึ้น
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
LCD ตัวอักษรราคาถูกที่ใช้ชิปเซ็ต HD44780 มีหลายขนาด: 2x16, 4x20 เป็นต้น จอแสดงผลเหล่านี้มีโหมดอินเทอร์เฟซมาตรฐานสองโหมด คือ 4 บิตและ 8 บิตแบบขนาน 8bit ต้องการทั้งหมด 11 สายข้อมูล 4bit ต้องการ 7 (6 สำหรับการเขียนเท่านั้น) LCD บางรุ่นรองรับโหมดข้อมูลซีเรียลเพิ่มเติม เช่น VFD I ที่ครอบคลุมใน Hack a Day โดยทั่วไปแล้ว HD44780 LCD จะเป็นชิ้นส่วน 5 โวลต์ที่มีแหล่งจ่ายไฟแยกต่างหากสำหรับไฟด้านหลัง Bus Pirate มีพิน I/O ที่ทนทานต่อ 5 โวลต์เท่านั้น ดังนั้นเราจึงสร้างบอร์ดอะแดปเตอร์ขนาดเล็กที่มีพินเพียงพอสำหรับควบคุม LCD Bus Pirate ควบคุมบอร์ดอะแดปเตอร์ผ่านไลบรารีอินเทอร์เฟซ LCD อ่านต่อไปเกี่ยวกับบอร์ดอะแดปเตอร์ LCD ตัวละคร Bus Pirate HD44780 และไลบรารีอินเทอร์เฟซ ฉันสามารถมี PCB, ชุดอุปกรณ์ หรือชุดประกอบที่ผลิตโดย Seeed Studio ได้ในราคาประมาณ $15 รวมค่าขนส่งทั่วโลก และอื่นๆ ที่นี่ ฉันไม่สามารถรวมองค์ประกอบการจัดรูปแบบและตาราง HTML ใน Instructable คุณสามารถดูโพสต์ต้นฉบับได้ที่ Dangerous Prototypes บล็อก
ขั้นตอนที่ 1: ฮาร์ดแวร์
ภาพรวมในบทความนี้ เราจะสรุปเกี่ยวกับบอร์ดอะแดปเตอร์ I2C สำหรับ LCD ที่ใช้ HD44780 เราสาธิตด้วยอินเทอร์เฟซอนุกรมสากลของ Bus Pirate ซอร์สโค้ด Bus Pirate สำหรับไลบรารีอินเทอร์เฟซ HD44780 ที่ใช้ I2C เป็นสาธารณสมบัติ ดังนั้นจึงสามารถปรับให้เข้ากับโปรเจ็กต์ของคุณเองได้ฟรี ฮาร์ดแวร์อิมเมจวงจรขนาดเต็ม [PNG] วงจรและ PCB ได้รับการออกแบบด้วย Cadsoft Eagle เวอร์ชันฟรี ไฟล์การออกแบบสามารถดาวน์โหลดได้จาก Bus Pirate SVN ก่อนใช้บอร์ดอะแดปเตอร์ ตรวจสอบให้แน่ใจว่าได้ตรวจสอบแผ่นข้อมูลสำหรับ LCD ของคุณกับพินอะแดปเตอร์ LCD ทั้งหมดไม่เหมือนกัน PCF8574 I/O expander IC นี่คือชิปขยาย 8 I/O แบบธรรมดาที่ควบคุมผ่านอินเทอร์เฟซ I2C แบบสองสาย อินเทอร์เฟซ I2C สามารถเข้าถึงได้จากส่วนหัว JP1 PCF8574 ทำงานได้ตั้งแต่ 2.5 ถึง 5 โวลต์ พิน I/O ทำงานที่แรงดันไฟฟ้า ดังนั้นหากเราป้อน 5 โวลต์ พินจะเชื่อมต่อ LCD ที่ 5 โวลต์ C1 (0.1uF) แยกไอซีออกจากความผันผวนของแหล่งจ่ายไฟ PCF8574 หนึ่งพินควบคุม LED 3 มม. (LED1) ผ่านตัวต้านทานจำกัดกระแส R2 (1000 โอห์ม) ไฟ LED แสดงการสื่อสารที่ประสบความสำเร็จระหว่าง Bus Pirate และอะแดปเตอร์ PCF8574 ไม่สามารถจ่ายกระแสไฟได้เพียงพอที่จะจ่ายไฟให้กับ LED ดังนั้นเราจึงจ่ายไฟ LED จากแหล่งจ่าย 5 โวลต์และเปลี่ยนกราวด์ LCD บอร์ดอะแดปเตอร์จะสื่อสารกับ LCD แบบอักขระที่ใช้ HD44780 ในโหมดอินเทอร์เฟซแบบขนาน 4 บิต พินอินเทอร์เฟซ 4 บิต - RS, RW, EN และ D4-D7 - เชื่อมต่อกับพิน PCF8574 I/O เจ็ดพิน เราชอบที่จะใช้หัวพินตัวผู้ขนาด 0.1" เพื่อเชื่อมต่ออะแดปเตอร์กับ LCD โดยปกติแล้ว คุณสามารถพิง LCD กับหมุดเพื่อสร้างหน้าสัมผัสที่เพียงพอสำหรับการทดสอบอย่างรวดเร็ว ตัวต้านทานทริมเมอร์ R1 (10K) ให้แรงดันปรับความคมชัดที่พิน 3 ของ ส่วนหัวของ LCD เราไม่ได้เชื่อมต่อหมุดแบ็คไลท์เพราะมีรูปแบบแบ็คไลท์ที่แตกต่างกันมากมาย การจ่ายไฟให้กับไฟแบ็คไลท์ LED อาจทำให้หน้าจอที่ต้องใช้แรงดันลบเสียหายได้ แหล่งจ่ายไฟ LCD ส่วนใหญ่ต้องใช้ไฟ 5 โวลต์ โดยให้แหล่งจ่ายไฟภายนอกผ่าน ส่วนหัว JP2 เราจัดเตรียมพินพาวเวอร์ซัพพลายตัวที่สองเพื่อเชื่อมต่อตัวต้านทานแบบดึงขึ้นของ Bus Pirate PCB วงจรและ PCB ได้รับการออกแบบด้วย Cadsoft Eagle เวอร์ชันฟรี ไฟล์การออกแบบสามารถดาวน์โหลดได้จาก Bus Pirate SVN PCB คือ แบบด้านเดียวแบบเจาะรูทั้งหมดด้วยสายจัมเปอร์เส้นเดียว (แสดงเป็นสีแดง) เราสามารถมี PCB, ชุดอุปกรณ์ หรือชุดประกอบที่ผลิตโดย Seeed Studio ได้ในราคาประมาณ $15 รวมค่าขนส่งทั่วโลก ดูรายละเอียดเพิ่มเติมได้ที่นี่ ทั้งหมด รูหยาบ) C10.1uF/10volts+R110000 (10K) ohm single-turn trimmer/potentiometer, 6mmR21000 (1K) ohm resistor, 1/4 wattLED13mm (T1) LED, redJP1+JP20.1" male header, 5 pinsIC1PCF8574N, 8bit I2C I/O expander DIP16ICS116 pin DIP socket สำหรับ IC1I ไม่สามารถรวมองค์ประกอบการจัดรูปแบบและตาราง HTML ใน Instructable คุณสามารถดูโพสต์ต้นฉบับได้ที่บล็อก Dangerous Prototypes
ขั้นตอนที่ 2: การเชื่อมต่อ
อุปกรณ์: LCD อักขระ HD44780 บัส: ขนาน 4 บิต พร้อมบอร์ดอะแดปเตอร์ PCF8574 I2C ข้อกำหนดด้านพลังงาน: 5volts. References:example datasheet [PDF], HD44780 command reference, HD44780 LCD uber-site. Complete Bus Pirate session log สำหรับการสาธิตนี้เรา ออกแบบอะแดปเตอร์สำหรับไลบรารี LCD ของอินเทอร์เฟซอนุกรมสากล Bus Pirate แต่จะใช้ได้กับทุกอย่างที่สามารถพูดโปรโตคอล I2C ได้ ดูซอร์สโค้ด Bus Pirate สำหรับตัวอย่างการใช้งาน I2C->HD44780 เชื่อมต่อ Bus Pirate กับบอร์ดอะแดปเตอร์ตามที่แสดงในตาราง ตารางนี้ยังแสดงการเชื่อมต่อแบบ raw กับ PCF8574 IC หากคุณติดตามโดยไม่มีบอร์ดอะแดปเตอร์เชื่อมต่ออะแดปเตอร์กับแหล่งจ่ายไฟที่เพียงพอสำหรับ LCD โดยทั่วไปคือ 5 โวลต์ การเชื่อมต่อ I2C ระหว่างอะแดปเตอร์และ Bus Pirate ต้องใช้ตัวต้านทานแบบดึงขึ้นระหว่าง 2 ถึง 10K ต่อไปนี้เป็นข้อมูลเพิ่มเติมเกี่ยวกับการเชื่อมต่อแรงดันไฟฟ้าผสมกับ pull-ups และตัวต้านทานแบบดึงขึ้นบน Bus Pirate ฉันไม่สามารถรวมองค์ประกอบการจัดรูปแบบและตาราง HTML ใน Instructable คุณสามารถดูโพสต์ต้นฉบับได้ที่บล็อก Dangerous Prototypes.
ขั้นตอนที่ 3: ขั้นตอนที่ 1. ตั้งค่าไลบรารี
การเชื่อมต่อ เราได้ครอบคลุมการออกแบบอะแดปเตอร์และวิธีเชื่อมต่อกับ Bus Pirate ตอนนี้ก็ถึงเวลาเขียนบางอย่างไปยัง LCD แล้ว HiZ>m <<
ขั้นตอนที่ 4: ขั้นตอนที่ 2. รีเซ็ตและเริ่มต้น
ตารางนี้สรุปคำสั่งแบบไบต์เดี่ยวที่ควบคุม HD44780 LCD ต่อไปนี้คือข้อมูลอ้างอิงโดยละเอียด คำสั่งเหล่านี้สามารถป้อนได้จากบรรทัดคำสั่ง Bus Pirate แต่เราได้สร้างมาโครสำหรับคำสั่งส่วนใหญ่เพื่อประหยัดเวลา LCD>(0) <<<แสดงเมนูมาโคร0.เมนูมาโคร <<<เมนูนี้1.รีเซ็ต LCD << <รีเซ็ต LCD2. Init LCD <<< รีเซ็ตและเริ่มต้น LCD3. Clear LCD <<< LCD ชัดเจน เลื่อนเคอร์เซอร์กลับไปที่ 04.ตำแหน่งเคอร์เซอร์ เช่น:(4:0) <<<กำหนดตำแหน่งเคอร์เซอร์5.เขียนข้อความทดสอบ <<
ขั้นตอนที่ 5: ขั้นตอนที่ 3 เขียนอักขระทดสอบ
จอแอลซีดี>(6:80) <<
ขั้นตอนที่ 6: ขั้นตอนที่ 4 ล้าง LCD
จอแอลซีดี>(3) <<
ขั้นตอนที่ 7: ขั้นตอนที่ 5. พิมพ์ Text
LCD>(8) <<<ใส่ข้อความผู้ใช้ป้อนข้อความที่จะแทรกที่ตำแหน่งเคอร์เซอร์การสาธิต LCD HD44780 <<
LCD>(8) <<<ใส่ข้อความป้อนข้อความที่จะแทรกที่ตำแหน่งเคอร์เซอร์ Bus Pirate v2go <<
ขั้นตอนที่ 8: ขั้นตอนที่ 6 การอ่านจาก LCD
บอร์ดอะแดปเตอร์ Bus Pirate และ LCD สามารถอ่านได้จาก LCD เราจะอ่านข้อความที่เราเขียนบนหน้าจอ (DDRAM) แต่คุณยังสามารถอ่านการตั้งค่าและ RAM อักขระที่กำหนดเอง (CGRAM) ได้ด้วยการตั้งค่าที่อยู่ที่ถูกต้อง LCD>[0b10000000 '''<<<set the read pointer'' ']HD44780 RS LOW, COMMAND MODE <<<ลงทะเบียนเลือกพิน lowCMD WRITE: 0x80 <<
ขั้นตอนที่ 9: ทำมากขึ้น
ให้คำอธิบายทั่วไปเกี่ยวกับอแดปเตอร์ LCD อักขระ StepThe HD44780 เป็นอุปกรณ์เสริมที่มีประโยชน์สำหรับ Bus Pirate สามารถใช้สำหรับการทดสอบอย่างรวดเร็วหรือการพัฒนาลอจิกขั้นสูงได้ นอกจาก LCD แล้ว พิน I/O 2.5 โวลต์-5 โวลต์แปดตัวอาจมีประโยชน์สำหรับแอพพลิเคชั่น Bus Pirate ที่มีจำนวนพินสูงอื่นๆ เราสามารถมี PCB, ชุดอุปกรณ์, หรือชุดประกอบที่ผลิตโดย Seeed Studio ในราคาประมาณ $15 รวมทั้งการจัดส่งทั่วโลก เพิ่มเติมที่นี่ ฉันไม่สามารถรวมองค์ประกอบการจัดรูปแบบและตาราง HTML ใน Instructable คุณสามารถดูโพสต์ต้นฉบับได้ที่บล็อก Dangerous Prototypes