Che tipo di variabile potrei usare ? BYTE ?
lo imposto tipo
dim controllo as byte ?
Gestione input PIC 16f
Moderatore:
Paolino
25 messaggi
• Pagina 2 di 3 • 1, 2, 3
0
voti
Niente non riesco a impostare le variabili
ho provato con qualche dim all'inizio ma mi sono perso
ho provato con qualche dim all'inizio ma mi sono perso
0
voti
Non riesco ad inserire le variabili ed in caso metto qualcosa del tipo dim porta as byte il chip non si ferma + . il tutto l'ho fatto solo con due porte per provare 
0
voti
Ciao, no non ho provato il tuo programmino perche non ho tempo, sai sto traslocando...
oltre a quello io uso mikrobasic Pro 5.8 su una easypic6... dal mio al tuo compilatore c'è molta differenza e infatti ti consigliai già di aggiornarlo....
Oltre a questo, puoi usare anche una variabile bit, booleana o byte e la chiami con un nome a te consono. Penso che:
Dim porta as byte
non te lo prenda, ma puoi sempre usare una matrice!
dim controllo as byte[8]
in questo modo hai una corrispondenza perfetta con le porte:
porta.0 = controllo[0]
porta.1 = controllo[1]
porta.2 = controllo[2]
.....
oppure dichiari tante variabili quante le porte in questo modo:
dim controllo_0 as boolean
dim controllo_1 as boolean
dim controllo_2 as boolean
....
e quando la verifichi fai:
if controllo_0 = true then
....
end if
Scrivimi il listato completo, così te lo modifico e vediamo come va!
oltre a quello io uso mikrobasic Pro 5.8 su una easypic6... dal mio al tuo compilatore c'è molta differenza e infatti ti consigliai già di aggiornarlo....
Oltre a questo, puoi usare anche una variabile bit, booleana o byte e la chiami con un nome a te consono. Penso che:
Dim porta as byte
non te lo prenda, ma puoi sempre usare una matrice!
dim controllo as byte[8]
in questo modo hai una corrispondenza perfetta con le porte:
porta.0 = controllo[0]
porta.1 = controllo[1]
porta.2 = controllo[2]
.....
oppure dichiari tante variabili quante le porte in questo modo:
dim controllo_0 as boolean
dim controllo_1 as boolean
dim controllo_2 as boolean
....
e quando la verifichi fai:
if controllo_0 = true then
....
end if
Scrivimi il listato completo, così te lo modifico e vediamo come va!
0
voti
Spiacente ma non riesco a fare sta cosa . mi accontenterò del programma che ho scritto all'inizio .
rimedierò con l'hardware .
il mio compilatore non supporta alcune cose e sinceramente non posso aggiornarlo adesso
Ho sempre degli errori quando gli dico che la porta.0 = controllo[0]
rimedierò con l'hardware .
il mio compilatore non supporta alcune cose e sinceramente non posso aggiornarlo adesso
Ho sempre degli errori quando gli dico che la porta.0 = controllo[0]
0
voti
Normalissimo,
non puoi dirgli di assegnare un valore byte ad una porta singola, cioè un bit.
posta il listato di quello che hai fatto e te lo modifico in modo appropriato!
non puoi dirgli di assegnare un valore byte ad una porta singola, cioè un bit.
posta il listato di quello che hai fatto e te lo modifico in modo appropriato!
0
voti
L ' ho cancellato , domani lo riscrivo e lo poso . Adesso devo andare a trovare una nipotina che è nata ieri 
0
voti
Ecco il listato maaaa .... il mio compilatore non mi fa fare tante cose
program pulsanti
dim controllo as byte[8]
main:
trisa=%11111
trisb=%00000011
porta=0
portb=00000000
inizio:
porta=0
portb=0
delay_ms(50)
if porta.0 = 1 then
controllo[0] = true
goto inizio
end if
if controllo[0] = true then
portb.2=1
delay_ms(100)
portb.3=1
delay_ms(100)
portb.4=1
delay_ms(100)
portb.5=1
delay_ms(100)
portb.6=1
delay_ms(100)
portb.7=1
delay_ms(100)
portb=0
portb.2=1
end if
if controllo[1] = true then
portb.3=1
delay_ms(100)
portb.2=1
portb.4=1
delay_ms(100)
portb.5=1
delay_ms(100)
portb.6=1
delay_ms(100)
portb.7=1
delay_ms(100)
portb=0
portb.3=1
end if
end.
program pulsanti
dim controllo as byte[8]
main:
trisa=%11111
trisb=%00000011
porta=0
portb=00000000
inizio:
porta=0
portb=0
delay_ms(50)
if porta.0 = 1 then
controllo[0] = true
goto inizio
end if
if controllo[0] = true then
portb.2=1
delay_ms(100)
portb.3=1
delay_ms(100)
portb.4=1
delay_ms(100)
portb.5=1
delay_ms(100)
portb.6=1
delay_ms(100)
portb.7=1
delay_ms(100)
portb=0
portb.2=1
end if
if controllo[1] = true then
portb.3=1
delay_ms(100)
portb.2=1
portb.4=1
delay_ms(100)
portb.5=1
delay_ms(100)
portb.6=1
delay_ms(100)
portb.7=1
delay_ms(100)
portb=0
portb.3=1
end if
end.
0
voti
Ciao, scusami ma prima non ho avuto tempo.
ho modificato il codice... testalo perche io non ho tempo di provarlo ma ad occhio dovrebbe funzionare.
se ti da problemi di spazio insufficiente, dimmelo che te lo modifico per risparmiare ROM
ho modificato il codice... testalo perche io non ho tempo di provarlo ma ad occhio dovrebbe funzionare.
se ti da problemi di spazio insufficiente, dimmelo che te lo modifico per risparmiare ROM
- Codice: Seleziona tutto
program pulsanti
dim controllo as byte[5] 'il numero va modificato in base a quanti pulsanti hai
dim k as byte
sub procedure gioco0
portb.2=1
delay_ms(100)
portb.3=1
delay_ms(100)
portb.4=1
delay_ms(100)
portb.5=1
delay_ms(100)
portb.6=1
delay_ms(100)
portb.7=1
delay_ms(100)
portb=0
portb.2=1
end sub
sub procedure gioco1
portb.3=1
delay_ms(100)
portb.2=1
portb.4=1
delay_ms(100)
portb.5=1
delay_ms(100)
portb.6=1
delay_ms(100)
portb.7=1
delay_ms(100)
portb=0
portb.3=1
end sub
'aggiungi quante sub tanti sono i giochi
main:
trisa=%11111
trisb=%00000011
porta=0
portb=0
for k = 0 to 4 'il numero va modificato in base a quanti pulsanti hai
controllo[k] = 0
next k
while true
if (porta.0 = 1) then
if controllo[0] = 0 then
gioco0
controllo[0] = 1 'imposta il flag di gioco già eseguito
controllo[1] = 0 'azzera il flag dei giochi eseguiti precedentemente
controllo[2] = 0
controllo[3] = 0
controllo[4] = 0
end if
end if
if (porta.1 = 1) then
if controllo[1] = 0 then
gioco1
controllo[0] = 0
controllo[1] = 1
controllo[2] = 0
controllo[3] = 0
controllo[4] = 0
end if
end if
'replica il blocco sopra in base a quanti pulsanti e giochi, per test ne ho messi 2
wend
end.
25 messaggi
• Pagina 2 di 3 • 1, 2, 3
Torna a Firmware e programmazione
Chi c’è in linea
Visitano il forum: Nessuno e 10 ospiti

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)

