Taula de continguts:

Placa d'adaptació HD44780 LCD a I2C per al bus pirata: 9 passos
Placa d'adaptació HD44780 LCD a I2C per al bus pirata: 9 passos

Vídeo: Placa d'adaptació HD44780 LCD a I2C per al bus pirata: 9 passos

Vídeo: Placa d'adaptació HD44780 LCD a I2C per al bus pirata: 9 passos
Vídeo: LCD HD44780 2024, Desembre
Anonim
Taula d’adaptació LCD a I2C HD44780 per al bus pirata
Taula d’adaptació LCD a I2C HD44780 per al bus pirata
Taula d’adaptació LCD a I2C HD44780 per al bus pirata
Taula d’adaptació LCD a I2C HD44780 per al bus pirata

Els LCD de caràcters econòmics basats en el chipset HD44780 presenten diverses mides: 2x16, 4x20, etc. Aquestes pantalles tenen dos modes d’interfície estàndard, paral·lel de 4 i 8 bits. 8 bits requereixen un total d’11 línies de dades, 4 bits en requereixen 7 (6 només per a escriptura). Alguns LCD són compatibles amb un mode de dades sèrie addicional, com ara el VFD que he tractat a Hack a Day. El Bus Pirate només té cinc pins d'E / S tolerants a 5 volts, de manera que vam fabricar una petita placa adaptadora amb prou pins per controlar la pantalla LCD. Bus Pirate controla la placa d’adaptadors a través de la seva biblioteca d’interfícies LCD. Continueu llegint sobre la placa d’adaptadors LCD de caràcters i la biblioteca d’interfícies de Bus Pirate HD44780. Puc tenir PCB, kits o kits muntats produïts per Seeed Studio per uns 15 dòlars, inclosos els enviaments a tot el món, més aquí. No podria incloure alguns elements de format i taules HTML en un document instructiu. Podeu veure la publicació original a Dangerous Prototypes bloc.

Pas 1: maquinari

Maquinari
Maquinari
Maquinari
Maquinari
Maquinari
Maquinari

En aquest article esbossem una placa adaptadora I2C per a pantalles LCD basades en HD44780. Ho demostrem amb una interfície sèrie universal Bus Pirate. El codi font Bus Pirate per a la biblioteca d’interfícies HD44780 basada en I2C és de domini públic, de manera que es pot adaptar gratuïtament als vostres propis projectes. Imatge de circuit de mida completa [PNG]. El circuit i el PCB es van dissenyar amb la versió gratuïta de Cadsoft Eagle. Els fitxers de disseny es poden descarregar des del Bus Pirate SVN. Abans d’utilitzar la placa d’adaptació, assegureu-vos de verificar el full de dades del vostre LCD contra el pinout de l’adaptador. No totes les pantalles LCD són iguals. IC expansor PCF8574 I / O Aquest és un simple xip expansor de 8 E / S que es controla a través de la interfície I2C de dos fils. La interfície I2C és accessible des de la capçalera JP1. El PCF8574 funciona de 2,5 a 5 volts. Els pins d'E / S funcionen a la tensió d'alimentació, de manera que si l'alimentem a 5 volts, interfície la pantalla LCD a 5 volts. C1 (0.1uF) desacobla l’IC de les fluctuacions de la font d’alimentació. Un pin del PCF8574 controla un LED de 3 mm (LED1) a través de la resistència de limitació de corrent R2 (1000 ohms). Els LED s’encenen per indicar una comunicació satisfactòria entre el Bus Pirate i l’adaptador. El PCF8574 no pot generar prou corrent per alimentar el LED, de manera que alimentem el LED des del subministrament de 5 volts i canviem de terra. LCD La placa adaptadora es comunica amb un LCD de caràcters basat en HD44780 en mode d'interfície paral·lela de 4 bits. Els pins d'interfície de 4 bits (RS, RW, EN i D4-D7) estan connectats a set dels pins d'E / S PCF8574. Ens agrada utilitzar capçalera de pin masculí de 0,1 "per connectar l'adaptador a una pantalla LCD. Normalment, podeu inclinar-la contra els pins per crear un contacte suficient per fer una prova ràpida. la capçalera LCD. No hem connectat els pins de llum de fons perquè hi ha tants estils de llum de fons diferents. La subministrament d’alimentació per a una llum de fons LED pot danyar una pantalla que requereix una tensió negativa. capçalera JP2. Hem proporcionat un segon pin d'alimentació per connectar les resistències de tracció del Bus Pirate. PCB El circuit i el PCB s'han dissenyat amb la versió gratuïta de Cadsoft Eagle. Els fitxers de disseny es poden descarregar des del Bus Pirate SVN. un disseny d'una sola cara, tot forat, amb un únic cable de pont (mostrat en vermell). Podem tenir PCB, kits o kits muntats produïts per Seeed Studio per uns 15 dòlars, inclòs l'enviament a tot el món, més aquí. tot th forat rugós) C10.1uF / 10 volts + R110000 (10K) ohm retallador / potenciòmetre, 1 mm, resistència de 6 mm R21000 (1K) ohm, LED de 1/4 watt LED 13 mm (T1), vermell JP1 + capçal masculí JP20.1 ", 5 pins IC1PCF8574N, 8 bits L'expandidor I2C d'E / S DIP16ICS116 sòcol DIP per IC1I no ha pogut incloure alguns elements de format i taules HTML en un document instructiu. Podeu veure la publicació original al bloc de prototips perillosos.

Pas 2: connexions

Connexions
Connexions

Dispositiu: LCD de caràcters HD44780. Bus: paral·lel de 4 bits, amb placa adaptador PCF8574 I2C. Requisits d’alimentació: 5 volts. Referències: full de dades d’exemple [PDF], referència d’ordres HD44780, uber-site LCD HD44780. Registre complet de sessió de pirates de bus per a aquesta demostració. ha dissenyat l'adaptador per a la biblioteca LCD de la interfície sèrie universal Bus Pirate, però funcionarà amb qualsevol cosa que parli el protocol I2C. Mireu el codi font del Bus Pirate per obtenir un exemple d’implementació I2C-> HD44780. Connecteu el Bus Pirate a la placa de l’adaptador tal com es mostra a la taula. La taula també mostra les connexions en brut al PCF8574 IC si seguiu sense una placa adaptadora. Connecteu l'adaptador a una font d'alimentació suficient per a la pantalla LCD, generalment de 5 volts. La connexió I2C entre l'adaptador i el Bus Pirate requereix resistències de tracció entre 2 i 10K. Aquí teniu més informació sobre la interfície de tensió mixta amb els pull-ups i les resistències de pull-up integrades del Bus Pirate. No podria incloure alguns elements de format i taules HTML en un instructable, podeu veure la publicació original al bloc de prototips perillosos.

Pas 3: Pas 1. Configureu la biblioteca

Pas 1. Configureu la biblioteca
Pas 1. Configureu la biblioteca

Interfacing Hem tractat el disseny de l'adaptador i com connectar-lo al Bus Pirate; ara és hora d'escriure alguna cosa a la pantalla LCD. Hi> m <<11 <<1 <<W <

p <<2 <<v <<< obtenir informe de tensió MONITOR DE TENSIÓ: 5V: 4,9 | 3,3 V: 3,3 | VPULLUP: 5.0 <<Premeu "m" a la terminal Bus Pirate i trieu la biblioteca LCD. Actualment, només admet pantalles LCD de caràcters HD44780 mitjançant l'adaptador PFC8574 descrit a la primera meitat d'aquest article (opció 1). Activeu les fonts d'alimentació ("W" grans) i les resistències d'extracció (menú "p"). Comproveu el monitor de tensió (menú 'v') i assegureu-vos que la tensió de pujada (Vpullup) llegeixi al voltant de 5 volts.

Pas 4: Pas 2. Restabliment i inicialització

Pas 2. Restabliment i inicialització
Pas 2. Restabliment i inicialització
Pas 2. Restabliment i inicialització
Pas 2. Restabliment i inicialització

En aquesta taula es detallen les ordres d’un sol byte que controlen una pantalla LCD HD44780, aquí teniu una referència detallada. Aquestes ordres es poden introduir des de la línia d'ordres del pirata de bus, però hem creat macros per a la majoria d'elles per estalviar temps. LCD> (0) <<< mostra el menú macro0. <restablir el LCD2. Init LCD <<< restablir i inicialitzar el LCD3. Netejar el LCD <<< esborrar el LCD, tornar el cursor a 04. Posició del cursor ex: (4: 0) <<< definir la posició del cursor 5. Escriure el text de la prova <<La macro 0 mostra el menú macro de qualsevol mode pirata de bus. LCD> (2) <<< inicialitzar la macro LCD Línies de visualització: 1. 1 <<< pantalla d'una sola línia2. Múltiples <<2 'RESET <<< La macro 2 inclou una seqüència de resetINIT <<La macro LCD inicialitzar (2) configura la pantalla per al mode d'interfície de 4 bits, habilita la visualització del cursor i estableix algunes altres opcions útils. Configureu el nombre de línies de visualització, trieu 1 per a una pantalla de línia única o 2 per a la resta de pantalles. Després de la inicialització, la pantalla hauria de quedar neta amb un cursor visible a la cantonada. Si no ha funcionat, comproveu la connexió I2C, les resistències d’explotació i la font d’alimentació i torneu-ho a provar. Cal que es restableixin els LCD HD44780 amb una seqüència de senyal especial abans de poder inicialitzar-los per al mode d’interfície de 4 bits o 8 bits. La macro 1 crea aquesta seqüència. La macro 2 inclou la seqüència de restabliment, de manera que no cal que utilitzeu la macro 1 abans que la macro 2.

Pas 5: Pas 3. Escriviu els caràcters de prova

Pas 3. Escriviu els caràcters de prova
Pas 3. Escriviu els caràcters de prova
Pas 3. Escriviu els caràcters de prova
Pas 3. Escriviu els caràcters de prova

Pantalla LCD> (6:80) <<La macro d'escriptura de números omple la pantalla LCD amb números de prova entre 0 i 9. El número després de dos punts indica al Bus Pirate quants números de prova escriure, estem fent servir un 4x20LCD, de manera que escrivim 80 números per omplir-lo. Fixeu-vos que el cursor acaba a la posició 0, sota el primer '0'. LCD> (7:80) <<La macro de caràcters d'escriptura omple la pantalla LCD amb caràcters ASCII, introduïu la quantitat després dels dos punts. Fixeu-vos que la línia de puny continua a la tercera, la tercera a la segona i la segona a la darrera. Els caràcters no són continus perquè els LCD de caràcters no s’ajusten d’una línia a la següent. Més endavant en parlarem una mica més.

Pas 6: pas 4. Esborreu la pantalla LCD

Pas 4. Esborra la pantalla LCD
Pas 4. Esborra la pantalla LCD

LCD> (3) <<La macro LCD clara envia l'ordre HD44780 que esborra la pantalla i torna el cursor a la primera posició. També podeu fer qualsevol d'aquestes operacions sense les macros, consulteu la taula d'ordres al començament d'aquesta secció. Introduïu "[0b1" al Bus Pirate per configurar la interfície en mode d'ordres ([) i enviar l'ordre HD44780 de pantalla neta (0b00000001) sense una macro.]

Pas 7: pas 5. Escriviu text

Pas 5. Escriviu text
Pas 5. Escriviu text
Pas 5. Escriviu text
Pas 5. Escriviu text

LCD> (8) <<< inserir text de l'usuari Introduïu text per inserir a la posició del cursor. Demostració de LCD HD44780 <<Després d’esborrar la pantalla LCD al pas 4, el cursor es col·loca al primer bloc. També podríem configurar-lo amb la macro (4: 0), que mou el cursor al primer caràcter. La inserció de text a la macro del cursor demana l'entrada de text i, a continuació, la copia a la pantalla LCD quan premeu Intro. LCD> (4: 0x40) <& lt

LCD> (8) <<< inserir text Introduïu text per inserir a la posició del cursor. Bus Pirate v2go <<Escriure a la segona línia és una mica més complicat, en realitat comença al caràcter 64 en un LCD 4x20. Si continueu escrivint des del final de la línia 1 (caràcter 20), acabareu al principi de la línia tres. Aquesta pàgina té una bona col·lecció de mapes de memòria per a la majoria de mides de LCD de caràcters. Primer, posicionem el cursor a la segona línia (4: 0x40). A continuació, la macro "inserir text" agafa la nostra entrada i la copia a la pantalla LCD. LCD> (4: 0x14) (8) (4: 0x54) (8) <<< sintaxi de macro múltiple Introduïu text per inserir a la posició del cursor. Firmware v2.0 + <<< hem escrit aquestEntrada de text per inserir a la posició del cursor. Prototips perillosos <<El pirata del bus accepta diverses macros a la mateixa línia, de manera que es pot escriure tota la pantalla alhora. Vam escriure a les dues darreres línies amb una sola línia de sintaxi. Podríem utilitzar '(3) (4: 0) (8) (4: 0x40) (8) (4: 0x14) (8) (4: 0x54) (8) 'per esborrar la pantalla LCD i escriure les quatre línies amb una sola entrada de sintaxi.

Pas 8: Pas 6. Lectura des de la pantalla LCD

Pas 6. Lectura des de la pantalla LCD
Pas 6. Lectura des de la pantalla LCD

La targeta adaptadora Bus Pirate i LCD es pot llegir des de la pantalla LCD. Llegirem el text que vam escriure a la pantalla (DDRAM), però també podeu llegir la configuració i la memòria RAM de caràcters personalitzats (CGRAM) configurant l'adreça correcta. LCD> [0b10000000 '' '<<< establir el punter de lectura' ' '] HD44780 RS LOW, COMMAND MODE <<< registre seleccioneu pin lowCMD WRITE: 0x80 <<En primer lloc, li diem al Bus Pirate que enviï dades al registre de comandaments LCD ([). A continuació, fem servir l’ordre set DDRAM address (0b1xxxxxxx) per configurar el punter de lectura al començament de la DDRAM (xxxxxxx = 0000000).] LCD>] rrrrrrr <<< llegir memòria de dades HD44780 RS HIGH, DATA MODE <<< registre seleccionar pin elevat LLEGIR: 0x48 <<< 'H' LLEGIR: 0x44 <<< 'D'READ: 0x34 <<<' 4 'LLEGIR: 0x34 <<<' 4 'LLEGIR: 0x37 <<<' 7 'LLEGIR: 0x38 < << '8'READ: 0x30 <<<' 0'LCD> Finalment, digueu al Bus Pirate que llegeixi de la memòria de dades (]) i, a continuació, llegeixi uns quants bytes (rrrrrrr). Tenim "HD44780", el text que vam escriure a la pantalla al pas 5. També hauríeu de poder utilitzar la drecera r: 7 per llegir set bytes, però no funciona al firmware actual. Ho solucionarem abans de la propera versió.

Pas 9: fer més

Fer més
Fer més

Feu una descripció general del pas: l’adaptador LCD de caràcters HD44780 és un accessori útil per al Bus Pirate. Es pot utilitzar per a una prova ràpida o per a un desenvolupament lògic més avançat. A més de les pantalles LCD, els vuit pins d'E / S de 2,5 volts i 5 volts poden ser útils per a altres aplicacions de Bus Pirate amb un gran nombre de pins. Podem tenir PCB, kits, o kits muntats produïts per Seeed Studio per uns 15 dòlars, inclosos els enviaments a tot el món, més aquí. No puc incloure alguns elements de format i taules HTML en un manual instructiu, podeu veure la publicació original al bloc Dangerous Prototypes.

Recomanat: