Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

problema programmazione microbasic

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

0
voti

[1] problema programmazione microbasic

Messaggioda Foto Utentemattia281193 » 1 ott 2011, 13:41

sto lavorando su un progetto di un PIC che controlla 5 relè tramite un tx e un rx della aurel .. l'rx utilizza 2 bit su 4 piedini quindi 4 ingressi essendo 9 i tasti del tx 12 combinazioni...
quindi io devo dire al PIC di che se nel caso ci fosse una sitazione simile 0111 di attivare la portb.1 es..
ma in basic ho sempre utilizzzato 2 condizioni in questo modo
es
Codice: Seleziona tutto
if port..=0 and port..=1 then
port..=1
end if



quindi ora dovrei fare cosi es
Codice: Seleziona tutto
if port..=0 and port..=1 and port..=0 and port..=1 then
port..=1
end if


si puo fare??' il compilatore nn mi da errori ma proteus si ??? ?% ?% ?% ?%
Avatar utente
Foto Utentemattia281193
26 4
Frequentatore
Frequentatore
 
Messaggi: 132
Iscritto il: 1 ott 2011, 13:38

0
voti

[2] Re: problema programmazione microbasic

Messaggioda Foto UtentePaolino » 1 ott 2011, 14:05

Il numero binario 0111, che in decimale fa 7, lo puoi certamente utilizzare come elemento di comparazione della tua espressione di IF. A parte il fatto che non capisco i puntini ".." che metti dopo la scritta "port", ma supponendo che tu stia leggendo qualcosa su PORTC, sui primi 4 bit, direi che il codice diventa qualcosa di simile:

Codice: Seleziona tutto
if PORTC = 7
    portb.1 = 1;
endif


Poi però non dici cosa devi fare se PORTC fosse diverso da 7... dovresti completare con "else".

CIao.

Paolo.

P.S. Quando scrivi il codice sorgente, usa i tag CODE presenti nella finestra di editing dei messaggi ;-)
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong

-------------------------------------------------------------

PIC Experience - http://www.picexperience.it
Avatar utente
Foto UtentePaolino
32,6k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 4226
Iscritto il: 20 gen 2006, 11:42
Località: Vigevano (PV)

0
voti

[3] Re: problema programmazione microbasic

Messaggioda Foto Utentemattia281193 » 1 ott 2011, 14:35

ah ok quindi posso mettere il numero decimale quindi per 0001
Codice: Seleziona tutto
if portc=1then
portb.0=1
end if

e per glia altri uguale :D
grazie mille proveròòòòò O_/ O_/
Avatar utente
Foto Utentemattia281193
26 4
Frequentatore
Frequentatore
 
Messaggi: 132
Iscritto il: 1 ott 2011, 13:38

0
voti

[4] Re: problema programmazione microbasic

Messaggioda Foto Utentemattia281193 » 4 ott 2011, 15:41

è possibile che si sian rotto il PIC ?? non mi riconosce gli ingressi attiva solo le uscite ma gli ingressi niente :?
Avatar utente
Foto Utentemattia281193
26 4
Frequentatore
Frequentatore
 
Messaggi: 132
Iscritto il: 1 ott 2011, 13:38

0
voti

[5] Re: problema programmazione microbasic

Messaggioda Foto UtentePaolino » 4 ott 2011, 15:48

Boh, la sfera di cristallo non l'abbiamo: non hai disegnato lo schema, il codice è appena accennato, come possiamo darti una risposta?

Ciao.

Paolo.
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong

-------------------------------------------------------------

PIC Experience - http://www.picexperience.it
Avatar utente
Foto UtentePaolino
32,6k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 4226
Iscritto il: 20 gen 2006, 11:42
Località: Vigevano (PV)

0
voti

[6] Re: problema programmazione microbasic

Messaggioda Foto Utentemattia281193 » 7 ott 2011, 22:40

Codice: Seleziona tutto
program in_out

dim k as byte
main:
trisb.0=0
trisa.0=1
portb=0
inizio:
if porta.0=1 then
for k=0 to 9
portb.0=1
delay_ms(100)
portb.0=0
delay_ms(100)
next k
end if

goto inizio
end.

questo è il programma per lo schema elettroc immagina che sia il classico switch con la resistenza di pull down (5k) ho usato due stabilizzatori in cascata uno da 12 e uno da 5 finche il PIC è programmato per gestire solo uscite ok ma per gli ingressi va prorpio in blocco :cry: :cry: :cry: :cry: :cry:
Avatar utente
Foto Utentemattia281193
26 4
Frequentatore
Frequentatore
 
Messaggi: 132
Iscritto il: 1 ott 2011, 13:38

0
voti

[7] Re: problema programmazione microbasic

Messaggioda Foto UtenteTardoFreak » 7 ott 2011, 23:26

Non hai impostato il registro ANSEL.
E se poi magari ci dici su quale PIC stai lavorando sarebbe meglio. :roll:
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[8] Re: problema programmazione microbasic

Messaggioda Foto Utentemattia281193 » 8 ott 2011, 7:23

pic16 f 876a
cosa è ?? io ho sempre fatto cosi :shock:
Avatar utente
Foto Utentemattia281193
26 4
Frequentatore
Frequentatore
 
Messaggi: 132
Iscritto il: 1 ott 2011, 13:38

0
voti

[9] Re: problema programmazione microbasic

Messaggioda Foto UtentePaolino » 8 ott 2011, 16:27

Come dice sempre Foto UtenteTardoFreak, nel datasheet trovi tutto. E tu, lo hai letto il datasheet?
Se no, ti consiglio di scaricarlo e di leggere cosa dice a pagina 43 del file PDF (41 del documento) in merito alla porta PORTA. Ti renderai immediatamente conto che la porta è usata anche come ingresso analogico che, nel tuo caso, non serve. Pertanto dovrai fare:

Codice: Seleziona tutto
    program in_out

    dim k as byte
    main:
    trisb.0=0
    adcon1 = 6
    trisa.0=1
    portb=0
    inizio:
    if porta.0=1 then
    for k=0 to 9
    portb.0=1
    delay_ms(100)
    portb.0=0
    delay_ms(100)
    next k
    end if

    goto inizio
    end.


Aggiungo un'altra cosa: sai come getsire i rimbalzi dei contatti? Una tecnica di antirimbalzo VA IMPLEMENTATA, software o hardware, a te la scelta. Ma la devi aggiungere.

mattia281193 ha scritto:per lo schema elettroc immagina che sia il classico switch con la resistenza di pull down (5k) ...


Beh, un piccolo sforzo e puoi disegnarlo con FIDOCADJ, no? ;-)

Ciao.

Paolo.
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong

-------------------------------------------------------------

PIC Experience - http://www.picexperience.it
Avatar utente
Foto UtentePaolino
32,6k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 4226
Iscritto il: 20 gen 2006, 11:42
Località: Vigevano (PV)

0
voti

[10] Re: problema programmazione microbasic

Messaggioda Foto Utentemattia281193 » 9 ott 2011, 16:22

scusa non ero a casa e andavo un po di fretta...
posso chiederti di spegarmi l'istruzione del adc???non lho mai utilizzato programmando sempre quei fossili di 16f84a
Avatar utente
Foto Utentemattia281193
26 4
Frequentatore
Frequentatore
 
Messaggi: 132
Iscritto il: 1 ott 2011, 13:38

Prossimo

Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti