Përmbajtje:

HD44780 Bordi i Përshtatësit LCD në I2C për Piratin e Autobusëve: 9 hapa
HD44780 Bordi i Përshtatësit LCD në I2C për Piratin e Autobusëve: 9 hapa

Video: HD44780 Bordi i Përshtatësit LCD në I2C për Piratin e Autobusëve: 9 hapa

Video: HD44780 Bordi i Përshtatësit LCD në I2C për Piratin e Autobusëve: 9 hapa
Video: Library HD44780 for LCD1602 or LCD2004 + Demo work on stm32 HAL, modustoolbox pdl, Arduino framework 2024, Nëntor
Anonim
HD44780 Bordi i Përshtatësit LCD në I2C për Piratin e Autobusëve
HD44780 Bordi i Përshtatësit LCD në I2C për Piratin e Autobusëve
HD44780 Bordi i Përshtatësit LCD në I2C për Piratin e Autobusëve
HD44780 Bordi i Përshtatësit LCD në I2C për Piratin e Autobusëve

LCD -të me karakter të lirë të bazuar në chipset HD44780 vijnë në një sërë madhësish: 2x16, 4x20, etj. Këto ekrane kanë dy mënyra standarde të ndërfaqes, paralele 4bit dhe 8bit. 8bit kërkon gjithsej 11 rreshta të dhënash, 4bit kërkon 7 (6 vetëm për shkrim). Disa LCD mbështesin një mënyrë shtesë të të dhënave serike, si VFD I mbuluar në Hack a Day. HD44780 LCD janë në përgjithësi pjesë 5 volt me një furnizim të veçantë për dritën e pasme. Pirati i autobusëve ka vetëm pesë kunja I/O toleruese 5 volt, kështu që ne bëmë një bord të vogël përshtatës me kunja të mjaftueshme për të kontrolluar LCD. Pirate Bus kontrollon bordin e përshtatësit përmes bibliotekës së tij të ndërfaqes LCD. Vazhdoni të lexoni për bordin e përshtatësit LCD të autobusit Pirate HD44780 dhe bibliotekën e ndërfaqes. Unë mund të kem PCB, komplete ose komplete të montuara të prodhuara nga Seeed Studio për rreth 15 dollarë, përfshirë transportin në mbarë botën, më shumë këtu. Unë nuk mund të përfshija disa elementë formatimi dhe tabela HTML në një Instructable, ju mund të shihni postimin origjinal në Prototipet e Rrezikshëm blog.

Hapi 1: Pajisje kompjuterike

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

Në këtë artikull ne përshkruajmë një bord përshtatës I2C për LCD me bazë HD44780. Ne e demonstrojmë atë me një ndërfaqe serike universale Bus Pirate. Kodi burimor Bus Pirate për bibliotekën e ndërfaqes HD44780 të bazuar në I2C është domen publik, kështu që është i lirë të përshtateni me projektet tuaja. HardwareFigurë qarku me madhësi të plotë [PNG]. Qarku dhe PCB u krijuan me versionin falas të Cadsoft Eagle. Skedarët e projektimit mund të shkarkohen nga Bus Pirate SVN. Para se të përdorni tabelën e përshtatësit, sigurohuni që të verifikoni fletën e të dhënave për LCD -në tuaj kundër përcaktimit të përshtatësit. Jo të gjithë LCD -të janë të njëjtë. PCF8574 I/O zgjerues IC Ky është një çip i thjeshtë 8 I/O zgjerues që kontrollohet përmes ndërfaqes I2C me dy tela. Ndërfaqja I2C është e arritshme nga titulli JP1. PCF8574 punon nga 2.5 në 5 volt. Kunjat e daljes/daljes veprojnë në tensionin e furnizimit, kështu që nëse e ushqejmë me 5 volt, ai ndërhyn në LCD me 5 volt. C1 (0.1uF) shkëput IC nga luhatjet në furnizimin me energji elektrike. Një kunj i PCF8574 kontrollon një LED 3 mm (LED1) përmes rezistencës aktuale kufizuese R2 (1000 ohms). Dritat LED tregojnë një komunikim të suksesshëm midis Pirate Bus dhe përshtatës. PCF8574 nuk mund të marrë rrymë të mjaftueshme për të ndezur LED -in, kështu që ne e ndezim LED -in nga furnizimi me 5 volt dhe ndërrojmë tokën. LCD Bordi i përshtatësit komunikon me një LCD të karakterit të bazuar në HD44780 në modalitetin e ndërfaqes paralele 4bit. Kunjat e ndërfaqes 4bit - RS, RW, EN dhe D4 -D7 - janë të lidhura me shtatë kunjat I/O të PCF8574. Ne na pëlqen të përdorim kokën e kunjit mashkullor 0.1 "për të lidhur përshtatësin me një LCD, zakonisht mund ta mbështetni LCD -in kundrejt kunjave për të krijuar kontakt të mjaftueshëm për një provë të shpejtë. Rezistori i trimmerit R1 (10K) siguron një tension të rregullimit të kontrastit në pin 3 të kokën LCD. Ne nuk i lidhëm kunjat e dritës së prapme sepse ka shumë stile të ndryshme të ndriçimit. Sigurimi i energjisë për një dritë të pasme LED mund të dëmtojë një ekran që kërkon një furnizim me tension negativ. Furnizimi me energji Shumica e LCD -ve kërkojnë 5 volt, sigurojnë një furnizim me energji të jashtme përmes header JP2. Ne siguruam një kunj të dytë të furnizimit me energji për të lidhur rezistencat tërheqëse të Pirate Bus. PCB Qarku dhe PCB u krijuan me versionin falas të Cadsoft Eagle. Skedarët e projektimit mund të shkarkohen nga Bus Pirate SVN. PCB është një dizajn të njëanshëm, të gjithë përmes vrimës me një tel të vetëm bluzë (treguar me të kuqe). Ne mund të kemi PCB, komplete ose komplete të montuara të prodhuara nga Seeed Studio për rreth 15 dollarë, përfshirë transportin në mbarë botën, më shumë këtu. Vlera e Pjesës së Pjesës së Pjesës (te gjitha th vrimë e ashpër) C10.1uF/10volts+R110000 (10K) prerës/potenciometër me një kthesë, rezistencë 6mmR21000 (1K) ohm, 1/4 wattLED13mm (T1) LED, e kuqeJP1+JP20.1 "header mashkull, 5 kunja IC1PCF8574N, 8bit Zgjatësi I2C I/O DIP16ICS116 pin DIP për IC1I nuk mund të përfshijë disa elementë formatimi dhe tabela HTML në një Instructable, ju mund të shihni postimin origjinal në blogun e Prototipave të Rrezikshëm.

Hapi 2: Lidhjet

Lidhjet
Lidhjet

Pajisja: HD44780 karaktere LCD. Autobus: 4bit paralel, me bordin e përshtatësit PCF8574 I2C. Kërkesat e energjisë: 5 volt. Referencat: shembulli i fletës së të dhënave [PDF], referenca e komandës HD44780, uber-faqja e LCD HD44780. Regjistri i sesionit të Bus Pirate për këtë demonstrim. Ne projektoi përshtatësin për bibliotekën LCD të ndërfaqes seriale universale Bus Pirate, por do të funksionojë me çdo gjë që mund të flasë për protokollin I2C. Hidhini një sy kodit burimor Bus Pirate për shembull zbatimi I2C-> HD44780. Lidhni Bus Pirate me tabelën e përshtatësit siç tregohet në tabelë. Tabela gjithashtu tregon lidhjet e papërpunuara me PCF8574 IC nëse jeni duke ndjekur pa një bord përshtatës. Lidhni përshtatësin me një furnizim me energji të mjaftueshme për LCD, në përgjithësi 5 volt. Lidhja I2C midis përshtatësit dhe Pirate Bus kërkon rezistencë tërheqëse midis 2 dhe 10K. Këtu keni më shumë informacion në lidhje me ndërlidhjen e tensionit të përzier me tërheqjet dhe rezistorët tërheqës në bordin e Pirate Bus. Unë nuk mund të përfshija disa elementë formatimi dhe tabela HTML në një Instructable, ju mund të shihni postimin origjinal në blogun e Prototipave të Rrezikshëm Me

Hapi 3: Hapi 1. Konfiguro Bibliotekën

Hapi 1. Konfigurimi i Bibliotekës
Hapi 1. Konfigurimi i Bibliotekës

Ndërfaqja Ne kemi mbuluar modelin e përshtatësit dhe si ta lidhim atë me Pirate Bus, tani është më në fund koha për të shkruar diçka në LCD. HiZ> m <<11 <<1 <<W <

p <<2 <<v <<< merrni raportin e tensionit MONITORI I Tensionit: 5V: 4.9 | 3.3V: 3.3 | VPULLUP: 5.0 <<Shtypni 'm' në terminalin Pirate Bus dhe zgjidhni bibliotekën LCD. Aktualisht mbështet vetëm LCD-të me karakter HD44780 duke përdorur përshtatësin PFC8574 të përshkruar në gjysmën e parë të këtij neni (opsioni 1). Aktivizoni furnizimet me energji elektrike (të mëdha 'W') dhe rezistencat tërheqëse (menyja 'p'). Kontrolloni monitorin e tensionit (menyja 'v') dhe sigurohuni që tensioni tërheqës (Vpullup) të lexojë rreth 5 volt.

