فهرست مطالب:

صفحه HD44780 LCD به I2C Adapter Board for the Bus Pirate: 9 مرحله
صفحه HD44780 LCD به I2C Adapter Board for the Bus Pirate: 9 مرحله

تصویری: صفحه HD44780 LCD به I2C Adapter Board for the Bus Pirate: 9 مرحله

تصویری: صفحه HD44780 LCD به I2C Adapter Board for the Bus Pirate: 9 مرحله
تصویری: Introduction to LCD2004 LCD display with I2C module for Arduino 2024, نوامبر
Anonim
صفحه HD44780 LCD به I2C Adapter Board for the Bus Pirate
صفحه HD44780 LCD به I2C Adapter Board for the Bus Pirate
صفحه HD44780 LCD به I2C Adapter Board for the Bus Pirate
صفحه HD44780 LCD به I2C Adapter Board for the Bus Pirate

LCD های کم کاراکتر مبتنی بر چیپست HD44780 در اندازه های مختلف وجود دارند: 2x16 ، 4x20 و … این نمایشگرها دارای دو حالت رابط استاندارد 4bit و 8bit موازی هستند. 8bit در کل به 11 خط داده ، 4bit به 7 خط (6 مورد فقط برای نوشتن) نیاز دارد. برخی از LCD ها از حالت داده سریال اضافی پشتیبانی می کنند ، مانند VFD I در Hack a Day. LCD های HD44780 به طور کلی قطعات 5 ولت هستند که منبع تغذیه جداگانه ای برای نور پس زمینه دارند. Bus Pirate فقط پنج پین ورودی/خروجی 5 ولت مقاوم دارد ، بنابراین ما یک برد آداپتور کوچک با پین های کافی برای کنترل LCD تهیه کردیم. Bus Pirate برد آداپتور را از طریق کتابخانه رابط LCD خود کنترل می کند. خواندن در مورد برد آداپتور LCD و کتابخانه رابط Bus Pirate HD44780 کاراکتر را ادامه دهید. من می توانم PCB ها ، کیت ها یا کیت های مونتاژ شده تولید شده توسط Seeed Studio را با قیمت حدود 15 دلار ، از جمله حمل و نقل جهانی ، بیشتر در اینجا داشته باشم. من نمی توانم برخی از عناصر قالب بندی و جداول HTML را در دستورالعمل قرار دهم ، می توانید پست اصلی را در نمونه های اولیه خطرناک مشاهده کنید وبلاگ.

مرحله 1: سخت افزار

سخت افزار
سخت افزار
سخت افزار
سخت افزار
سخت افزار
سخت افزار

در این مقاله ما یک برد آداپتور I2C را برای LCD های مبتنی بر HD44780 ترسیم می کنیم. ما آن را با رابط سریال جهانی Bus Pirate نشان می دهیم. کد منبع Bus Pirate برای کتابخانه رابط HD44780 مبتنی بر I2C مالکیت عمومی است ، بنابراین سازگاری با پروژه های خود رایگان است. Hardware تصویر مدار اندازه کامل [PNG]. مدار و PCB با نسخه رایگان Cadsoft Eagle طراحی شده است. فایل های طراحی را می توان از Bus Pirate SVN بارگیری کرد. قبل از استفاده از برد آداپتور ، حتماً برگه داده LCD خود را در برابر پین آداپتور تأیید کنید. همه LCD ها یکسان نیستند. PCF8574 I/O expander IC این یک تراشه ساده 8 ورودی/خروجی است که از طریق رابط دو سیم I2C کنترل می شود. رابط I2C از سرصفحه JP1 قابل دسترسی است. PCF8574 از 2.5 تا 5 ولت کار می کند. پین های ورودی/خروجی با ولتاژ تغذیه کار می کنند ، بنابراین اگر 5 ولت به آن تغذیه کنیم ، با LCD 5 ولت وصل می شود. C1 (0.1uF) IC را از نوسانات منبع تغذیه جدا می کند. یک پین PCF8574 یک LED 3 میلی متری (LED1) را از طریق مقاومت محدود کننده جریان R2 (1000 اهم) کنترل می کند. چراغ های LED نشان دهنده ارتباط موفق بین Bus Pirate و آداپتور است. PCF8574 نمی تواند جریان کافی برای تغذیه LED ایجاد کند ، بنابراین LED را از منبع تغذیه 5 ولت تغذیه کرده و زمین را تغییر می دهیم. LCD صفحه آداپتور در حالت رابط موازی 4 بیت با LCD مبتنی بر کاراکتر HD44780 ارتباط برقرار می کند. پین های رابط 4 بیتی - RS ، RW ، EN و D4 -D7 - به هفت پین I/O PCF8574 متصل هستند. ما دوست داریم از هدر پین مردانه 0.1 اینچی برای اتصال آداپتور به LCD استفاده کنیم ، معمولاً می توانید LCD را به پین ها تکیه دهید تا تماس کافی برای یک آزمایش سریع ایجاد شود. مقاومت تریمر R1 (10K) ولتاژ تنظیم کنتراست را برای پین 3 از سربرگ LCD. ما پین های نور پس زمینه را به هم وصل نکردیم زیرا سبک های مختلف نور پس زمینه بسیار زیاد است. تأمین برق برای نور پس زمینه LED ممکن است به صفحه ای که نیاز به منبع ولتاژ منفی دارد آسیب برساند. منبع تغذیه اکثر LCD ها به 5 ولت نیاز دارند ، منبع تغذیه خارجی را از طریق header JP2. ما دومین پین منبع تغذیه را برای اتصال مقاومت های کششی Bus Pirate ارائه کردیم. PCB مدار و PCB با نسخه رایگان Cadsoft Eagle طراحی شده است. فایل های طراحی را می توان از Bus Pirate SVN بارگیری کرد. PCB طراحی یک طرفه ، تمام سوراخ با یک سیم بلوز (با رنگ قرمز نشان داده شده است). ما می توانیم PCB ، کیت یا مجموعه های مونتاژ شده ای را که توسط Seeed Studio با قیمت 15 دلار تهیه شده است ، از جمله حمل و نقل جهانی ، بیشتر در اینجا داشته باشیم. Partlist Part Part Value (همه th ناهموار) C10.1uF/10volts+R110000 (10K) اهم یک چرخش/پتانسیومتر ، مقاومت 6mmR21000 (1K) اهم ، 1/4 وات LED13mm (T1) LED ، قرمزJP1+JP20.1 "هدر نر ، 5 پین IC1PCF8574N ، 8bit I2C I/O expander DIP16ICS116 پین DIP برای IC1 من نمی توانم برخی از عناصر قالب بندی و جداول HTML را در دستورالعمل قرار دهم ، می توانید پست اصلی را در وبلاگ نمونه های خطرناک مشاهده کنید.

مرحله 2: اتصالات

اتصالات
اتصالات

دستگاه: LCD HD44780 کاراکتر. اتوبوس: 4bit موازی ، با برد آداپتور PCF8574 I2C. نيازهای برق: 5 ولت. منابع: مثال داده ها [PDF] ، مرجع دستور HD44780 ، uber-site LCD HD44780. گزارش کامل جلسه دزدان دریایی Bus برای این نمایش. ما آداپتور را برای کتابخانه LCD رابط سریال جهانی Bus Pirate طراحی کرد ، اما با هر چیزی که بتواند پروتکل I2C صحبت کند کار می کند. برای مثال I2C-> HD44780 به کد منبع Bus Pirate نگاه کنید. Bus Pirate را همانطور که در جدول نشان داده شده است به برد آداپتور وصل کنید. جدول اگر اتصالات آداپتور را دنبال می کنید ، اتصالات خام را به IC PCF8574 نشان می دهد. آداپتور را به منبع تغذیه کافی برای LCD ، به طور کلی 5 ولت وصل کنید. اتصال I2C بین آداپتور و Bus Pirate به مقاومت های کششی بین 2 تا 10K نیاز دارد. در اینجا اطلاعات بیشتری در مورد اتصال ولتاژ مختلط با کشش ها و مقاومت های کششی Bus Pirate وجود دارد. من نمی توانم برخی عناصر قالب بندی و جداول HTML را در دستورالعمل قرار دهم ، می توانید پست اصلی را در وبلاگ نمونه های خطرناک مشاهده کنید به

مرحله 3: مرحله 1. راه اندازی کتابخانه

مرحله 1. راه اندازی کتابخانه
مرحله 1. راه اندازی کتابخانه

رابط کاربری ما به طراحی آداپتور و نحوه اتصال آن به Bus Pirate پرداخته ایم ، اکنون بالاخره وقت آن رسیده که چیزی را روی LCD بنویسیم. HiZ> m <<11 <<1 <<W <

p <<2 <<v <<< دریافت گزارش ولتاژ مانیتور ولتاژ: 5V: 4.9 | 3.3V: 3.3 | VPULLUP: 5.0 <<'m' را در ترمینال Bus Pirate فشار دهید و کتابخانه LCD را انتخاب کنید. در حال حاضر فقط از LCD های کاراکتر HD44780 با استفاده از آداپتور PFC8574 که در نیمه اول این مقاله توضیح داده شده است (گزینه 1) پشتیبانی می کند. منبع تغذیه (بزرگ "W") و مقاومت های کششی (منوی "p") را فعال کنید. مانیتور ولتاژ (منوی 'v') را بررسی کنید و مطمئن شوید که ولتاژ کشش (Vpullup) در حدود 5 ولت است.

مرحله 4: مرحله 2. بازنشانی و راه اندازی اولیه

مرحله 2. بازنشانی و راه اندازی مجدد
مرحله 2. بازنشانی و راه اندازی مجدد
مرحله 2. بازنشانی و راه اندازی مجدد
مرحله 2. بازنشانی و راه اندازی مجدد

این جدول دستورات تک بایت را که LCD HD44780 را کنترل می کند ، نشان می دهد ، در اینجا یک مرجع دقیق وجود دارد. این دستورات را می توان از خط فرمان Bus Pirate وارد کرد ، اما ما اکثر آنها را برای صرفه جویی در وقت ماکرو ایجاد کرده ایم. LCD> (0) <<< منوی ماکرو را نشان می دهد 0. منوی ماکرو <<< این منو 1. LCD Reset << <تنظیم مجدد LCD2. در LCD << << تنظیم مجدد و تنظیم LCD3. LCD را پاک کنید <<< LCD واضح ، مکان نما را به 04 برگردانید. موقعیت مکان نما سابق: (4: 0) <<< تنظیم موقعیت مکان نما 5. نوشتن متن تست <<ماکرو 0 منوی ماکرو را برای هر حالت Bus Pirate نمایش می دهد. LCD> (2) <<< مقداردهی اولیه ماکرو LCD خطوط نمایش: 1. 1 <<< نمایش یک خطی 2 چند <<2 'RESET <<< ماکرو 2 شامل دنباله تنظیم مجدد INIT << استماکرو LCD اولیه (2) صفحه را برای حالت رابط 4 بیت پیکربندی می کند ، نمایش مکان نما را فعال می کند و چند گزینه مفید دیگر را تنظیم می کند. تعداد خطوط نمایش را پیکربندی کنید ، 1 صفحه را برای یک خط یا 2 صفحه را برای همه نمایشگرهای دیگر انتخاب کنید. پس از راه اندازی اولیه ، صفحه باید واضح باشد و مکان نما در گوشه قابل مشاهده باشد. اگر کار نکرد ، اتصال I2C ، مقاومتهای کششی و منبع تغذیه را بررسی کنید ، سپس دوباره امتحان کنید. LCD های HD44780 قبل از اینکه برای حالت رابط 4bit یا 8bit راه اندازی شوند ، باید با یک دنباله سیگنال خاص تنظیم مجدد شوند. ماکرو 1 این دنباله را ایجاد می کند. ماکرو 2 شامل دنباله تنظیم مجدد است ، بنابراین نیازی به استفاده از ماکرو 1 قبل از ماکرو 2 نیست.

مرحله 5: مرحله 3. نوشتن کاراکترهای آزمایشی

مرحله 3. نوشتن کاراکترهای آزمون
مرحله 3. نوشتن کاراکترهای آزمون
مرحله 3. نوشتن کاراکترهای آزمون
مرحله 3. نوشتن کاراکترهای آزمون

LCD> (6:80) <<ماکرو اعداد نوشتن LCD را با اعداد آزمایشی بین 0 تا 9 پر می کند. عددی که بعد از کولون به Bus Pirate می گوید چند عدد آزمون بنویسید ، ما از 4x20LCD استفاده می کنیم ، بنابراین 80 عدد را برای پر کردن آن می نویسیم. توجه داشته باشید که مکان نما در موقعیت 0 ، تحت '0' اول خاتمه می یابد. LCD> (7:80) <<ماکرو نویسه نوشتن LCD را با کاراکترهای ASCII پر می کند ، مقدار را بعد از کولون وارد کنید. توجه داشته باشید که خط مشت در سوم ، سوم در دوم و دوم در آخرین ادامه می یابد. کاراکترها پیوسته نیستند زیرا LCD های کاراکتر از یک خط به خط دیگر پیچیده نمی شوند. بعداً کمی بیشتر در این مورد صحبت خواهیم کرد.

مرحله 6: مرحله 4. LCD را پاک کنید

مرحله 4. LCD را پاک کنید
مرحله 4. LCD را پاک کنید

LCD> (3) <<ماکرو LCD روشن دستور HD44780 را ارسال می کند که صفحه را پاک می کند و مکان نما را به موقعیت اول باز می گرداند. همچنین می توانید هر یک از این عملیات را بدون ماکرو انجام دهید ، به جدول فرمان در ابتدای این قسمت مراجعه کنید. '[0b1' 'را در Bus Pirate وارد کنید تا رابط کاربری روی حالت فرمان ([) تنظیم شود و دستور HD44780 clear screen (0b00000001) بدون ماکرو ارسال شود.]

مرحله 7: مرحله 5. Text را تایپ کنید

مرحله 5. Text را تایپ کنید
مرحله 5. Text را تایپ کنید
مرحله 5. Text را تایپ کنید
مرحله 5. Text را تایپ کنید

LCD> (8) <<< درج متن کاربر متن را برای درج در مکان نما وارد کنید. نسخه نمایشی LCD HD44780 <<پس از پاک کردن LCD در مرحله 4 ، مکان نما در اولین بلوک قرار می گیرد. ما همچنین می توانیم آن را با ماکرو (4: 0) تنظیم کنیم ، که مکان نما را به اولین کاراکتر منتقل می کند. درج متن در ماکرو مکان نما درخواست ورود متن را دارد و سپس با فشار دادن enter. LCD> (4) آن را در LCD کپی می کند.: 0x40) <& lt

LCD> (8) <<< درج متن وارد کردن متن برای درج در مکان نما. Bus Pirate v2go <<نوشتن در خط دوم کمی پیچیده تر است ، در واقع از کاراکتر 64 روی LCD 4x20 شروع می شود. اگر نوشتن را از انتهای خط 1 (کاراکتر 20) ادامه دهید ، در ابتدای خط سه به پایان خواهید رسید! این صفحه دارای مجموعه ای زیبا از نقشه های حافظه برای اکثر اندازه های LCD کاراکتر است. اول ، مکان نما را در خط دوم (4: 0x40) قرار می دهیم. در مرحله بعد ، ماکرو "درج متن" ورودی ما را گرفته و آن را روی LCD کپی می کند. LCD> (4: 0x14) (8) (4: 0x54) (8) <<< چند جمله ماکرو متن را برای درج در مکان نما وارد کنید. Firmware v2.0+ <<< ما این را تایپ کردیم متن را وارد کنید تا در موقعیت مکان نما قرار گیرد.دزدان دریایی اتوبوس چندین ماکرو را در یک خط می پذیرد ، بنابراین کل صفحه را می توان همزمان نوشت. ما دو خط آخر را با یک خط نحوی نوشتیم. می توانیم از '(3) (4: 0) (8) (4: 0x40) (8) (4: 0x14) (8) (4: 0x54) استفاده کنیم (8) 'برای پاک کردن LCD و نوشتن هر چهار خط با یک ورودی نحو.

مرحله 8: مرحله 6. خواندن از طریق LCD

مرحله 6. خواندن از طریق LCD
مرحله 6. خواندن از طریق LCD

برد آداپتور Bus Pirate و LCD می تواند از روی LCD بخواند. ما متنی را که روی صفحه نوشته ایم (DDRAM) می خوانیم ، اما همچنین می توانید با تنظیم آدرس صحیح تنظیمات و رام کاراکترهای سفارشی (CGRAM) را بخوانید. LCD> [0b10000000 "" <<< نشانگر خوانده شده را تنظیم کنید " '] HD44780 RS LOW، COMMAND MODE <<< ثبت پین پایین را انتخاب کنید CMD WRITE: 0x80 <<ابتدا به Bus Pirate می گوییم که داده ها را به رجیستر فرمان LCD ([) ارسال کند. در مرحله بعد ، از دستور آدرس DDRAM (0b1xxxxxxx) برای تنظیم اشاره گر خواندن در ابتدای DDRAM (xxxxxxx = 0000000) استفاده می کنیم.] LCD>] rrrrrrr <<< خواندن حافظه داده پین بالا READ: 0x48 <<< 'H'READ: 0x44 <<<' D'READ: 0x34 <<< '4'READ: 0x34 <<<' 4'READ: 0x37 <<< '7'READ: 0x38 < << '8'READ: 0x30 <<<' 0'LCD> در نهایت ، به Bus Pirate بگویید که از حافظه داده (]) بخواند و سپس چند بایت (rrrrrrr) بخواند. ما "HD44780" را دریافت کردیم ، متنی که در مرحله 5 روی صفحه نوشتیم. همچنین باید بتوانید از میانبر r: 7 برای خواندن هفت بایت استفاده کنید ، اما در سیستم عامل فعلی کار نمی کند - ما قبل از رفع این مشکل نسخه بعدی

مرحله 9: انجام کارهای بیشتر

انجام بیشتر
انجام بیشتر

یک توضیح کلی در مورد StepThe آداپتور LCD کاراکتر HD44780 یک وسیله مفید برای دزدان دریایی اتوبوس است. می توان از آن برای آزمایش سریع یا توسعه منطقی پیشرفته تر استفاده کرد. علاوه بر LCD ، هشت پین ورودی/خروجی 2.5 ولت -5 ولت ممکن است برای سایر برنامه های Bus Pirate با تعداد دکمه های بالا مفید باشد. ما می توانیم PCB ، کیت ، یا مجموعه های مونتاژ شده توسط Seeed Studio با قیمت حدود 15 دلار ، از جمله حمل و نقل جهانی ، بیشتر در اینجا. من نمی توانم برخی از عناصر قالب بندی و جداول HTML را در دستورالعمل قرار دهم ، می توانید پست اصلی را در وبلاگ نمونه های خطرناک مشاهده کنید.

توصیه شده: