FREQUENZIMETRO su RB0 con PIC16F8xxx

Ciao a tutti ,per necessita di laboratorio dovrei collegare un frequenzimetro all'uscita di una scheda che genera impulsi con frequenze comprese tra 0,5Hz e 3,3Hz e visualizzare la frequenza su display LCD. Controllando un po le metodologie ho visto che abilitando l'interrupt sul pin RB0 =E8 possibile ad esempio contare il numero di impulsi di clock che intercorrono tra due sucessivi fronti di salita del segnale di ingresso misurando cosi il periodo e calcolandone il reciproco per risalire alla frequenza.

Le frequenze in gioco sono molto basse(da 0,5 Hz a 3,3 Hz)

Non avendo esperienze di programmazione vi chiederei tempo permettendo di darmi una mano nella stesura del programma. Potrei scriverlo in Mikrobasic. Sarebbe molto INTERESSANTE riuscire anche ad utilizzare la funzione di sleep-mode automatico del pic che permetterebbe di mandare in StandBy il PIC qualora non arrivino impulsi per piu di X secondi . Utilizzerei un PIC 16F84 oppure un 16F877A).

Mi sareste molto d'aiuto.

Vi ringrazio tutti in anticipo.

;-)

Reply to
vincengineer
Loading thread data ...
*Non avendo esperienze di programmazione vi chiederei tempo permettendo di darmi una mano nella stesura del programma.* se guardi i post passati è un argomento discusso e troverai utili spunti

oppure anche qui:

formatting link

ma c'è ne sono altri per la rete

-ice-

Reply to
ice

Mi spiace ma nel link che mi hai dato(che tra l'altro avevo gia visto )viene realizzato un frequenzimetro,cio=E8 un dispositivo che genera diversi tipi di segnali, a me serve contare degli impulsi quindi la mia necessit=E0 =E8 completamente diversa... GRAZIE lo stesso!

Reply to
vincengineer

ehm.. quello è un "generatore di funzioni"

appunto.. un certo numero di impulsi nell'unità di tempo costituisce una frequenza e un frequenzimetro è un dispositivo che misura la frequenza dei segnali.. :D Tralaltro mi piace il sistema per pilotare tutti i display con un solo port e 4 bit di selezione. Mi piacerebbe vedere i sorgenti ma ho trovato solo il file Hex.. :(

--
Davide C.
www.ingegnerando.it
 Click to see the full signature
Reply to
ahrfukkio

"ahrfukkio"

è probabile che ti riferisci a un file nel link...che non ho visto,ma un file.hex è il più sorgente di tutti!!(cioè quello sarebbe il binario).. voglio dire, non so bene per i pic, ma di certo puoi ricavarne un file.asm. ogni comando(asm) ha un codice numerico esadecimale fisso, l'hex non è altro che codice-parametro_codice-parametro...ecc.. un compilatore(dall'asm) non fa altro che sostituire il cod e mettere in ordine per riga. in definitiva se hai l'hex hai anche il programma.
Reply to
rawmode

si è vero, in effetti mi son espresso male.. per "file sorgente" intendevo il listato in un qualche linguaggio di alto livello.. dall'HEX si potrà ricavare il codice assembly ma per me che ho sempre usato il C ci vorrebbe piu tempo per comprenderlo che riscrivermi il programma da zero. :-/

--
Davide C.
www.ingegnerando.it
 Click to see the full signature
Reply to
ahrfukkio

"ahrfukkio"

giusto quello che dici ma i progs per i chip sono relativamente corti, molto meno di certo, di qualsiasi software per pc; per questo penso che il tuo sia una sorta di pregiudizio, classico per giunta. io ho appena cominciato ad approcciare il 16f84, il quale ha solo 35 comandi asm....e in una settimana di relativa attenzione, non dubito che ne capiresti la dinamica. che tra l'altro è sempre del tipo: prendi quella macchina là e spostala qua, ecc;)...singoli comandi, molto semplici. considerane invece la potenza, in quanto qualsiasi linguaggio si riduce alla fine a questo. io non ne conosco nessuno di linguaggi, ma tu fuori dal "c" ...sei perso!!;) scherzo eh... ciao..

Reply to
rawmode

beh, "relativamente semplici" è abbastanza "relativo" finchè si tratta di far lampeggiare un led è un conto ma se cominci a fare un programmello che adopera delle funzioni e magari che dialoga con altre periferiche è un altro.. un mesetto fa ho provato a spippolare con i display LCD grafici.. solo tra inizializzarlo, mettermi in un certo punto della matrice e printare una riga nera mi ci son volute 100 linee di codice in C.. sicuramente saranno scritte male e potrei ridurle però se in C ho usato 100 linee quanto sarebbe stato lungo il programma in assembly? Sicuramente in assembly hai una migliore cognizione dell'hardware che hai a disposizione ma se usi una programmazione ad altro livello IMHO è tutto enormemente piu semplice.. pensa che io dopo una settimana che ci spippolavo gia riuscivo a leggere la temperatura da un sensore seriale e stamparla sul pc. :D

Beh, quando ci sarà la terza guerra mondiale e dovremo ricostruire la nostra civiltà da zero in effetti potrebbe far comodo saper programmare a quel livello.. :P

anche io :D

saluti :)

--
Davide C.
www.ingegnerando.it
 Click to see the full signature
Reply to
ahrfukkio

"ahrfukkio"

se in C ho usato 100 linee quanto

sì, l'assembly è come prendere l'autostrada con un mulo!! il clock è quello..;)

viva l'itaglia! ma noi non ci saremo... (perché eravamo su marte)

Reply to
rawmode

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.