Due note:
1. Vuoi usare davvero PIC16F84? La versione "A", PIC16F84A presenta qualche miglioria rispetto alla versione senza A. In ogni caso, si tratta di prodotti obsoleti!
2. Se proprio vuoi usare il PIC16F84(A), attenzione che la porta RA4 è di tipo open drain. Se usata come output, va messa ua resistenza di pull-up:
Ciao.
Paolo.
Programmazione PIC 16F84 per pulsantiera
Moderatore:
Paolino
-
Paolino
32,6k 8 12 13 - G.Master EY

- Messaggi: 4226
- Iscritto il: 20 gen 2006, 10:42
- Località: Vigevano (PV)
- Contatta:
3
voti
[21] Re: Programmazione PIC 16F84 per pulsantiera
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong
-------------------------------------------------------------
PIC Experience - http://www.picexperience.it
-------------------------------------------------------------
PIC Experience - http://www.picexperience.it
-
Paolino
32,6k 8 12 13 - G.Master EY

- Messaggi: 4226
- Iscritto il: 20 gen 2006, 10:42
- Località: Vigevano (PV)
- Contatta:
3
voti
[23] Re: Programmazione PIC 16F84 per pulsantiera
cassvs ha scritto:... comunque le porte A le uso tutte in input... grazie :P
Beh, dovrai comunque prevedere un pull-up o un pull-down, dato che li usi come ingressi.
Ciao.
Paolo.
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong
-------------------------------------------------------------
PIC Experience - http://www.picexperience.it
-------------------------------------------------------------
PIC Experience - http://www.picexperience.it
0
voti
[24] Re: Programmazione PIC 16F84 per pulsantiera
beh non ho capito cosa dovrei fare in realtà...
Ultima modifica di
asdf il 13 giu 2012, 16:14, modificato 1 volta in totale.
Motivazione: Eliminata citazione integrale della risposta precedente. Per rispondere cliccare sul pulsante "Rispondi" e non sul pulsante "Cita".
Motivazione: Eliminata citazione integrale della risposta precedente. Per rispondere cliccare sul pulsante "Rispondi" e non sul pulsante "Cita".
1
voti
[25] Re: Programmazione PIC 16F84 per pulsantiera
Devi mettere dei resistori abbastanza elevati per evitare fluttuazioni del segnale dovuti ad eventi esterni se non erro. Si possono mettere in configurazione di pull-up o pull-down.
-
Paolino
32,6k 8 12 13 - G.Master EY

- Messaggi: 4226
- Iscritto il: 20 gen 2006, 10:42
- Località: Vigevano (PV)
- Contatta:
3
voti
[27] Re: Programmazione PIC 16F84 per pulsantiera
Si intende proprio quello. In altre parole:
ingresso con resistore di pull-up
ingresso con resistore di pull-down
Ciao.
Paolo
ingresso con resistore di pull-up
ingresso con resistore di pull-down
Ciao.
Paolo
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong
-------------------------------------------------------------
PIC Experience - http://www.picexperience.it
-------------------------------------------------------------
PIC Experience - http://www.picexperience.it
0
voti
[29] Re: Programmazione PIC 16F84 per pulsantiera
Allora... questo è lo schema realizzato con multisim:
Questo è il listato fatto da me in basic:
Ora vorrei simulare il tutto con multisim ma nn riesco a far andare il microcontrollore... ho messo in allegato un file zip con all'interno il progetto realizzato con multisim e il file .hex da dare al microcontrollore per testarlo. Spero che qualcuno mi aiuti!!!! File .zip:
Questo è il listato fatto da me in basic:
Codice: Seleziona tutto
program pulsantiera
'definizione delle variabili
dim led1 as byte
dim led2 as byte
dim led3 as byte
dim led4 as byte
dim led5 as byte
dim premuti as byte
dim i as word
main:
'impostazioni porte
TRISA=%11111
TRISB=%00000000
porta=0
portb=0
'inizio ciclo di attesa pressione pulsante
while true
led1=0
led2=0
led3=0
led4=0
led5=0
premuti=0
do
if (porta.0=1) and (premuti=0) then
led1=1
premuti=1
end if
if (porta.1=1) and (premuti=0) then
led2=1
premuti=1
end if
if (porta.2=1) and (premuti=0) then
led3=1
premuti=1
end if
if (porta.3=1) and (premuti=0) then
led4=1
premuti=1
end if
if (porta.4=1) and (premuti=0) then
led5=1
premuti=1
end if
loop until premuti=1
if led1=1 then
portb.0=1
end if
if led2=1 then
portb.1=1
end if
if led3=1 then
portb.2=1
end if
if led4=1 then
portb.3=1
end if
if led5=1 then
portb.4=1
end if
'attiva il buzzer per 1 secondo
for i=1 to 500
portb.6=1
Delay_ms(1)
portb.6=0
Delay_ms(1)
next i
'il codice qui sotto dovrebbe far restare attivo il led alla porta portb.5 per 5 secondi
'l'ho inserito per far si che alla fine del tempo ammesso per dare la risposta si spenga il led che indica il tempo senza che si disattivi quello relativo al pulsante premuto
portb.5=1
Delay_ms(5000)
portb.5=0
wend
end.Ora vorrei simulare il tutto con multisim ma nn riesco a far andare il microcontrollore... ho messo in allegato un file zip con all'interno il progetto realizzato con multisim e il file .hex da dare al microcontrollore per testarlo. Spero che qualcuno mi aiuti!!!! File .zip:
-
Paolino
32,6k 8 12 13 - G.Master EY

- Messaggi: 4226
- Iscritto il: 20 gen 2006, 10:42
- Località: Vigevano (PV)
- Contatta:
3
voti
[30] Re: Programmazione PIC 16F84 per pulsantiera
Purtroppo non ho multisim, non posso aiutarti in tal senso 
Ora sono un po' KO (sono in piedi da mooooooolto presto, forse troppo presto
) e non riesco a connettere come vorrei. Domani leggerò il codice, a mente fresca e riposata. Premetto che con il BASIC non sono molto forte, quindi se commetterò qualche errore di sintassi, dovrai sistemarlo tu.
Ciao.
Paolo.
P.S. Per cortesia, utilizza FIDOCADJ per disegnare gli schemi. Non costa nulla, si integra con ElectroYou e ne è apprezzato da amministratori e moderatori del forum
Vai nel menu HELP del forum e troverai come e dove scaricarlo nonché una semplice guida all'uso.

Ora sono un po' KO (sono in piedi da mooooooolto presto, forse troppo presto
Ciao.
Paolo.
P.S. Per cortesia, utilizza FIDOCADJ per disegnare gli schemi. Non costa nulla, si integra con ElectroYou e ne è apprezzato da amministratori e moderatori del forum
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong
-------------------------------------------------------------
PIC Experience - http://www.picexperience.it
-------------------------------------------------------------
PIC Experience - http://www.picexperience.it

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)





