/***************************************************************
Premier programme type "Hello World"
Essais d'interaction entre BP, LED et LCD
16F84 MikroC - Config. fusibles par défaut
FB Aka Hearty Juillet 2009
****************************************************************/
#define Tx PORTA.F0 //Pour futurs essais RS232
#define Rx PORTA.F1
#define led1 PORTA.F2
#define inter1 PORTA.F3
void main() {
char *text;
int buffer[4]; //variable tampon qui va recevoir la conversion Variable int en string affichable
char Bp; // variable d'affichage de l'état deu bouton poussoir
signed int compteur = 0; // compteur non affichable en l'etat
PORTB=0; // Mise à zéro des sorties Port B
TRISB = 0; // PORTB configuré en sortie
led1=0; // Mise à zéro de la sortie RA2
TRISA = 0b00001001; // RA0 et RA3 en entrées
Bp=inter1; //Affichage de l'état du bouton poussoir égale à l'état de RA3
Lcd_Init(&PORTB); // Initialiser le LCD connecté au PORTB
Lcd_Cmd(Lcd_CLEAR); // effacer l'écran
Lcd_Cmd(Lcd_CURSOR_OFF); // cacher le curseur
text="Hearty";
Lcd_Out(1, 5, text); // Ecrire text sur le LCD, 1ere ligne, 5 ieme col
Delay_ms(3000); // pause de 3s
while(1){ // infinie
led1=inter1; //La Led s'allume lorsque le bouton est activé
Lcd_Cmd(Lcd_CLEAR); //Effacer le LCD
text="Count";
LCD_Out(1,1,text);
text="Etat";
Lcd_Out(2,1,text);
if (inter1) //Si le BP est actif
text="On"; //Afficher "On"
else //autrement
text="Off"; //Aficher "Off"
Lcd_Out(2,10,text); // Sur le LCD
IntToStr(compteur,buffer); // convertir la variable en string dans buffer pour pouvoir l'afficher
Lcd_Out(1,6,buffer);
Delay_ms(300);
if(compteur >=99) // Si le compteur dépasse 99
compteur=0; // remise à zéro
else //autrement
Compteur++; // Incrémenter le compteur
}
}//Fin main