PIC

Meglio il C o l’assembler?

  • by

Questa è una domanda che spesso si pone chi lavora con i controllori e scrive firmware. Vorremmo avere una risposta universalmente applicabile, ma ogni volta che andiamo in una direzione ci torna il dubbio che forse l’altra scelta sarebbe stata la migliore.
Non voglio certo avere la pretesa di dare la soluzione a questo dilemma, mi fa però piacere descrivere la soluzione che ho adottato, che mi sta facendo lavorare molto bene da parecchio tempo, con una buona efficienza nel tempo dedicato alla scrittura del codice. Riporto inoltre alcune informazioni che permettono sicuramente di farsi un’idea migliore e prendere una decisione.

Read More »Meglio il C o l’assembler?

Registratore di temperatura

  • by

Il progetto qui descritto è un termometro/orologio con funzionalità di campionatore della temperatura. Il dispositivo funziona stand alone ed ha la possibilità di interfacciarsi via seriale (RS232) con un pc per effettuare il trasferimento dati. Lo stesso collegamento serve per impostare i parametri di configurazione. Il circuito è dotato di RTC (real time clock) con batteria tampone per mantenere l’ora impostata anche in assenza di batteria. La visualizzazione avviene tramite display lcd 2 righe x 16 caratteri.
Nella foto è visibile lo schema a blocchi.

regtemp
Read More »Registratore di temperatura

Come pilotare i display LCD tipo HD44780

  • by

Un valido dispositivo di output quando si lavora con i controllori è il display LCD. Ne esistono diversi per dimensioni (numero di righe e lunghezza righe). Quello mostrato nella foto è 2×16, ma l’interfacciamento è lo stesso anche con altre dimensioni. Il protocollo qui descritto (con allegato codice sorgente in C) prevede un interfacciamento di 4 bit di dati (oltre ai 3 di controllo).

hd44780

Read More »Come pilotare i display LCD tipo HD44780

Routine I2C per controllori PIC implementate in C

  • by

Lavorando con i PIC possiamo aver bisogno di utilizzare il protocollo I2C dovendolo implementare a basso livello in C o in assembler (bit banging). Questo capita se lavoriamo con un controllore di fascia base che non offre nativamente tale funzionalità.

Purtroppo mi sono trovato in questa necessità e le routine fornite di esempio con il compilatore PICC di Hitech (il compilatore che utilizzo di solito) non sono riuscito a farle funzionare. Non so se perché errate, o se per colpa dell’ottimizzazione che nella versione freeware non è garantita.

Read More »Routine I2C per controllori PIC implementate in C