primo programma

12 Anni 7 Mesi fa #1 da Fausto
primo programma è stato creato da Fausto
Ciao a tutti,
per una volta non chiedo aiuto ma vorrei condividere con voi una piccola gioia.
Mi hanno dato un piccolo lavoro da fare in azienda ed ho subito risposto alla soluzione "con un micro". Mi sono messo e ho realizzato il tutto con il prototipo.

Il programma è una sciocchezza, lo so, ma la soddisfazione che ho avuto nel vederlo funzionare mi ha reso piu' che soddistatto. Dopo il primo LED che si accende, vedere un proprio proogramma che gira credo che sia una cosa indimenticabile...Vorrei condividerlo con voi, perchè senza di voi non sarei riuscito neanche a compilarlo o ad aprire MPLAB
Quindi grazie a tutti, in particolare a Mauro


include <p18f2458.h>
#include "delay.h"

#pragma config FOSC = HS //OSC = HS High frequency
#pragma config WDT = OFF //Diseable the watchdog timer
#pragma config LVP = OFF // Diseable programmation LVP
#pragma config PBADEN = ON // Enable the analog input

void main (void)
{
int ADC=0;
int dato=0;
int i=0;
//set the portA in input
LATA=0x00;
TRISA=0XFF;
//set the PortB in output
LATB=0x00;
TRISB=0X00;
//set the PortC in output
LATC=0x00;
TRISC=0x00;

LATCbits.LATC6=0;
LATBbits.LATB2=0;
/*inizialization ADC: Vref -, Vref +, AN0 ON */

ADCON1=0b00111110;



/*channel AN0 enable but the module ADC is still disable.*/
ADCON0=0b00000000;

/*Select acquisition time and conversion clock
Tamp=0.2us
Tc=1.093us
Tcoeff= 1.2us
Tacq= 2.5us
if TAD=4/Fosc=0.2us
and 16TAD acquisition time
*/
ADCON2=0b10110100;

/*Enable the module*/
ADCON0bits.ADON=0x01;
// ciclo infinito
while (1)
{
ADC=0;


for(i=0;i<8;i++)
{
//Go the module ADC
ADCON0bits.GO=1;

//wait
while(ADCON0bits.GO);


ADC=((int) ADRESH)<<8 | ADRESL;

/*sum*/
dato=dato+ADC;

}
//shift 3 position to get a average
dato=dato>>3;


if(dato>500 && dato<1000)
//switch led red and green on
{
LATCbits.LATC6=1;
LATBbits.LATB2=1;
}
if (dato<500){
//switch led green on
LATCbits.LATC6=0;
LATBbits.LATB2=1;
}
if (dato>1000){
//switch led red on
LATCbits.LATC6=1;
LATBbits.LATB2=0;
}
}
}

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Fausto
  • Avatar di Fausto
  • Premium Member
  • Premium Member
Di più
12 Anni 7 Mesi fa #2 da Matteo Garia
Risposta da Matteo Garia al topic Re: primo programma
Complimenti!
Ti capisco, pure io ho avuto una grandissima soddisfazione quando ho visto il mio primo programma dedicato ad un'applicazione reale in funzione ;)
(si trattava di un controllo automatico di un'elettrovalvola per l'aria compressa, che ho installato nel nostro garage/laboratorio)

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Matteo Garia
  • Avatar di Matteo Garia
  • Moderator
  • Moderator
Di più
12 Anni 7 Mesi fa #3 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: primo programma
Complimenti!
...spero tu abbia fatto bella figura! :)

...io metto solo del materiale a disposizione!
...sta poi alle persone trarne vantaggio e farne uso!
...un libro non si legge da solo!
...c'é bisogno della volonta' del leggerlo.
Solo questo permette di raccogliere i frutti.

Buon lavoro.

...ich Wunsche dir vielen Spaß im Mikrocontroller Welt! :)

Mauro

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
Moderatori: Mauro LaurentiPinnaStefAMatteo Garia

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login