Hapi 4: Hapi 2. Rivendosja dhe fillimi

Hapi 2. Rivendosja dhe fillimi
Hapi 2. Rivendosja dhe fillimi
Hapi 2. Rivendosja dhe fillimi
Hapi 2. Rivendosja dhe fillimi

Kjo tabelë përshkruan komandat me një bajt që kontrollojnë një LCD HD44780, këtu është një referencë e detajuar. Këto komanda mund të futen nga linja e komandës Bus Pirate, por ne kemi bërë makro për shumicën e tyre për të kursyer kohë. LCD> (0) <<< shfaqni menunë makro0. Makro makro <<< këtë menu 1. LCD Rivendosja << <rivendos LCD2. Init LCD <<< rivendos dhe inicializo LCD3. Pastro LCD <<< LCD të qartë, ktheje kursorin në 04. Pozicioni i kursorit ex: (4: 0) <<< vendosur pozicionin e kursorit5. Shkruani tekstin e testit <<Macro 0 shfaq menunë makro për çdo mënyrë Pirate Bus. LCD> (2) <<< inicio LCD makro LCD Linjat e shfaqjes: 1. 1 <<< ekran me një rresht2. Shumëfish <<2 'RESET <<< makro 2 përfshin një sekuencë rivendosjejeINIT <<Makroja fillestare LCD (2) konfiguron ekranin për modalitetin e ndërfaqes 4bit, mundëson shfaqjen e kursorit dhe cakton disa opsione të tjera të dobishme. Konfiguroni numrin e linjave të ekranit, zgjidhni 1 për një ekran të vetëm, ose 2 për të gjitha ekranet e tjera. Pas fillimit, ekrani duhet të jetë i qartë me një kursor të dukshëm në qoshe. Nëse nuk funksionon, kontrolloni lidhjen I2C, rezistencat tërheqëse dhe furnizimin me energji elektrike, pastaj provoni përsëri. LCD-të HD44780 duhet të rivendosen me një sekuencë të veçantë sinjali para se të fillohen për modalitetin e ndërfaqes 4bit ose 8bit. Makro 1 krijon këtë sekuencë. Makro 2 përfshin sekuencën e rivendosjes, kështu që nuk ka nevojë të përdorni makro 1 para makro 2.

Hapi 5: Hapi 3. Shkruani Karakteret e Testit

Hapi 3. Shkruani Karakteret e Testit
Hapi 3. Shkruani Karakteret e Testit
Hapi 3. Shkruani Karakteret e Testit
Hapi 3. Shkruani Karakteret e Testit

LCD> (6:80) <<Makroja e numrave të shkrimit mbush LCD -në me numrat e testimit midis 0 dhe 9. Numri pas zorrës së trashë i tregon Bus Pirate sa numra testi të shkruajmë, ne po përdorim një 4x20LCD, kështu që ne shkruajmë 80 numra për ta mbushur atë. Vini re se kursori përfundon në pozicionin 0, nën '0' e parë. LCD> (7:80) <<Makroja e shkronjave të shkrimit mbush LCD -në me karaktere ASCII, futni sasinë pas zorrës së trashë. Vini re se vija e grushtit vazhdon në të tretën, e treta në të dytën dhe e dyta në të fundit. Karakteret nuk janë të vazhdueshme sepse LCD -të e personazheve nuk përfundojnë nga një rresht në tjetrin. Ne do të flasim pak më shumë për këtë më vonë.

Hapi 6: Hapi 4. Pastroni LCD -në

Hapi 4. Pastroni LCD -në
Hapi 4. Pastroni LCD -në

LCD> (3) <<Makroja LCD e qartë dërgon komandën HD44780 që fshin ekranin dhe kthen kursorin në pozicionin e parë. Ju gjithashtu mund të bëni ndonjë nga këto operacione pa makro, referojuni tabelës së komandave në fillim të këtij seksioni. Futni '[0b1' në Pirate Bus për të vendosur ndërfaqen në modalitetin e komandës ([) dhe dërgoni komandën e ekranit të qartë HD44780 (0b00000001) pa makro.]

Hapi 7: Hapi 5. Shkruani Tekst

Hapi 5. Shkruani Tekst
Hapi 5. Shkruani Tekst
Hapi 5. Shkruani Tekst
Hapi 5. Shkruani Tekst

LCD> (8) <<< fut tekstin e përdoruesitFutni tekstin për ta futur në pozicionin e kursorit. HD44780 demo LCD <<Pas pastrimit të LCD në hapin 4, kursori pozicionohet në bllokun e parë. Ne gjithashtu mund ta vendosim atë me makro (4: 0), e cila lëviz kursorin në karakterin e parë. Teksti i futur në makro kursorin kërkon futjen e tekstit, dhe pastaj e kopjon atë në LCD kur shtypni enter. LCD> (4: 0x40) <& lt

LCD> (8) <<< fut tekst Tekst për të futur në pozicionin e kursorit. Bus Pirate v2go <<Shkrimi në rreshtin e dytë është pak më i komplikuar, ai në fakt fillon me karakterin 64 në një LCD 4x20. Nëse vazhdoni të shkruani nga fundi i rreshtit 1 (karakteri 20) atëherë do të përfundoni në fillim të rreshtit të tretë! Kjo faqe ka një koleksion të bukur të hartave të kujtesës për shumicën e madhësive të LCD -ve. Së pari, ne e vendosim kursorin në rreshtin e dytë (4: 0x40). Tjetra, makroja "fut tekst" kap hyrjen tonë dhe e kopjon atë në LCD. LCD> (4: 0x14) (8) (4: 0x54) (8) <<< sintaksë të shumëfishtë makroShkruani tekstin për ta futur në pozicionin e kursorit. Firmware v2.0+ <<< e kemi shtypur këtë Shkruani tekstin për ta futur në pozicionin e kursorit. Prototipet e rrezikshme <<Pirati i autobusëve pranon makro të shumta në të njëjtën linjë, kështu që i gjithë ekrani mund të shkruhet menjëherë. Ne i shkruam dy rreshtave të fundit me një rresht të vetëm sintaksë. Ne mund të përdorim '(3) (4: 0) (8) (4: 0x40) (8) (4: 0x14) (8) (4: 0x54) (8) 'për të pastruar LCD -në dhe për të shkruar të katër rreshtat me një hyrje të vetme sintaksore.

Hapi 8: Hapi 6. Leximi Nga LCD

Hapi 6. Leximi Nga LCD
Hapi 6. Leximi Nga LCD

Bordi i përshtatësit Bus Pirate dhe LCD mund të lexojë nga LCD. Ne do të lexojmë tekstin që kemi shkruar në ekran (DDRAM), por gjithashtu mund të lexoni cilësimet dhe ram karakterin e personalizuar (CGRAM) duke vendosur adresën e saktë. LCD> [0b10000000 "" <<< vendosni treguesin e leximit "" '] HD44780 RS LOW, COMMAND MODE <<< regjistro zgjedh pin të ulët CMD WRITE: 0x80 <<Së pari, ne i themi Pirate Bus të dërgojë të dhëna në regjistrin e komandave LCD ([). Tjetra, ne përdorim komandën e vendosur të adresës DDRAM (0b1xxxxxxx) për të vendosur treguesin e leximit në fillim të DDRAM (xxxxxxx = 0000000).] LCD>] rrrrrrr <<< lexoni memorjen e të dhënave pin lartëREAD: 0x48 <<< 'H'READ: 0x44 <<<' D'READ: 0x34 <<< '4'READ: 0x34 <<<' 4'READ: 0x37 <<< '7'READ: 0x38 < << '8'READ: 0x30 <<<' 0'LCD> Së fundi, thuaji Piratit të Autobusëve të lexojë nga memoria e të dhënave (]), dhe pastaj lexo disa byte (rrrrrrr). Ne morëm "HD44780", teksti që kemi shkruar në ekran në hapin 5. Ju gjithashtu duhet të jeni në gjendje të përdorni shkurtoren r: 7 për të lexuar shtatë byte, por nuk funksionon në firmware -in aktual - ne do ta rregullojmë këtë para lirimin e ardhshëm.

Hapi 9: Të bësh më shumë

Duke bërë më shumë
Duke bërë më shumë

Jepni një përshkrim të përgjithshëm të përshtatësit LCD të karaktereve Step444. HD44780 është një aksesor i dobishëm për Pirate Bus. Mund të përdoret për një provë të shpejtë, ose një zhvillim më të avancuar logjik. Përveç LCD-ve, tetë kunjat 2.5/Volt-5volt I/O mund të jenë të dobishëm për aplikacione të tjera të larta të pin Pirate Bus Pirate. Ne mund të kemi PCB, komplete, ose komplete të montuara të prodhuara nga Seeed Studio për rreth 15 dollarë, përfshirë transportin në mbarë botën, më shumë këtu. Unë nuk mund të përfshija disa elementë formatimi dhe tabela HTML në një Instructable, ju mund të shihni postimin origjinal në blogun e Prototipave të Rrezikshëm.

Recommended: