Programmazione PIC 16F84 per pulsantiera

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

Avatar utente
Foto Utentecassvs
30 1 4
Messaggi: 45
Iscritto il: 12 giu 2012, 1:34
Località: SALERNO
0
voti

[1] Programmazione PIC 16F84 per pulsantiera

Messaggioda Foto Utentecassvs » 13 giu 2012, 11:44

Salve ragazzi! innanzitutto grazie per il tempo che mi dedicherete.
Allora: io devo programmare un PIC 16f84 in basic... devo realizzare questo:
Immagine
Ovvero una pulsantiera per quiz, solo che al posto di 4 a me servono 5 pulsanti con altrettanti 5 led e serve anche un buzzer che mi emette un suono udibile alla pressione di uno dei pulsanti... inoltre vorrei che si resettasse con la pressione di un pulsante di reset. questo è il listato relativo allo schema di sopra.
Immagine
grazie mille a todos!

Avatar utente
Foto Utentefairyvilje
15,0k 4 9 12
G.Master EY
G.Master EY
Messaggi: 3047
Iscritto il: 24 gen 2012, 18:23
Contatta:
1
voti

[2] Re: Programmazione PIC 16F84 per pulsantiera

Messaggioda Foto Utentefairyvilje » 13 giu 2012, 11:57

http://www.google.com/url?sa=t&rct=j&q= ... tQ&cad=rja
Secondo le specifiche puoi usare le porte siglate con a. Vanno mappate con l'istruzione credo TRISA=%xxxx
e va aggiunto un altro blocco if end if. Se riscrivi il codice in formato modificabile posso anche correggertelo

Avatar utente
Foto Utentecassvs
30 1 4
Messaggi: 45
Iscritto il: 12 giu 2012, 1:34
Località: SALERNO
0
voti

[3] Re: Programmazione PIC 16F84 per pulsantiera

Messaggioda Foto Utentecassvs » 13 giu 2012, 11:59

Eccotelo e grazie mille! :ok:

Codice: Seleziona tutto

program quiz
TRISB=%00001111
portb=0
while true
if portb.0=1 then
   portb.4=1
   break
end if
if portb.1=1 then
   portb.5=1
   break
end if
if portb.2=1 then
   portb.6=1
   break
end if
if portb.3=1 then
   portb.7=1
   break
end if
wend
while true
wend
end.

Avatar utente
Foto Utentecassvs
30 1 4
Messaggi: 45
Iscritto il: 12 giu 2012, 1:34
Località: SALERNO
0
voti

[4] Re: Programmazione PIC 16F84 per pulsantiera

Messaggioda Foto Utentecassvs » 13 giu 2012, 12:08

Avrei anche un ulteriore problemino... voglio testare il tutto con il software Multisim 11... il problema è che non ha l'oscillatore da 4Mhz... come devo ovviare?

Avatar utente
Foto Utentefairyvilje
15,0k 4 9 12
G.Master EY
G.Master EY
Messaggi: 3047
Iscritto il: 24 gen 2012, 18:23
Contatta:
1
voti

[5] Re: Programmazione PIC 16F84 per pulsantiera

Messaggioda Foto Utentefairyvilje » 13 giu 2012, 12:10

Codice: Seleziona tutto

program quiz
TRISA=%00001
TRISB=%00001111
porta=0
portb=0
while true
if portb.0=1 then
   portb.4=1
   break
end if
if portb.1=1 then
   portb.5=1
   break
end if
if portb.2=1 then
   portb.6=1
   break
end if
if portb.3=1 then
   portb.7=1
   break
end if
if porta.0=1 then
   porta.1=1
   break
end if
wend
while true
wend
end.

Ed ora modifichi lo schema aggiungendo lo spezzone che vedi sulle altre coppie di porte a porta.0 e porta.1.
Ad ogni modo non capisco l'utilità i usare il PIC per una cosa così :)

PS. Corretto
Ultima modifica di Foto Utentefairyvilje il 13 giu 2012, 12:15, modificato 3 volte in totale.

Avatar utente
Foto Utentecassvs
30 1 4
Messaggi: 45
Iscritto il: 12 giu 2012, 1:34
Località: SALERNO
0
voti

[6] Re: Programmazione PIC 16F84 per pulsantiera

Messaggioda Foto Utentecassvs » 13 giu 2012, 12:11

E come potrei realizzarlo in un modo più semplice?

Avatar utente
Foto Utentefairyvilje
15,0k 4 9 12
G.Master EY
G.Master EY
Messaggi: 3047
Iscritto il: 24 gen 2012, 18:23
Contatta:
1
voti

[7] Re: Programmazione PIC 16F84 per pulsantiera

Messaggioda Foto Utentefairyvilje » 13 giu 2012, 12:17

Senza PIC... a meno che non sia un progetto per scuola. In fondo sono semplici interuttori che pilotano led :) un microprocessore è inutile.

Avatar utente
Foto Utentecassvs
30 1 4
Messaggi: 45
Iscritto il: 12 giu 2012, 1:34
Località: SALERNO
0
voti

[8] Re: Programmazione PIC 16F84 per pulsantiera

Messaggioda Foto Utentecassvs » 13 giu 2012, 12:21

beh io ho provato a farlo anche cosi...
http://www.electroyou.it/phpBB2/viewtopic.php?t=16714&p=310562#p310562
ma ho avuto molti probelmi ed ancora non ho trovato una soluzione... quindi siccome lo devo consegnare al prof appunto entro martedi ho deciso di farlo col microcontrollore...

Avatar utente
Foto Utentefairyvilje
15,0k 4 9 12
G.Master EY
G.Master EY
Messaggi: 3047
Iscritto il: 24 gen 2012, 18:23
Contatta:
1
voti

[9] Re: Programmazione PIC 16F84 per pulsantiera

Messaggioda Foto Utentefairyvilje » 13 giu 2012, 12:23

Per il buzzer potresti abilitare con un transistor un ne555 visto che supporta carichi maggiori di 25mA. Magari qualcuno più esperto in elettronica di me può farti lo schema senza errori in quel caso il programma andrebbe modificato così, usando porta.2

Codice: Seleziona tutto

    program quiz
    TRISA=%00001
    TRISB=%00001111
    porta=0
    portb=0
    while true
    if portb.0=1 then
       portb.4=1
       porta.2=1
       break
    end if
    if portb.1=1 then
       portb.5=1
       porta.2=1
       break
    end if
    if portb.2=1 then
       portb.6=1
       porta.2=1
       break
    end if
    if portb.3=1 then
       portb.7=1
       porta.2=1
       break
    end if
    if porta.0=1 then
       porta.1=1
       porta.2=1
       break
    end if
    wend
    while true
    wend
    end.

Avatar utente
Foto Utentecassvs
30 1 4
Messaggi: 45
Iscritto il: 12 giu 2012, 1:34
Località: SALERNO
0
voti

[10] Re: Programmazione PIC 16F84 per pulsantiera

Messaggioda Foto Utentecassvs » 13 giu 2012, 12:31

fairyvilje ha scritto: Magari qualcuno più esperto in elettronica di me può farti lo schema senza errori in quel caso il programma andrebbe modificato così, usando porta.2

beh innanzitutto grazie per l'impegno donatomi fino ad ora... io potrei anche fare lo schema ma a me serve con multisim in quanto voglio anche testarlo... il problema è, come accennavo prima, che multisim non ha gli oscillatori da 4Mhz...


Torna a “Firmware e programmazione”