Io uso una scheda FreedomII con installato il pic 16F877A,come compilatore uso il MPLAB IDE v8.92.
Come LCD uso un 16x2 e le librerie sono quelle scaricare dal sito "Settore Zero".
Nel file "setting.h" ho messo queste variabili:
//variabili per conversione Decimale -> Esadecimale
unsigned char decinaH=0;
unsigned char unitaH=0;
Mentre nel "main.c" ho inserito le seguenti istruzioni:
//************************************************
//* Converto gli 8 bit alti *
//************************************************
unitaH = ADRESH & 0b00001111; // unità = 4 bit bassi del byte in ingresso
decinaH = (ADRESH & 0b11110000) >> 4; // decine = 4 bit alti del dato in ingresso
LCD_GOTO(2,1);
if (decinaH<10)
{
LCD_PUTCH(decinaH+0b00110000); // scrivo cifra piu significativa da 0 a 9
}
else
{
LCD_PUTCH(decinaH+0b00110111); // scrivo cifra piu significativa da A a F
}
if (unitaH<10)
{
LCD_PUTCH(unitaH+0b00110000); // scrivo cifra piu significativa da 0 a 9
}
else
{
LCD_PUTCH(unitaH+0b00110111); // scrivo cifra piu significativa da A a F
}
Visto che uso spesso nel programma queste istruzioni, devo capire come creare una funzione e richiamarla quando mi serve in modo da avere il listato piu' leggibile.
Saluti
Lello