Gestione input PIC 16f
Salve a tutti , mi sono appena iscritto al forum . spero qualcuno mi possa aiutare .
ho realizzato un programmino con Mikrobasic , in pratica ho usato tutti i piedini del chip . avendo un ottimo risultato , maaaaaa :
Ho impostato il tutto , porte uscite e tutto va bene .
in pratica alla pressione di un tasto equivale un gioco di luci nell'uscita corrispondente ed in più , l'uscita corrispondente rimane accesa . l'unico problema è che vorrei che alla pressione di un altro tasto accadesse il successivo gioco di luci . ma avendo fermato con un wend il programma sulla pressione di un tasto non posso far fare il controllo sulle altre uscite. vi posto il listato . io non riesco + ad andare avanti.
Grazie anticipate
ho realizzato un programmino con Mikrobasic , in pratica ho usato tutti i piedini del chip . avendo un ottimo risultato , maaaaaa :
Ho impostato il tutto , porte uscite e tutto va bene .
in pratica alla pressione di un tasto equivale un gioco di luci nell'uscita corrispondente ed in più , l'uscita corrispondente rimane accesa . l'unico problema è che vorrei che alla pressione di un altro tasto accadesse il successivo gioco di luci . ma avendo fermato con un wend il programma sulla pressione di un tasto non posso far fare il controllo sulle altre uscite. vi posto il listato . io non riesco + ad andare avanti.
- Codice: Seleziona tutto
progam giocoluci
main:
trisa=%11111
trisb=%00000011
porta=0
portb=00000000
inizio:
delay_ms(50)
portb=0
if porta.0=1 then
gosub uno
while porta.0=1
wend
end if
if porta.1=1 then
gosub due
while porta.1=1
wend
end if
if porta.2=1 then
gosub tre
while porta.2=1
wend
end if
if porta.3=1 then
gosub quattro
while porta.3=1
wend
end if
if porta.4=1 then
gosub cinque
while porta.4=1
wend
end if
if portb.0=1 then
gosub sei
while portb.0=1
wend
end if
goto inizio
uno:
portb.2=1
delay_ms(300)
portb.3=1
delay_ms(150)
portb.4=1
delay_ms(150)
portb.5=1
delay_ms(150)
portb.6=1
delay_ms(150)
portb.7=1
delay_ms(150)
portb=0
portb.2=1
return
due:
portb.3=1
delay_ms(300)
portb.2=1
portb.4=1
delay_ms(150)
portb.5=1
delay_ms(150)
portb.6=1
delay_ms(150)
portb.7=1
delay_ms(150)
portb=0
portb.3=1
return
tre:
portb.4=1
delay_ms(300)
portb.3=1
portb.5=1
delay_ms(150)
portb.2=1
portb.6=1
delay_ms(150)
portb.7=1
delay_ms(150)
portb=0
portb.4=1
return
quattro:
portb.5=1
delay_ms(300)
portb.4=1
portb.6=1
delay_ms(150)
portb.3=1
portb.7=1
delay_ms(150)
portb.2=1
delay_ms(150)
portb=0
portb.5=1
return
cinque:
portb.6=1
delay_ms(300)
portb.5=1
portb.7=1
delay_ms(150)
portb.4=1
delay_ms(150)
portb.3=1
delay_ms(150)
portb.2=1
delay_ms(150)
portb=0
portb.6=1
return
sei:
portb.7=1
delay_ms(300)
portb.6=1
delay_ms(150)
portb.5=1
delay_ms(150)
portb.4=1
delay_ms(150)
portb.3=1
delay_ms(150)
portb.2=1
delay_ms(150)
portb=0
portb.7=1
return
end.
Grazie anticipate