sergio19 Inserito: 20 aprile 2008 Segnala Inserito: 20 aprile 2008 Ciao a tutti mi sono appena iscritto al forum e spero che qualcuno mi possa aiutare , ho appena comprato la scheda easypic 4 per lavorare con i pic e come compilatore uso il mikro C la versione demo per ora.Per la scuola dovrei progettare e programmare un 16F877a che collegato a due display a sette segmenti fa da conta pezzi ora mi spiego meglio , con un pulsante collegato alle porte del pic si deve incrementare di un numero il conteggio fino ad arrivare a 30 , per poi ritornare a 0 e riprendere .Non so se c'è qualcuno di voi che usa o a usato il compilatore della mikro C ma nella sezzione esempi c'è un programma display 7 segmenti 2 che esegue un conteggio da 0 a 99 in modo ciclico con un intervallo di tempo , come posso modificarlo per adattarlo alla mia esigenza c'è qualcuno che può aiutarmi ? Ringrazio ancora tutti
Livio Orsini Inserita: 20 aprile 2008 Segnala Inserita: 20 aprile 2008 Presumo che l'esempio di cui parli si limiti a convertire una variabile in due numeri BCD ed a visualizzarli.Tu per realizzare il tuo contapezzi devi collegare il pulsante ad un ingresso del pic. Fai un temporizzatore usando l'interrupt sul timer1 (per esempio) e leggi la porta ogni 10 ms. Se riconosci la variazione 0--> dell'ingresso verifichi che mantenga lo stao 1 per almeno 10 ms (due letture consecutive), così fai anche un filtro antirimbalzo. Se la condizione è vera incrementi una variabile, se il valore della variabile è <=30 passi la variabile alla routine di visualizzazione, altrimenti poni a 1 la vaiabile e la passi alla routine di visualizzazione.In questo modo visualizzerai il conteggio tra zero e 30, raggiunti 30 conteggi un ulteriore impulso causa il reset del contatore che conta 1 impulso.
walterword Inserita: 20 aprile 2008 Segnala Inserita: 20 aprile 2008 come ti dice il caro livio ottieni un incremento tenendo in considerazione dell'antirimbalzo del pulsante filtrato di 10 ms .se vuoi fare una cosa piu grezza puoi un intero per il cotnatore da visualizzare ed un intero per il debounce .Per esempio if ( pulsante ==1 and memoria ==0) { conteggio ++;}memoria=pulsante ;Poi per convertire in bcd ci sono le librerie
sergio19 Inserita: 22 aprile 2008 Autore Segnala Inserita: 22 aprile 2008 Ciao e grazie a tutti sono riuscito a compilare il mio programma per quello che volevo si lo fatto come dice walterword grezzo ma funziona e per ora mi sembra un bun punto di partenza per me grazie ancora a tutti per il prezioso aiuto
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora