Мазмуну:

HD44780 LCD каракчы үчүн I2C адаптер тактасына: 9 кадам
HD44780 LCD каракчы үчүн I2C адаптер тактасына: 9 кадам

Video: HD44780 LCD каракчы үчүн I2C адаптер тактасына: 9 кадам

Video: HD44780 LCD каракчы үчүн I2C адаптер тактасына: 9 кадам
Video: СКР 1.4 - I2C BlinkM 2024, Ноябрь
Anonim
HD44780 LCD каракчы үчүн I2C адаптер тактасына
HD44780 LCD каракчы үчүн I2C адаптер тактасына
HD44780 LCD каракчы үчүн I2C адаптер тактасына
HD44780 LCD каракчы үчүн I2C адаптер тактасына

HD44780 чипсетине негизделген арзан мүнөздөгү ЖКлар ар кандай өлчөмдө болот: 2x16, 4x20 ж. 8bit жалпы 11 маалымат линиясын талап кылат, 4bit 7 талап кылат (6 жазуу үчүн гана). Кээ бир ЖКлар VFD сыяктуу Hack a Day. HD44780 ЖК сыяктуу кошумча сериялык маалымат режимин колдойт. Автобус каракчысынын 5 вольтко чыдамдуу I/O казыктары бар, андыктан биз ЖКны башкарууга жетиштүү төөнөгүчтөрү бар кичинекей адаптер тактасын жасадык. Bus Pirate адаптер тактасын анын LCD интерфейси китепканасы аркылуу көзөмөлдөйт. Bus Pirate HD44780 мүнөздөгү ЖК адаптер тактасы жана интерфейс китепканасы жөнүндө окууну улантыңыз. Мен SeeD Studio тарабынан болжол менен $ 15 үчүн дүйнө жүзү боюнча жеткирилген ПХД, комплекттер же топтомдорго ээ боло алам. Мен кээ бир форматтоо элементтерин жана HTML таблицаларын Инструкцияга киргизе алган жокмун, оригиналдуу билдирүүнү Коркунучтуу Прототиптерден көрө аласыз блог

1 -кадам: Аппараттык

Аппараттык
Аппараттык
Аппараттык
Аппараттык
Аппараттык
Аппараттык

Бул макалада биз HD44780 негизделген ЖК үчүн I2C адаптер тактасын түзөбүз. Биз муну Bus Pirate универсалдуу сериялык интерфейси менен көрсөтөбүз. I2C негизделген HD44780 интерфейси китепканасынын Bus Pirate баштапкы коду коомдук домен, ошондуктан ал өзүңүздүн долбоорлоруңузга ылайыкташтырууга акысыз. HardwareFull өлчөмдүү схема сүрөтү [PNG]. Район жана ПХБ Cadsoft Eagle акысыз версиясы менен иштелип чыккан. Дизайн файлдарын Bus Pirate SVNден жүктөп алсаңыз болот. Адаптер тактасын колдонуудан мурун, ЖКнын маалымат баракчасын адаптер пинтуга каршы текшерүүнү унутпаңыз. Бардык ЖК бирдей эмес. PCF8574 I/O экспантери IC Бул эки зымдуу I2C интерфейси аркылуу башкарылган жөнөкөй 8 I/O экспантер чипи. I2C интерфейси JP1 аталышынан жеткиликтүү. PCF8574 2,5 вольттон иштейт. I/O төөнөгүчтөрү камсыздоо чыңалуусунда иштейт, андыктан биз аны 5 вольт менен азыктандырсак, ал ЖКга 5 вольтто туташат. C1 (0.1uF) ICди электр менен камсыздоонун өзгөрүүсүнөн ажыратат. PCF8574 бир пини 3мм LEDди (LED1) учурдагы чектөөчү каршылык R2 (1000 ом) аркылуу башкарат. LED чырактары Bus Pirate менен адаптердин ортосундагы ийгиликтүү байланышты көрсөтөт. PCF8574 LEDди иштетүү үчүн жетиштүү токту булактай албайт, андыктан биз 5 вольттук камсыздоодон LEDди иштетип, жерге которобуз. LCD Адаптер тактасы HD44780 негизделген 4bit параллелдүү интерфейс режиминдеги ЖК менен байланышат. 4bit интерфейс казыктары - RS, RW, EN жана D4 -D7 - жети PCF8574 I/O казыгына туташкан. Биз адаптерди LCDге туташтыруу үчүн 0.1 "эркек пин башын колдонууну жакшы көрөбүз, адатта ЖКны тез текшерүү үчүн жетиштүү байланыш түзүү үчүн казыктарга таяна аласыз. Триммердин каршылыгы R1 (10K) 3 -пин контрастын жөнгө салуу чыңалуусун камсыз кылат. Арткы жарыктын стили көп болгондуктан, биз арткы жарык төөнөгүчтөрүн туташтырган жокпуз. Арткы жарыктын ар кандай стилдери бар болгондуктан, жарык берүүчү лампанын кубаттуулугун берүү терс чыңалуусун талап кылган экранды бузушу мүмкүн. JP2 башы. Биз Bus Pirateнин тартылуу каршылыгын туташтыруу үчүн экинчи электр менен камсыздоочу түйүндү бердик. ПХБ схемасы жана ПХБ Cadsoft Eagleдин бекер версиясы менен иштелип чыккан. Дизайн файлдарын Bus Pirate SVNден жүктөп алсаңыз болот. ПХБ бир секирүүчү зым менен бир тараптуу, бардык тешикчелердин дизайны (кызыл түстө көрсөтүлгөн). Бизде Seeed Studio тарабынан болжол менен 15 долларга өндүрүлгөн ПХД, комплекттер же чогултулган топтомдор болушу мүмкүн, анын ичинде дүйнө жүзү боюнча жеткирүү, дагы бул жерде. Partlist Part Value (баары th орой тешик) C10.1uF/10 вольт+R110000 (10K) ом бир жолку триммер/потенциометр, 6мм R21000 (1K) ом каршылыгы, 1/4 ваттLED13мм (T1) LED, redJP1+JP20.1 "эркек баш, 5 pinsIC1PCF8574N, 8 бит IC2I үчүн I2C I/O экспантери DIP16ICS116 пин DIP розети кээ бир форматтоо элементтерин жана HTML таблицаларын инструкцияга киргизе алган жок, сиз оригиналдуу постту Dangerous Prototypes блогунан көрө аласыз.

2 -кадам: Байланыштар

Байланыштар
Байланыштар

Түзмөк: HD44780 символу LCD. Bus: 4bit параллель, PCF8574 I2C адаптер тактасы менен. Power талаптары: 5Volts Bus Pirate универсалдуу сериялык интерфейсинин LCD китепканасы үчүн адаптер иштелип чыккан, бирок ал I2C протоколу менен сүйлөшө ала турган нерселер менен иштейт. I2C-> HD44780 ишке ашыруу үчүн Bus Pirate баштапкы кодун карап көрүңүз. Bus Pirateти адаптер тактасына столдо көрсөтүлгөндөй туташтырыңыз. Таблицада PCF8574 IC чийки байланыштары көрсөтүлөт, эгер сиз адаптер тактасы жок болсоңуз, адаптерди ЖК үчүн жетиштүү кубаттуулукка туташтырыңыз, жалпысынан 5 вольт. Адаптер менен Bus Pirate ортосундагы I2C туташуусу 2ден 10Кга чейин каршылаштарды талап кылат. Бул жерде тартылуу менен аралашкан чыңалуу интерфейси жөнүндө көбүрөөк маалымат жана Bus Pirate бортунда тартылуучу каршылыктар бар. Мен кээ бир форматтоо элементтерин жана HTML таблицаларын инструкцияга киргизе алган жокмун, сиз оригиналдуу постту көрө аласыз Dangerous Prototypes blog.

3 -кадам: Кадам 1. Китепкананы орнотуу

Кадам 1. Китепкананы орнотуу
Кадам 1. Китепкананы орнотуу

Интерфейс Биз адаптердин дизайнын жана аны автобус каракчысына кантип туташтыруу керектигин карап чыктык, эми акыры ЖКга бир нерсе жазууга убакыт келди. HiZ> m <<11 <<1 <<W <

p <<2 <<v <<< чыңалуу отчетун алууVOLTAGE MONITOR: 5V: 4.9 | 3.3V: 3.3 | VPULLUP: 5.0 <<Bus Pirate терминалындагы 'm' баскычын басыңыз жана ЖК китепканасын тандаңыз. Бул учурда бул макаланын биринчи жарымында сүрөттөлгөн PFC8574 адаптерин колдонуп HD44780 мүнөздөгү ЖКны колдойт (1-вариант). Электр энергиясын (чоң 'W') жана тартма каршылыктарды иштетүү (меню 'p'). Чыңалуу мониторун текшериңиз (меню 'v') жана тартылуу чыңалуусу (Vpullup) 5 вольттун тегерегинде экенин текшериңиз.

4 -кадам: 2 -кадам. Баштапкы абалга келтирүү жана баштоо

Кадам 2. Баштапкы абалга келтирүү жана баштоо
Кадам 2. Баштапкы абалга келтирүү жана баштоо
Кадам 2. Баштапкы абалга келтирүү жана баштоо
Кадам 2. Баштапкы абалга келтирүү жана баштоо

Бул таблицада HD44780 ЖКны башкарган бир байттуу буйруктар жазылган, бул жерде деталдуу маалымат. Бул буйруктарды Bus Pirate буйрук сабынан киргизсе болот, бирок биз алардын көпчүлүгүнө убакытты үнөмдөө үчүн макросторду жасадык. LCD> (0) <<< макро менюну көрсөтүү0. <LCDди баштапкы абалга келтирүү2. Init LCD <<< баштапкы абалга келтирүү жана LCD3ди тазалооМакро 0 кандайдыр бир Bus Pirate режиминин макро менюсун көрсөтөт. LCD> (2) <<< LCD макро дисплей линиялары: 1. 1 <<< бир саптуу дисплей2. Бир нече <<2 'RESET <<< макро 2ге баштапкы абалга келтирүү INIT << киретБаштоочу LCD макро (2) 4bit интерфейс режимине экранды конфигурациялайт, курсорду көрсөтүүнү иштетет жана башка бир нече пайдалуу параметрлерди коёт. Дисплей сызыктарынын санын конфигурациялаңыз, бир саптуу дисплей үчүн 1ди же башка бардык дисплейлер үчүн 2ди тандаңыз. Инициализациядан кийин, экран бурчта көрүнгөн курсор менен ачык болушу керек. Эгерде ал иштебесе, I2C туташуусун, тартылуучу резисторлорду жана электр менен камсыздоону текшериңиз, анан кайра аракет кылып көрүңүз. Макро 1 бул ырааттуулукту түзөт. Макро 2 баштапкы абалга келтирүү ырааттуулугун камтыйт, андыктан макро 2ден мурун макро 1ди колдонуунун кажети жок.

5 -кадам: 3 -кадам. Тест белгилерин жазыңыз

3 -кадам. Тесттин каармандарын жазыңыз
3 -кадам. Тесттин каармандарын жазыңыз
3 -кадам. Тесттин каармандарын жазыңыз
3 -кадам. Тесттин каармандарын жазыңыз

ЖК> (6:80) <<Жазуу сандары макро ЖКны 0 менен 9дун ортосундагы тест номерлери менен толтурат, эки чекиттен кийинки сан Bus Pirateге канча сыноо сандарын жазуу керектигин айтат, биз 4x20LCD колдонобуз, ошондуктан аны толтуруу үчүн 80 санын жазабыз. Курсор 0 'позициясында, биринчи' 0'астында бүткөнүнө көңүл буруңуз. LCD> (7:80) <<Жазуу символдору макро ЖКны ASCII белгилери менен толтурат, эки чекиттен кийин санын киргизиңиз. Байкасаңыз, муштум үчүнчүсүндө, үчүнчүсүндө экинчисинде, экинчисинде акыркысында уланат. Белгилер үзгүлтүксүз болбойт, анткени ЖК символу бир саптан экинчисине өтпөйт. Бул тууралуу кийинчерээк дагы сүйлөшөбүз.

6 -кадам: Кадам 4. Таза ЖК

Кадам 4. Таза ЖК
Кадам 4. Таза ЖК

ЖК> (3) <<Так LCD макроду HD44780 буйругун жөнөтөт, ал экранды өчүрөт жана курсорду биринчи позицияга кайтарат. Бул операциялардын бирин макросуз эле жасай аласыз, бул бөлүмдүн башындагы командалык таблицага кайрылыңыз. Интерфейсти буйрук режимине коюу үчүн Bus Pirate'ге '[0b1' 'киргизиңиз

7 -кадам: 5 -кадам. Текстти териңиз

Step 5. Текстти териңиз
Step 5. Текстти териңиз
Step 5. Текстти териңиз
Step 5. Текстти териңиз

ЖК> (8) <<< колдонуучунун текстин кошуу Курсордун ордуна киргизүү үчүн текстти киргизиңиз.4 -кадамда ЖК тазалангандан кийин, курсор биринчи блокко жайгаштырылат. Биз аны макро (4: 0) менен да белгилей алмакпыз, ал курсорду биринчи тамгага жылдырат. Курсордун макросуна текстти киргизүү текстти киргизүүнү сурайт, андан кийин enter басканда аны ЖКга көчүрөт. LCD> (4: 0x40) <& lt

LCD> (8) <<< текстти киргизүү Курсордун абалына киргизүү үчүн текстти киргизиңиз. Bus Pirate v2go <<Экинчи сапка жазуу бир аз татаалыраак, ал 4х20 ЖК боюнча 64 белгиден башталат. Эгерде сиз 1 -саптын аягынан (20 -тамга) жазууну уланта берсеңиз, анда сиз үчүнчү саптын башына жетесиз! Бул баракта көпчүлүк символдордун LCD өлчөмдөрү үчүн эстутум карталарынын жакшы жыйнагы бар. Биринчиден, биз курсорду экинчи сапка жайгаштырабыз (4: 0x40). Андан кийин, "текстти киргизүү" макросу биздин киришибизди кармап, ЖКга көчүрөт. V2.0 камтылган жабдыктарыBus Pirate бир эле сызыкта бир нече макростарды кабыл алат, ошондуктан бүт экранды бир убакта жазууга болот. Биз акыркы эки сапка синтаксистин бир сабы менен жаздык. Биз '(3) (4: 0) (8) (4: 0x40) (8) (4: 0x14) (8) (4: 0x54) (8) 'ЖК тазалоо жана бир синтаксистик жазуу менен бардык төрт сапты жазуу үчүн.

8 -кадам: 6 -кадам. ЖКдан окуу

Кадам 6. ЖКдан окуу
Кадам 6. ЖКдан окуу

Bus Pirate жана LCD адаптер тактасы ЖКдан окуй алат. Биз жазган текстти экранга окуйбуз (DDRAM), бирок сиз туура даректи коюу менен орнотууларды жана ыңгайлаштырылган тамга кочкорун (CGRAM) окуй аласыз. '] HD44780 RS LOW, БУЙРУК РЕЖИМИ <<< регистрди тандоо пин төмөнБиринчиден, биз Bus Pirateге ЖК командалык регистрине маалыматтарды жөнөтүүнү айтабыз ([). Кийинки, биз DDRAMдын башталышына окуу көрсөткүчүн коюу үчүн DDRAM дареги (0b1xxxxxxx) буйругун колдонобуз (xxxxxxx = 0000000).] LCD>] rrrrrrr <<< окуу эс тутумуHD44780 RS HIGH, DATA MODE <<< регистр тандоо pin highREAD: 0x48 <<< 'H'READ: 0x44 <<<' D'READ: 0x34 <<< '4'READ: 0x34 <<<' 4'READ: 0x37 <<< '7'READ: 0x38 < << '8'РЕЙД: 0x30 <<<' 0'LCD> Акырында, Bus Pirateге маалымат эстутумунан окуусун айт ), андан кийин бир нече байтты оку (rrrrrrr). Бизде "HD44780" бар, биз 5 -кадамда экранга жазган текст. Сиз дагы жети байтты окуу үчүн r: 7 жарлыгын колдоно билишиңиз керек, бирок ал азыркы программада иштебейт - биз муну мурун оңдойбуз кийинки чыгаруу.

9 -кадам: Көбүрөөк кылуу

More Doing
More Doing

StepThe HD44780 мүнөздүү ЖК адаптеринин жалпы мүнөздөмөсүн бериңиз, Bus Pirate үчүн ыңгайлуу аксессуар. Бул тез сыноо үчүн, же андан да өнүккөн логикалык өнүгүү үчүн колдонулушу мүмкүн. ЖКдан тышкары, сегиз 2.5volt-5volt I/O казыгы башка жогорку пин-автобус Bus Pirate applications. We үчүн пайдалуу болушу мүмкүн PCB, комплект, же Seeed Studio тарабынан болжол менен 15 долларга өндүрүлгөн, анын ичинде дүйнө жүзү боюнча жеткирүү дагы бар. Мен кээ бир форматтоо элементтерин жана HTML таблицаларын инструкцияга киргизе алган жокмун, оригиналдуу постту Dangerous Prototypes блогунда көрө аласыз.

Сунушталууда: