Съдържание:

HD44780 LCD към I2C адаптерна платка за автобусен пират: 9 стъпки
HD44780 LCD към I2C адаптерна платка за автобусен пират: 9 стъпки

Видео: HD44780 LCD към I2C адаптерна платка за автобусен пират: 9 стъпки

Видео: HD44780 LCD към I2C адаптерна платка за автобусен пират: 9 стъпки
Видео: #5 Жидкокристаллический дисплей I2C || ESP8266 FLPROG ЛЕСТНИЧНАЯ ЛОГИКА 2024, Ноември
Anonim
HD44780 LCD към I2C адаптерна платка за Bus Pirate
HD44780 LCD към I2C адаптерна платка за Bus Pirate
HD44780 LCD към I2C адаптерна платка за Bus Pirate
HD44780 LCD към I2C адаптерна платка за Bus Pirate

Евтините LCD дисплеи, базирани на чипсета HD44780, се предлагат в различни размери: 2x16, 4x20 и т.н. Тези дисплеи имат два стандартни интерфейсни режима, 4 -битов и 8 -битов паралелен. 8bit изисква общо 11 реда данни, 4bit изисква 7 (6 само за запис). Някои LCD дисплеи поддържат допълнителен режим на серийни данни, като VFD, който обхванах в Hack a Day. HD44780 LCD обикновено са 5 -волтови части с отделно захранване за задната светлина. Bus Pirate има само пет 5 -волтови толерантни входно -изходни щифта, затова направихме малка адаптерна платка с достатъчно щифтове за управление на LCD. Bus Pirate контролира адаптерната платка чрез своята LCD интерфейсна библиотека. Продължете да четете за Bus Pirate HD44780 символна LCD адаптерна платка и интерфейсна библиотека. Мога да получа печатни платки, комплекти или сглобени комплекти, произведени от Seeed Studio за около $ 15, включително доставка по целия свят, повече тук. Не мога да включа някои форматиращи елементи и HTML таблици в Instructable, можете да видите оригиналния пост в Опасни прототипи блог.

Стъпка 1: Хардуер

Хардуер
Хардуер
Хардуер
Хардуер
Хардуер
Хардуер

Общ преглед В тази статия ние очертаваме I2C адаптерна платка за HD44780-базирани LCD дисплеи. Демонстрираме го с универсален сериен интерфейс на Bus Pirate. Изходният код на Bus Pirate за базирана на I2C интерфейсна библиотека HD44780 е обществено достояние, така че е свободен да се адаптира към вашите собствени проекти. Хардуер Изображение на веригата с пълен размер [PNG]. Веригата и печатната платка са проектирани с безплатната версия на Cadsoft Eagle. Дизайнерските файлове могат да бъдат изтеглени от Bus Pirate SVN. Преди да използвате адаптерната платка, не забравяйте да проверите листа с данни за вашия LCD спрямо извода на адаптера. Не всички LCD дисплеи са еднакви. PCF8574 I/O разширител IC Това е прост 8 I/O разширителен чип, който се управлява чрез двупроводния I2C интерфейс. Интерфейсът I2C е достъпен от заглавка JP1. PCF8574 работи от 2.5 до 5 волта. Входно -изходните щифтове работят при захранващото напрежение, така че ако го захранваме с 5 волта, той взаимодейства с LCD при 5 волта. C1 (0.1uF) отделя IC от колебанията в захранването. Светодиодите светват, за да показват успешна комуникация между Bus Pirate и адаптера. PCF8574 не може да генерира достатъчно ток за захранване на светодиода, затова захранваме светодиода от 5 -волтовото захранване и превключваме земята. LCD Адаптерната платка комуникира с HD44780-базиран символен LCD дисплей в 4-битов паралелен интерфейсен режим. 4 -битовите интерфейсни щифтове - RS, RW, EN и D4 -D7 - са свързани към седем от PCF8574 I/O пина. Обичаме да използваме 0,1 "заглавка за мъжки щифт за свързване на адаптера към LCD, обикновено можете да облегнете LCD на щифтовете, за да създадете достатъчен контакт за бърз тест. Тримерният резистор R1 (10K) осигурява напрежение за регулиране на контраста към пин 3 на LCD заглавието. Не свързахме щифтовете за подсветка, защото има толкова много различни стилове на подсветка. Предоставянето на захранване за LED подсветка може да повреди екран, който изисква захранване с отрицателно напрежение. Захранване Повечето LCD дисплеи изискват 5 волта, осигуряват външно захранване чрез заглавка JP2. Предоставихме втори захранващ щифт за свързване на издърпващите се резистори на Bus Pirate. едностранна конструкция с всички отвори с един джъмпер проводник (показан в червено). Можем да имаме печатни платки, комплекти или сглобени комплекти, произведени от Seeed Studio за около 15 долара, включително доставка по целия свят, повече тук. всичко това груб отвор) C10.1uF/10volts+R110000 (10K) ohm еднооборотен тример/потенциометър, 6mmR21000 (1K) ом резистор, 1/4 вата LED13mm (T1) LED, червенJP1+JP20.1 "мъжки хедер, 5 пина IC1PCF8574N, 8bit I2C I/O разширител DIP16ICS116 пинов DIP гнездо за IC1I не може да включва някои форматиращи елементи и HTML таблици в Instructable, можете да видите оригиналния пост в блога Dangerous Prototypes.

Стъпка 2: Връзки

Връзки
Връзки

Устройство: HD44780 символен LCD дисплей. Автобус: 4-битов паралелен, с PCF8574 I2C адаптерна платка. Изисквания за захранване: 5 волта. Референции: примерна таблица с данни [PDF], справка за команда HD44780, LCD uber-site на HD44780. Пълен регистър на автобусната пиратска сесия за тази демонстрация. Ние проектира адаптера за LCD библиотеката на универсалния сериен интерфейс на Bus Pirate, но той ще работи с всичко, което може да говори по I2C протокола. Погледнете изходния код на Bus Pirate за примерна реализация I2C-> HD44780. Свържете Bus Pirate към адаптерната платка, както е показано в таблицата. Таблицата показва също необработените връзки към PCF8574 IC, ако следвате без адаптерната платка. Свържете адаптера към захранване, достатъчно за LCD, обикновено 5 волта. Връзката I2C между адаптера и Bus Pirate изисква издърпващи се резистори между 2 и 10K. Ето повече информация за взаимодействието на смесено напрежение с издърпвания и вградените резистори на Bus Pirate. Не можах да включа някои форматиращи елементи и HTML таблици в Instructable, можете да видите оригиналния пост в блога Dangerous Prototypes.

Стъпка 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 библиотеката. Понастоящем той поддържа само HD44780 символни LCD дисплеи, използвайки адаптера PFC8574, описан в първата половина на тази статия (опция 1). Активирайте захранванията (големи „W“) и издърпващи резистори (меню „p“). Проверете монитора за напрежение (меню 'v') и се уверете, че напрежението на издърпване (Vpullup) отчита около 5 волта.

Стъпка 4: Стъпка 2. Нулиране и инициализация

Стъпка 2. Нулиране и инициализация
Стъпка 2. Нулиране и инициализация
Стъпка 2. Нулиране и инициализация
Стъпка 2. Нулиране и инициализация

Тази таблица очертава еднобайтовите команди, които контролират HD44780 LCD, ето подробна справка. Тези команди могат да бъдат въведени от командния ред на Bus Pirate, но за повечето от тях сме направили макроси, за да спестим време. LCD> (0) <<< показване на макро меню 0. Макро меню <<< това меню 1. LCD Reset << <нулирайте LCD2. Init LCD <<< нулирайте и инициализирайте LCD3. Clear LCD <<< изчистете LCD, върнете курсора на 04. Позиция на курсора ex: (4: 0) <<< задайте позицията на курсора 5. Напишете тестовия текст <<Макро 0 показва макро менюто за всеки режим на Bus Pirate. LCD> (2) <<< инициализира LCD макро дисплея Редове на дисплея: 1. 1 <<< едноредов дисплей2. Множество <<2 'RESET <<< макрос 2 включва последователност за нулиране INIT <<Инициализиращият LCD макрос (2) конфигурира екрана за 4 -битов интерфейсен режим, позволява показване на курсора и задава няколко други полезни опции. Конфигурирайте броя линии на дисплея, изберете 1 за едноредов дисплей или 2 за всички останали дисплеи. След инициализацията екранът трябва да е чист с курсор, видим в ъгъла. Ако не работи, проверете връзката I2C, издърпващите резистори и захранването, след това опитайте отново. HD44780 LCD дисплеите трябва да бъдат нулирани със специална последователност от сигнали, преди да могат да бъдат инициализирани за 4-битов или 8-битов интерфейсен режим. Макрос 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 команда за изчистване на екрана (0b00000001) без макрос.]

Стъпка 7: Стъпка 5. Въведете Text

Стъпка 5. Въведете Text
Стъпка 5. Въведете Text
Стъпка 5. Въведете Text
Стъпка 5. Въведете Text

LCD> (8) <<< вмъкване на потребителски текст Въведете текст за вмъкване на позицията на курсора. HD44780 LCD демонстрация <<След изчистване на LCD дисплея в стъпка 4, курсорът се позиционира в първия блок. Можем да го зададем и с макроса (4: 0), който премества курсора към първия знак. Вмъкването на текст в макроса на курсора изисква въвеждане на текст и след това го копира на LCD, когато натиснете enter. LCD> (4: 0x40) <& lt

LCD> (8) <<< вмъкване на текст Въведете текст, който да вмъкнете в позицията на курсора. Автобус Pirate v2go <<Записването на втория ред е малко по -сложно, всъщност започва от символ 64 на 4x20 LCD. Ако продължите да пишете от края на ред 1 (символ 20), тогава ще се озовете в началото на ред трети! Тази страница има хубава колекция от карти с памет за повечето символни LCD размери. Първо, позиционираме курсора на втория ред (4: 0x40). След това макросът „вмъкване на текст“грабва нашия вход и го копира на LCD. Фърмуер v2.0+ <<< въведохме този Въведете текст, който да вмъкнете на позицията на курсора. Опасни Прототипи <<Bus Pirate приема множество макроси на един и същи ред, така че целият екран може да бъде записан наведнъж. Писахме до последните два реда с един ред синтаксис. Можем да използваме „(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 НИСКИ, КОМАНДЕН РЕЖИМ <<< регистрирайте избора на щифт нисък CMD WRITE: 0x80 <<Първо, казваме на Bus Pirate да изпраща данни към командния регистър на LCD ([). След това използваме командата set DDRAM address (0b1xxxxxxx), за да зададем показалеца за четене в началото на DDRAM (xxxxxxx = 0000000).] LCD>] rrrrrrr <<< памет за четене на данни HD44780 RS HIGH, DATA MODE <<< register select pin highREAD: 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: Правете повече

Правейки повече
Правейки повече

Дайте общо описание на стъпката HD44780 символния LCD адаптер е удобен аксесоар за Bus Pirate. Може да се използва за бърз тест или по-усъвършенствана логическа разработка. В допълнение към LCD дисплеите, осемте 2.5volt-5volt I/O пина могат да бъдат полезни за други приложения с голям брой пинове на Bus Pirate. Можем да имаме печатни платки, комплекти, или сглобени комплекти, произведени от Seeed Studio за около $ 15, включително доставка по целия свят, повече тук. Не можах да включа някои форматиращи елементи и HTML таблици в Instructable, можете да видите оригиналния пост в блога Dangerous Prototypes.

Препоръчано: