Sadržaj:

HD44780 LCD na I2C adapterska ploča za bus pirata: 9 koraka
HD44780 LCD na I2C adapterska ploča za bus pirata: 9 koraka

Video: HD44780 LCD na I2C adapterska ploča za bus pirata: 9 koraka

Video: HD44780 LCD na I2C adapterska ploča za bus pirata: 9 koraka
Video: #5 Жидкокристаллический дисплей I2C || ESP8266 FLPROG ЛЕСТНИЧНАЯ ЛОГИКА 2024, Studeni
Anonim
HD44780 LCD na I2C adapterska ploča za Bus Pirate
HD44780 LCD na I2C adapterska ploča za Bus Pirate
HD44780 LCD na I2C adapterska ploča za Bus Pirate
HD44780 LCD na I2C adapterska ploča za Bus Pirate

Jeftini LCD zasloni zasnovani na HD44780 čipsetu dolaze u različitim veličinama: 2x16, 4x20 itd. Ovi zasloni imaju dva standardna načina sučelja, 4 -bitni i 8 -bitni paralelni. 8bit zahtijeva ukupno 11 podatkovnih linija, 4bit zahtijeva 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 upravljanje LCD -om. Bus Pirate kontrolira adaptersku ploču putem svoje biblioteke LCD sučelja. Nastavite čitati o Bus Pirate HD44780 znakovnoj 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 dostavu diljem svijeta, više ovdje. Nisam mogao uključiti neke elemente oblikovanja i HTML tablice u Instructable, možete vidjeti izvorni post u Opasni prototipi blog.

Korak 1: Hardver

Hardver
Hardver
Hardver
Hardver
Hardver
Hardver

PregledU ovom članku opisujemo I2C adaptersku ploču za LCD-e zasnovane na HD44780. Pokazujemo to univerzalnim serijskim sučeljem Bus Pirate. Izvorni kod Bus Piratea za biblioteku sučelja HD44780 zasnovanu na I2C-u je javna domena, pa se može slobodno prilagoditi vlastitim projektima. HardverSlika kruga pune veličine [PNG]. Krug i PCB su dizajnirani s besplatnom verzijom Cadsoft Eagle. Datoteke dizajna mogu se preuzeti sa Bus Pirate SVN -a. Prije uporabe 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 kojim se upravlja putem dvožičnog I2C sučelja. Sučelje I2C dostupno je iz zaglavlja JP1. PCF8574 radi od 2,5 do 5 volti. U/I pinovi rade na opskrbnom naponu, pa ako ga napajamo 5 volti, povezuje LCD s 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 označavaju uspješnu komunikaciju između Bus Piratea i adaptera. PCF8574 ne može generirati dovoljno struje za napajanje LED, pa napajamo LED iz 5 voltnog napajanja i prekidamo uzemljenje. LCD Adapterska ploča komunicira s karakternim LCD zaslonom temeljenim na HD44780 u 4-bitnom modu paralelnog sučelja. Pinovi za 4 -bitno sučelje - RS, RW, EN i D4 -D7 - spojeni su na sedam PCF8574 I/O pinova. Volimo koristiti 0,1 "muški pin zaglavlje za spajanje adaptera na LCD, obično možete nasloniti LCD na pinove kako biste stvorili dovoljan kontakt za brzo testiranje. Otpornik trimera R1 (10K) daje 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 moglo bi oštetiti zaslon koji zahtijeva napajanje negativnim naponom. Napajanje Većina LCD -a zahtijeva 5 volti, osigurajte vanjsko napajanje putem zaglavlje JP2. Osigurali smo drugi pin za napajanje za povezivanje pull-up otpornika Bus Pirate-a. PCB Krug i PCB su dizajnirani s besplatnom verzijom Cadsoft Eagle. Datoteke za dizajn mogu se preuzeti sa Bus Pirate SVN-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 diljem svijeta, više ovdje. sve th grube rupe) 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 pinova IC1PCF8574N, 8bit I2C I/O proširivač DIP16ICS116 pin DIP utičnica za IC1I nije mogao uključiti neke elemente oblikovanja i HTML tablice u Instructable, možete vidjeti izvorni post na blogu Dangerous Prototypes.

Korak 2: Veze

Veze
Veze

Uređaj: HD44780 karakter LCD. Autobus: 4-bitni paralelni, s PCF8574 I2C adapterskom pločom. Zahtjevi za napajanje: 5 volti. Reference: primjer podatkovne tablice [PDF], referenca naredbi HD44780, HD44780 LCD uber-site. Cjeloviti zapisnik gusarske sesije za ovu demonstraciju. Mi je dizajnirao adapter za LCD biblioteku univerzalnog serijskog sučelja Bus Pirate, ali će raditi sa svime što može govoriti po I2C protokolu. Pogledajte izvorni kôd sabirničkog kanala za primjer implementacije I2C-> HD44780. Povežite sabirnički gusar s adapterskom pločom 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 napajanje dovoljno za LCD, općenito 5 volti. I2C veza između adaptera i Bus Piratea zahtijeva pull-up otpornike između 2 i 10K. Evo više informacija o sučelju mješovitog napona s 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 izvorni post na blogu Dangerous Prototypes.

Korak 3: Korak 1. Postavljanje knjižnice

Korak 1. Postavljanje knjižnice
Korak 1. Postavljanje knjižnice

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 <<< dobiti izvješće 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 LCD-ove s HD44780 karakterom 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 (izbornik 'v') i pobrinite se da napon povlačenja (Vpullup) čita oko 5 volti.

Korak 4: Korak 2. Resetiranje 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 upravljaju HD44780 LCD-om, evo detaljne reference. Ove naredbe mogu se unijeti iz naredbenog retka Bus Pirate, ali za većinu smo napravili makronaredbe 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 makronaredbi za bilo koji način rada Bus Pirate. LCD> (2) <<< inicijalizira LCD makronaredbe Zaslonski redovi: 1. 1 <<< jednoredni prikaz2. Višestruki <<2 'RESET <<< makro 2 uključuje niz za poništavanjeINIT <<Inicijalizirana makronaredba LCD -a (2) konfigurira zaslon za 4 -bitni način sučelja, omogućuje prikaz pokazivača i postavlja nekoliko drugih korisnih opcija. Konfigurirajte broj redaka prikaza, odaberite 1 za prikaz u jednom retku ili 2 za sve ostale zaslone. Nakon inicijalizacije, zaslon bi trebao biti čist s pokazivačem vidljivim u kutu. Ako to nije uspjelo, provjerite I2C vezu, otpornike za izvlačenje i napajanje, a zatim pokušajte ponovno. 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 stvara ovaj slijed. Makro 2 uključuje niz za poništavanje pa nema potrebe koristiti makro 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) <<Makronaredba za upisivanje brojeva popunjava LCD ekran testnim brojevima između 0 i 9. Broj nakon dvotočke govori Bus Pirate -u koliko testnih brojeva treba napisati, koristimo 4x20LCD, pa zapisujemo 80 brojeva kako bismo ga ispunili. Primijetite da kursor završava na položaju 0, ispod prvog '0'. LCD> (7:80) <<Makro za pisanje znakova ispunjava LCD zaslon ASCII znakovima, unesite količinu iza dvotočke. Primijetite da se linija šake nastavlja na trećoj, treća na drugoj, a druga na posljednjoj. Znakovi nisu kontinuirani jer se LCD zasloni s znakovima ne preklapaju s jednog retka na drugi. O tome ćemo kasnije nešto 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 zaslona šalje naredbu HD44780 koja briše zaslon i vraća kursor na prvo mjesto. Također možete učiniti bilo koju od ovih operacija bez makronaredbi, pogledajte tablicu naredbi na početku ovog odjeljka. Unesite '[0b1' u Bus Pirate da postavite sučelje na naredbeni način ([) i pošaljete naredbu čišćenja zaslona HD44780 (0b00000001) bez makronaredbe.]

Korak 7: Korak 5. Upišite tekst

Korak 5. Upišite tekst
Korak 5. Upišite tekst
Korak 5. Upišite tekst
Korak 5. Upišite tekst

LCD> (8) <<< umetnite korisnički tekst Unesite tekst za umetanje na mjestu 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 mjesto kursora. Autobus Pirate v2go <<Zapisivanje u drugi redak je malo složenije, zapravo počinje od karaktera 64 na LCD -u 4x20. Ako nastavite pisati s kraja retka 1 (znak 20), završit ćete na početku retka tri! Ova stranica ima lijepu zbirku memorijskih karata za većinu LCD znakova. Prvo postavljamo kursor na drugi redak (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 mjesto kursora. Firmware v2.0+ <<< upisali smo ovaj Unesite tekst za umetanje na mjesto kursora. OpasniPrototipovi <<Bus Pirate prihvaća više makronaredbi na istoj liniji pa se cijeli zaslon može zapisati odjednom. Posljednja dva retka pisali smo jednim retkom 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 retka s jednim sintaksnim unosom.

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

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

Bus Pirate i LCD adapterska ploča može čitati s LCD -a. Pročitat ćemo tekst koji smo napisali na ekranu (DDRAM), ali također možete pročitati postavke i prilagođene znakove (CGRAM) postavljanjem ispravne adrese. LCD> [0b10000000 '' '<<< postavite pokazivač za čitanje' ' '] HD44780 RS LOW, COMMAND MODE <<< register select pin lowCMD WRITE: 0x80 <<Prvo govorimo Bus Pirateu da pošalje podatke u registar naredbi LCD -a ([). Zatim koristimo naredbu set DDRAM address (0b1xxxxxxx) da postavimo pokazivač 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 podatkovne memorije (]), 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 sljedeće izdanje.

Korak 9: Učinite više

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

Dajte općeniti opis koraka LCD adapter sa znakom HD44780 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 gusarima s velikim brojem pinova. Možemo imati PCB-ove, komplete, ili sastavljeni kompleti koje proizvodi Seeed Studio za oko 15 USD, uključujući isporuku diljem svijeta, više ovdje. Nisam mogao uključiti neke elemente oblikovanja i HTML tablice u Instructable, možete vidjeti izvorni post na blogu Dangerous Prototypes.

Preporučeni: