<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>gDEV &#187; hd44780</title>
	<atom:link href="http://www.gdevnet.it/tag/hd44780/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gdevnet.it</link>
	<description>Le tue idee in movimento...</description>
	<lastBuildDate>Fri, 07 Aug 2009 11:24:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Impariamo ad usare il protocollo HD44780</title>
		<link>http://www.gdevnet.it/2009/01/11/impariamo-ad-usare-il-protocollo-hd44780/</link>
		<comments>http://www.gdevnet.it/2009/01/11/impariamo-ad-usare-il-protocollo-hd44780/#comments</comments>
		<pubDate>Sun, 11 Jan 2009 10:42:40 +0000</pubDate>
		<dc:creator>f.mira</dc:creator>
				<category><![CDATA[Elettronica]]></category>
		<category><![CDATA[Schemi e Progetti]]></category>
		<category><![CDATA[display]]></category>
		<category><![CDATA[hd44780]]></category>
		<category><![CDATA[it9dpx]]></category>
		<category><![CDATA[lcd]]></category>

		<guid isPermaLink="false">http://www.gdevnet.it/?p=225</guid>
		<description><![CDATA[Semplicissimo circuito dimostrativo che vi consentirà di verificare sperimentalmente e con poca difficoltà, tutte le possibilità operative di un display intelligente a cristalli liquidi da due righe per sedici caratteri, col solo ausilio della porta parallela del vostro P.C.


Related posts:<ol><li><a href='http://www.gdevnet.it/2009/01/11/impariamo-ad-usare-il-protocollo-i2c/' rel='bookmark' title='Permanent Link: Impariamo ad usare il protocollo I2C.'>Impariamo ad usare il protocollo I2C.</a></li>
<li><a href='http://www.gdevnet.it/2009/01/17/timer-ciclico-programmabile-24h/' rel='bookmark' title='Permanent Link: Timer ciclico programmabile 24h.'>Timer ciclico programmabile 24h.</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p class="MsoBodyText" style="TEXT-ALIGN: left"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;"><span style="color: #ff0000;">Usiamo il protocollo “HD44780”</span><strong> </strong></span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">Salve, vorrei descrivervi in questa occasione il funzionamento ed i comandi necessari a pilotare in modo corretto un display a cristalli liquidi. Ormai se ne trovano tanti in giro nei negozi e nelle bancarelle a prezzi veramente allettanti che vanno da circa cinque Euro e oltre per i tipi più sofisticati. Per la precisione analizzeremo tutti i codici di controllo per attivare un display a due righe da sedici caratteri ciascuna, funzionante con logica “HD44780” della Hitachi. Vorrei subito chiarire che quando parliamo di sedici caratteri per riga, ci riferiamo ai caratteri visualizzati, perché in realtà ve ne sono altri ventiquattro fuori schermo per un totale di quaranta caratteri per riga.</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">Per esplicitare meglio le idee mi avvarrò anche di un semplice programmino che ho preparato in “visual basic”, col quale potremo attraverso la porta parallela di un personal computer, inviare i vari codici di controllo al display e verificarne subito gli effetti. Il circuito elettrico da me utilizzato e che vi propongo, raffigura solo i collegamenti tra la porta parallela di un P.C. ed il display, infatti, per le prove dimostrative che faremo noi, non occorrono altri componenti. Per ragioni di sicurezza e di protezione dei circuiti interessati è consigliabile l’uso di una batteria di pile con una tensione complessiva compresa tra 4 e 5 volt. Nel mio caso ho utilizzato tre pile stilo, per un totale di circa 4,5 volt.</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: center;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;"><a rel="”lightbox”" href="http://www.gdevnet.it/wp-content/uploads/2009/01/sch_hd.gif" rel="lightbox[225]"><img class="aligncenter size-medium wp-image-354" style="border: 1px solid black;" src="http://www.gdevnet.it/wp-content/uploads/2009/01/sch_hd-300x243.gif" alt="sch_hd" width="300" height="243" /></a><span id="more-225"></span><br />
</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;"><span style="color: #ff0000;">M</span><span style="color: #ff0000;">i raccomando per i collegamenti attenetevi scrupolosamente allo schema elettrico visibile in fig.1, procedendo con la massima cautela. Vi ricordo inoltre che un uso improprio della porta parallela potrebbe comportarne la sua immediata ed irreversibile distruzione; perciò qualora decideste di mettere in pratica i suggerimenti dati in questo articolo, lo farete solo a vostro rischio e pericolo. </span></span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">Dopo aver effettuato i collegamenti, avviate il programma ed alimentate il circuito, a questo punto compariranno sul display una serie di rettangolini al posto dei caratteri che spariranno dopo che col mouse farete click sul pulsante inizializza. L’inizializzazione si rende necessaria ogni volta che si da alimentazione al display, serve ad impartire innanzi tutto i primi comandi relativi al tipo di comunicazione, se deve avvenire su quattro oppure su otto fili e se si sta lavorando con un display ad una o a due righe. </span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">Tali codici espressi in esadecimale, sono dati col seguente ordine: 30-01-02-06-0F-14-28-01. Se clickate adesso sul pulasante invia testo, sul display comparirà la scritta text2 visibile nella finestra sopra al pulsante in questione. Se cambierete il contenuto di tale finestra, sostituendo text2 con qualsiasi altro testo e premendo “invia testo”, quest’ultimo contenuto sarà inviato al display e comparirà sullo schermo LCD.</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">Dopo questo breve collaudo, passiamo adesso ad analizzare tutti i possibili codici binari che possiamo inviare al display, essi sono rappresentati nella <a class="aligncenter" href="http://digilander.libero.it/francodpx/filefoto/ISTR_HD.gif" rel="lightbox[225]" target="_blank"><span style="color: #ff0000;">TABELLA N°1</span></a> con una breve descrizione relativa ad ogni singolo bit.</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: center;">
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">1) Analizzando la prima riga ci rendiamo subito conto che abbiamo la possibilità di inviare un solo codice e cioè 0000.0001; tale codice sarà inviato ogni qual volta clickeremo sul pulsante “cancella display” e ciò comporterà la cancellazione di tutti i caratteri, anche di quelli fuori schermo ed il posizionamento del cursore all’inizio della prima riga.</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">2) Anche per la seconda riga possiamo inviare un solo codice utile e cioè “0000.0010” semplicemente clickando sul pulsante “curs. e sch. all’inizio”, ciò comporterà il posizionamento del cursore e dello schermo all&#8217;inizio della prima riga, lasciando inalterato il contenuto dello schermo.</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">3) Esaminando adesso la terza riga, ci accorgiamo che il terzo bit e sempre a livello logico uno, quindi i possibili codici potranno essere soltanto quattro e cioè: </span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">&#8220;0000.0110&#8243; per spostare il cursore a destra dopo la stampa di un carattere;</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">&#8220;0000.0100&#8243; per spostare il cursore a sinistra dopo la stampa di un carattere;</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">&#8220;0000.0101&#8243; per spostare lo schermo a destra dopo la stampa di un carattere;</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">&#8220;0000.0111&#8243; per spostare lo schermo a sinistra dopo la stampa di un carattere.</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">Provate ad abilitare a turno le quattro modalità e ad inviare il testo al display per verificarne gli effetti.</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">4) Anche nella quarta riga notiamo che un bit è sempre ad uno logico, in questo caso il quarto bit. Il terzo bit serve a determinare se lo schermo è attivo cioè visibile oppure spento cioè invisibile. Tale funzione si può facilmente verificare premendo sul pulsante &#8220;schermo off&#8221;. Gli altri due bits in combinazione tra loro, daranno origine a quattro possibili codici come segue: </span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">&#8220;0000.1110&#8243; per accendere il cursore;</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">&#8220;0000.1100&#8243; per spegnere il cursore;</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">&#8220;0000.1111&#8243; per rendere il carattere sotto cursore lampeggiante;</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">&#8220;0000.1101&#8243; per rendere il carattere ed il cursore lampeggiante.</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">Anche in questo caso abilitando a turno le quattro modalità intervenendo sui quattro relativi pulsanti, sarà possibile verificarne immediatamente gli effetti.</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">5) La quinta riga ormai siamo perfettamente in grado di individuarla, perché il quinto bit è sempre ad uno logico, mentre con gli altri due bits in combinazione tra loro, sarà possibile ottenere quattro possibili codici come segue: </span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">&#8220;0001.0100&#8243; per spostare il cursore a destra;</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">&#8220;0001.0000&#8243; per spostare il cursore a sinistra;</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">&#8220;0001.1100&#8243; per spostare lo schermo a destra;</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">&#8220;0001.1000&#8243; per spostare lo schermo a sinistra.</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">Anche in questo caso clickando a turno sui quattro pulsanti, sarà possibile verificare subito l’effetto prodotto.</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">6) La sesta riga la riconosciamo dal suo sesto bit sempre a livello logico uno.</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">Il quinto bit indicato con &#8220;DL&#8221; se posto a LL1, attiverà la comunicazione del display col mondo esterno attraverso un buffer ad otto fili; mentre se posto a LL0 attiverà la comunicazione con un buffer a quattro fili come nel nostro caso.</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">Il quarto bit indicato con &#8220;N&#8221; se posto a LL1, attiverà la comunicazione con un display a due righe come nel nostro caso; mentre se posto a LL0 attiverà la comunicazione con un display ad una riga. Il terzo bit indicato con &#8220;F&#8221; se posto a LL1, attiverà la visualizzazione dei caratteri da 5*10 pixel; mentre se posto a LL0 attiverà la visualizzazione dei caratteri da 5*7 pixel come nel nostro caso.</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">7) La settima riga riconoscibile per il suo settimo bit sempre a LL1, ci permette di individuare ogni riga di ognuno degli otto caratteri grafici modificabili dall’utente. Dobbiamo prima ricordare che ogni carattere è costituito da otto righe, ed ogni riga è costituita da cinque pixel, come rappresentato nella Tabella n° 2. Ebbene determineremo il numero del carattere inserendo dei bits al posto delle lettere &#8220;C&#8221; in modo da ottenere un codice binario da zero a sette; e determineremo il numero di riga inserendo dei bits al posto delle lettere &#8220;R&#8221; in modo da ottenere un codice binario da zero a sette. In questo modo potremo scrivere e quindi modificare una qualsiasi delle otto righe costituenti uno degli otto caratteri definibili dall’utente. Il contenuto della riga e quindi lo stato dei relativi pixel va inviato come dato normale, come vedremo più avanti nella decima riga.</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">Per semplicità nell’esempio riportato nel programma dimostrativo, ho preferito dare le coordinate iniziali del primo carattere e della prima riga, cioè il codice &#8220;0100.0000&#8243;; e successivamente uno dietro l’altro il contenuto di tutte le righe, per un totale di sessantaquattro dati (righe). Nell’esempio riportato nella <a href="http://digilander.libero.it/francodpx/filefoto/PERS_CHR.gif" rel="lightbox[225]" target="_blank"><span style="color: #ff0000;">TABELLA n° 2</span></a> , si può vedere come dopo aver realizzato una griglia di 5*7, e dopo aver inserito degli uno in corrispondenza dei bits da accendere, si possa facilmente ottenere un carattere grafico che riproduce un diodo zener, ed a destra si possono ricavare i valori decimali da andare ad inserire in memoria per la personalizzazione dei caratteri. Nella <a href="http://digilander.libero.it/francodpx/filefoto/PERS_CHR.gif" rel="lightbox[225]" target="_blank"><span style="color: #ff0000;">TABELLA n° 3</span></a> invece, è visibile la griglia per definire il simbolo elettrico del condensatore. A tal proposito provate a clickare sui pulsanti &#8220;AGGIORNA (1) &#8221; o &#8220;AGGIORNA (2) &#8221; seguiti dal pulsante &#8220;EFFETTO&#8221;, vedrete dei caratteri in rapida successione sullo schermo, tale da dare un effetto di animazione.</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: center;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;"><br />
</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: center;">
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;"> <img src='http://www.gdevnet.it/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> L’ottava riga riconoscibile per il suo ottavo bit sempre a LL1, ci permette di posizionare il </span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">cursore su una delle quaranta locazioni della prima o della seconda riga del display, senza modificare il carattere contenuto nella locazione stessa. Ciò è possibile modificando in modo opportuno gli altri sette bits dell’ottava riga; che complessivamente dovrà contenere un codice esadecimale compreso tra 80h e A7h per indirizzare la prima riga del display; e tra C0h e E7h per indirizzare la seconda riga del display.Fin qui abbiamo visto che ogni riga è facilmente individuabile dal suo bit più a sinistra sempre a LL1, lo stesso criterio di riconoscimento è adottato ed implementato nella logica di controllo interna del display. </span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">9) La nona riga non rappresenta un dato da inviare al display, ma un dato proveniente dal display che possiamo quindi leggere come se si trattasse di una memoria. Tale valore se letto, ci consente di conoscere in qualsiasi momento la posizione occupata dal cursore in quell’istante; tenendo presente che nella lettura viene ignorato l’ottavo bit che è di controllo. Inoltre leggendo il bit &#8220;BF&#8221; possiamo sapere se il display è occupato con operazioni sue interne, cioè quando tale bit è a LL1; nel qual caso dobbiamo attendere che il bit torni a LL0 prima di inviare altri dati al display. <a href="http://digilander.libero.it/francodpx/filefoto/FLUS_LETT.gif" rel="lightbox[225]" target="_blank"><span style="color: #ff0000;">FLOW-CHART LETTURA</span></a></span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: center;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;"><br />
</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: center;">
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">10) La decima riga serve ad inviare i codici di controllo al display, oppure un carattere da scrivere sul display (DDRAM) o sui caratteri definibili dall’utente (CGRAM). Tenete presente che dopo ogni operazione di scrittura, il contatore della posizione del cursore (Address Counter) sarà incrementato automaticamente di una unità. <a href="http://digilander.libero.it/francodpx/filefoto/FLUS_SCRI.gif" rel="lightbox[225]" target="_blank"><span style="color: #ff0000;">FLOW-CHART SCRITTURA</span></a></span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: center;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;"> </span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: center;">
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">11) L’undicesima ed ultima riga, come la nona riga serve a leggere un dato proveniente dal display (DDRAM), relativo al codice del carattere sotto al cursore in quel momento, oppure a leggere il valore binario della riga di uno dei caratteri definiti dall’utente (CGRAM). Anche in questo caso, tenete presente che dopo ogni operazione di lettura, il contatore della posizione del cursore (Address Counter) sarà incrementato automaticamente di una unità. </span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">Quanto fin qui descritto per grandi linee, oltre che verificato col programmino dimostrativo, può essere supportato dai diagrammi di flusso che ci aiuteranno a stilare eventuali software di pilotaggio del display; nel linguaggio da noi scelto.</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">Prima di concludere ritengo opportuno spendere due paroline anche riguardo ai collegamenti fisici effettuati tra P.C. e display. Iniziamo col ricordare che le linee che si dipartono dai pins della porta parallela, indicati coi numeri 6; 7; 8 e 9; sono solo quattro degli otto fili di input/output, facenti capo al registro 0378h della porta parallela. A stabilire quando le linee sono d’uscita o d’ingresso, provvede il quinto bit del registro 037Ah che se posto a uno impone che linee siano d’input, se posto a zero impone che le linee siano d’output. Sempre al registro 037Ah fanno capo le linee di output dei pins 1; 14 e 17; con le quali come visto precedentemente, si comanda il display in scrittura, lettura od indirizzamento. Per finire il pin n° 20 è il collegamento di riferimento a massa per tutti i fili di input/output della porta parallela.</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: justify;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">Spero di non aver tralasciato nulla d’importante e di essere riuscito a rendere più familiare un oggetto molto utile, che per la sua versatilità è presente in molti progetti elettronici. Con questo vi saluto e vi auguro buon divertimento e naturalmente non esitate a contattarmi per eventuali suggerimenti o chiarimenti.</span></span></span></p>
<p class="MsoNormal" style="margin: 5pt 0cm; text-align: right;"><span style="mso-bidi-font-size: 14.0pt;"><span style="font-family: Times New Roman;"><span style="font-size: small;">IT9DPX &#8211; #135 (Francesco M.)</span></span></span></p>


<p>Related posts:<ol><li><a href='http://www.gdevnet.it/2009/01/11/impariamo-ad-usare-il-protocollo-i2c/' rel='bookmark' title='Permanent Link: Impariamo ad usare il protocollo I2C.'>Impariamo ad usare il protocollo I2C.</a></li>
<li><a href='http://www.gdevnet.it/2009/01/17/timer-ciclico-programmabile-24h/' rel='bookmark' title='Permanent Link: Timer ciclico programmabile 24h.'>Timer ciclico programmabile 24h.</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.gdevnet.it/2009/01/11/impariamo-ad-usare-il-protocollo-hd44780/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

