Sadržaj:

HD44780 LCD na I2C adaptersku ploču za Bus Pirate: 9 koraka
HD44780 LCD na I2C adaptersku ploču za Bus Pirate: 9 koraka

Video: HD44780 LCD na I2C adaptersku ploču za Bus Pirate: 9 koraka

Video: HD44780 LCD na I2C adaptersku ploču za Bus Pirate: 9 koraka
Video: #5 Аналоговый ввод FLProg на ЖК-дисплее I2C | ESP32 NodeMCU |Визуальное программирование для Arduino 2024, Novembar
Anonim
HD44780 LCD na I2C adaptersku ploču za Bus Pirate
HD44780 LCD na I2C adaptersku ploču za Bus Pirate
HD44780 LCD na I2C adaptersku ploču za Bus Pirate
HD44780 LCD na I2C adaptersku ploču za Bus Pirate

Jeftini LCD ekrani zasnovani na HD44780 čipsetu dolaze u različitim veličinama: 2x16, 4x20 itd. Ovi ekrani imaju dva standardna načina interfejsa, 4 -bitni i 8 -bitni paralelni. 8bit zahteva ukupno 11 linija podataka, 4bit zahteva 7 (6 samo za pisanje). Neki LCD -i podržavaju dodatni način serijskog prenosa podataka, poput VFD -a koji sam opisao u Hack a Day. HD44780 LCD -ovi su općenito dijelovi od 5 volti s zasebnim napajanjem za pozadinsko osvjetljenje. Bus Pirate ima samo pet I/O pinova tolerantnih na 5 volti, pa smo napravili malu adaptersku ploču s dovoljno pinova za kontrolu LCD -a. Bus Pirate kontrolira adaptersku ploču preko svoje biblioteke LCD sučelja. Nastavite čitati o Bus Pirate HD44780 karakterskoj LCD adapterskoj ploči i biblioteci sučelja. Mogu imati PCB -ove, komplete ili sastavljene komplete koje proizvodi Seeed Studio za oko 15 USD, uključujući isporuku širom svijeta, više ovdje. Nisam mogao uključiti neke elemente oblikovanja i HTML tablice u Instructable, možete vidjeti originalni post na stranici Opasni prototipi blog.

Korak 1: Hardver

Hardver
Hardver
Hardver
Hardver
Hardver
Hardver

PregledU ovom članku opisujemo I2C adaptersku ploču za LCD ekrane zasnovane na HD44780. Pokazujemo to univerzalnim serijskim sučeljem Bus Pirate. Izvorni kod Bus Pirate-a za biblioteku interfejsa HD44780 zasnovanu na I2C-u je javno vlasništvo, pa se može besplatno prilagoditi vašim projektima. HardverSlika kola pune veličine [PNG]. Krug i PCB su dizajnirani s besplatnom verzijom Cadsoft Eagle. Datoteke za dizajn mogu se preuzeti sa Bus Pirate SVN -a. Prije upotrebe adapterske ploče, provjerite tehnički list vašeg LCD -a u odnosu na ispravljač adaptera. Nisu svi LCD ekrani isti. PCF8574 I/O ekspander IC Ovo je jednostavan 8 I/O ekspander čip koji se kontrolira putem dvožičnog I2C sučelja. Sučelje I2C je dostupno iz zaglavlja JP1. PCF8574 radi od 2,5 do 5 volti. U/I pinovi rade na naponu napajanja, pa ako ga napajamo 5 volti, on povezuje LCD s naponom od 5 volti. C1 (0,1uF) odvaja IC od fluktuacija u napajanju. Jedan pin PCF8574 kontrolira 3 mm LED (LED1) kroz otpornik za ograničavanje struje R2 (1000 ohma). LED svjetla ukazuju na uspješnu komunikaciju između Bus Pirate -a i adaptera. PCF8574 ne može proizvesti dovoljno struje za napajanje LED -a, pa napajamo LED iz 5 -voltnog napajanja i prekidamo uzemljenje. LCD Adapterska ploča komunicira sa karakternim LCD ekranom zasnovanim na HD44780 u 4-bitnom modu paralelnog interfejsa. 4 -bitni priključci sučelja - RS, RW, EN i D4 -D7 - povezani su na sedam PCF8574 I/O pinova. Volimo koristiti 0,1 "muški pin zaglavlje za povezivanje adaptera s LCD -om, obično možete nasloniti LCD na pinove kako biste stvorili dovoljan kontakt za brzo testiranje. Otpornik trimera R1 (10K) pruža napon za podešavanje kontrasta na pin 3 od LCD zaglavlje. Nismo spojili pinove pozadinskog osvjetljenja jer postoji toliko različitih stilova pozadinskog osvjetljenja. Omogućavanje napajanja LED pozadinskog osvjetljenja može oštetiti ekran za koji je potrebno napajanje negativnim naponom. Napajanje Većina LCD -a zahtijeva 5 volti, osigurava vanjsko napajanje putem zaglavlje JP2. Pružili smo drugi pin za napajanje za povezivanje pull-up otpornika Bus Pirate-a. jednostrani dizajn cijele rupe s jednom kratkospojnom žicom (prikazano crvenom bojom). Možemo imati PCB-ove, komplete ili sastavljene komplete koje proizvodi Seeed Studio za oko 15 USD, uključujući isporuku širom svijeta, više ovdje. all th s grubim rupama) C10.1uF/10volti+R110000 (10K) ohm jednokretni trimer/potenciometar, 6mmR21000 (1K) ohm otpornik, 1/4 vataLED13mm (T1) LED, crvenaJP1+JP20.1 "muško zaglavlje, 5 pinovaIC1PCF8574N, 8bit I2C I/O proširivač DIP16ICS116 pin DIP utičnica za IC1I nije mogla uključivati neke elemente oblikovanja i HTML tablice u Instructable, možete vidjeti izvorni post na blogu Dangerous Prototypes.

Korak 2: Veze

Connections
Connections

Uređaj: HD44780 karakter LCD. Autobus: 4-bitni paralelni, sa PCF8574 I2C adapterskom pločom. Zahtjevi za napajanje: 5 volti. Reference: primjer tablice s podacima [PDF], referenca naredbe HD44780, HD-uber-lokacija HD44780. Potpuni dnevnik piratske sesije zapisnika za ovu demonstraciju. Mi dizajnirao je adapter za LCD biblioteku univerzalnog serijskog sučelja Bus Pirate, ali će raditi sa svime što može govoriti po I2C protokolu. Pogledajte izvorni kod Bus Pirate-a za primjer implementacije I2C-> HD44780. Povežite Bus Pirate na adaptersku ploču kao što je prikazano u tablici. Tablica također prikazuje neobrađene veze na PCF8574 IC ako pratite bez adapterske ploče. Priključite adapter na izvor napajanja dovoljan za LCD, općenito 5 volti. Za I2C vezu između adaptera i Bus Pirate-a potrebni su pull-up otpornici između 2 i 10K. Evo više informacija o miješanju napona koji se povezuje sa pull-up-ovima i Bus Pirate ugrađenim pull-up otpornicima. Nisam mogao uključiti neke elemente oblikovanja i HTML tablice u Instructable, možete vidjeti originalni post na blogu Dangerous Prototypes.

Korak 3: Korak 1. Postavite biblioteku

Korak 1. Postavite biblioteku
Korak 1. Postavite biblioteku

Povezivanje Pokrili smo dizajn adaptera i kako ga spojiti na Bus Pirate, sada je konačno vrijeme da nešto napišete na LCD. HiZ> m <<11 <<1 <<W <

p <<2 <<v <<< dobijte izvještaj o naponuMONITOR NAPONA: 5V: 4.9 | 3.3V: 3.3 | VPULLUP: 5.0 <<Pritisnite 'm' na Bus Pirate terminalu i odaberite LCD biblioteku. Trenutno podržava samo HD44780 znakovne LCD-ove koji koriste adapter PFC8574 opisan u prvoj polovici ovog članka (opcija 1). Omogućite napajanje (veliki 'W') i pull-up otpornike (izbornik 'p'). Provjerite monitor napona (meni 'v') i pobrinite se da napon povlačenja (Vpullup) čita oko 5 volti.

Korak 4: Korak 2. Resetovanje i inicijalizacija

Korak 2. Resetiranje i inicijalizacija
Korak 2. Resetiranje i inicijalizacija
Korak 2. Resetiranje i inicijalizacija
Korak 2. Resetiranje i inicijalizacija

Ova tablica prikazuje jednobajtne naredbe koje kontroliraju HD44780 LCD, evo detaljne reference. Ove naredbe se mogu unijeti iz naredbene linije Bus Pirate, ali za većinu smo napravili makroe kako bismo uštedjeli vrijeme. LCD> (0) <<< prikaži izbornik makroa0. Makro izbornik <<< ovaj izbornik1. LCD Reset << <resetirajte LCD2. Init LCD <<< resetirajte i inicijalizirajte LCD3. Clear LCD <<< čisti LCD, vratite kursor na 04. Položaj kursora ex: (4: 0) <<< postavite položaj kursora 5. Napišite testni tekst <<Makro 0 prikazuje izbornik makroa za bilo koji način rada Bus Pirate. LCD> (2) <<< inicijaliziranje LCD makroa Redovi prikaza: 1. 1 <<< jednoredni prikaz2. Višestruki <<2 'RESET <<< makro 2 uključuje sekvencu za resetiranjeINIT <<Inicijalizirani LCD makro (2) konfigurira zaslon za 4 -bitni način sučelja, omogućuje prikaz kursora i postavlja nekoliko drugih korisnih opcija. Konfigurirajte broj linija za prikaz, odaberite 1 za prikaz u jednoj liniji ili 2 za sve ostale zaslone. Nakon inicijalizacije, zaslon bi trebao biti čist, a kursor vidljiv u kutu. Ako nije upalilo, provjerite I2C vezu, otpornike na izvlačenje i napajanje, a zatim pokušajte ponovo. HD44780 LCD-ove je potrebno resetirati posebnim nizom signala prije nego što se mogu pokrenuti za 4-bitni ili 8-bitni način sučelja. Makro 1 kreira ovu sekvencu. Makro 2 uključuje niz za poništavanje, pa nema potrebe za korištenjem makroa 1 prije makroa 2.

Korak 5: Korak 3. Napišite probne znakove

Korak 3. Napišite probne znakove
Korak 3. Napišite probne znakove
Korak 3. Napišite probne znakove
Korak 3. Napišite probne znakove

LCD> (6:80) <<Makro za pisanje brojeva popunjava LCD ekran testnim brojevima između 0 i 9. Broj nakon dvotočke govori Bus Pirate -u koliko testnih brojeva treba napisati, mi koristimo 4x20LCD, pa zapisujemo 80 brojeva da ga popunimo. Primijetite da kursor završava na poziciji 0, ispod prvog '0'. LCD> (7:80) <<Makro za pisanje znakova ispunjava LCD zaslon ASCII znakovima, unesite količinu nakon dvotočke. Primijetite da se prva linija nastavlja na trećoj, treća na drugoj, a druga na posljednjoj. Znakovi nisu neprekidni jer se LCD -ovi s znakovima ne prelaze iz jednog reda u drugi. O ovome ćemo kasnije razgovarati malo više.

Korak 6: Korak 4. Očistite LCD

Korak 4. Očistite LCD
Korak 4. Očistite LCD

LCD> (3) <<Makro za brisanje LCD ekrana šalje naredbu HD44780 koja briše ekran i vraća kursor na prvu poziciju. Bilo koju od ovih operacija možete učiniti i bez makronaredbi, pogledajte tablicu naredbi na početku ovog odjeljka. Unesite '[0b1' u Bus Pirate da postavite sučelje u naredbeni način ([) i pošaljete HD44780 naredbu za brisanje zaslona (0b00000001) bez makronaredbe.]

Korak 7: Korak 5. Unesite tekst

Korak 5. Unesite tekst
Korak 5. Unesite tekst
Korak 5. Unesite tekst
Korak 5. Unesite tekst

LCD> (8) <<< umetni korisnički tekst Unesite tekst za umetanje na poziciju kursora. HD44780 LCD demonstracija <<Nakon brisanja LCD -a u koraku 4, kursor se postavlja na prvi blok. Također bismo ga mogli postaviti pomoću makronaredbe (4: 0), koja pomiče kursor na prvi znak. Umetnuti tekst u makro kursora traži unos teksta, a zatim ga kopira na LCD kada pritisnete enter. LCD> (4: 0x40) <& lt

LCD> (8) <<< umetni tekst Unesite tekst za umetanje na poziciju kursora. Bus Pirate v2go <<Zapisivanje u drugi red je malo komplikovanije, zapravo počinje od karaktera 64 na LCD ekranu 4x20. Ako nastavite pisati s kraja retka 1 (znak 20), završit ćete na početku retka tri! Ova stranica ima lijepu kolekciju memorijskih karata za većinu LCD karaktera. Prvo, postavljamo kursor na drugi red (4: 0x40). Zatim makro 'umetni tekst' ugrabi naš unos i kopira ga na LCD. LCD> (4: 0x14) (8) (4: 0x54) (8) <<< višestruka sintaksa makroa Unesite tekst za umetanje na poziciju kursora. Firmware v2.0+ <<< otkucali smo ovaj Unesite tekst za umetanje na mjesto kursora. OpasniPrototipovi <<Bus Pirate prihvaća više makroa na istoj liniji, tako da se cijeli zaslon može napisati odjednom. Posljednja dva retka pisali smo jednim redom sintakse. Mogli bismo koristiti '(3) (4: 0) (8) (4: 0x40) (8) (4: 0x14) (8) (4: 0x54) (8) 'za brisanje LCD -a i ispisivanje sva četiri reda jednim unosom sintakse.

Korak 8: Korak 6. Čitanje sa LCD -a

Korak 6. Čitanje sa LCD -a
Korak 6. Čitanje sa LCD -a

Bus piratska i LCD adapterska ploča mogu čitati sa LCD -a. Pročitaćemo tekst koji smo napisali na ekranu (DDRAM), ali takođe možete pročitati postavke i prilagođeni ram znakova (CGRAM) postavljanjem tačne adrese. LCD> [0b10000000 '' '<<< postavite pokazivač za čitanje' ' '] HD44780 RS LOW, COMMAND MODE <<< registracija odaberite pin lowCMD WRITE: 0x80 <<Prvo, kažemo Bus Pirate -u da pošalje podatke u registar naredbi LCD -a ([). Zatim koristimo naredbu set DDRAM address (0b1xxxxxxx) za postavljanje pokazivača za čitanje na početak DDRAM -a (xxxxxxx = 0000000).] LCD>] rrrrrrr <<< memorija za čitanje podataka HD44780 RS VISOKI, MODE PODATAKA <<< odabir registra pin highREAD: 0x48 <<< 'H'READ: 0x44 <<<' D'READ: 0x34 <<< '4'READ: 0x34 <<<' 4'READ: 0x37 <<< '7'READ: 0x38 < << '8'READ: 0x30 <<<' 0'LCD> Na kraju, recite Bus Pirate -u da čita iz memorije podataka (]), a zatim pročitajte nekoliko bajtova (rrrrrrr). Dobili smo "HD44780", tekst koji smo napisali na ekranu u koraku 5. Također biste trebali moći koristiti prečicu r: 7 za čitanje sedam bajtova, ali ne radi u trenutnom firmveru - to ćemo popraviti prije sledeće izdanje.

Korak 9: Učinite više

Učiniti više
Učiniti više

Dajte općeniti opis koraka LCD adapter HD44780 karaktera zgodan je pribor za Bus Pirate. Može se koristiti za brzo testiranje ili napredniji razvoj logike. Osim LCD-a, osam I/O pinova od 2,5 volti-5 volti mogu biti korisni za druge aplikacije sa magistralnim piratima sa velikim brojem pinova. Možemo imati štampane ploče, komplete, ili sastavljeni kompleti koje proizvodi Seeed Studio za oko 15 USD, uključujući isporuku širom svijeta, više ovdje. Nisam mogao uključiti neke elemente oblikovanja i HTML tablice u Instructable, možete vidjeti originalni post na blogu Dangerous Prototypes.

Preporučuje se: