Vai al contenuto
PLC Forum


Start/stop Con Un Solo Pulsante


Messaggi consigliati

Inserito:

sto programmando un microcontrolore pic della microchip e devo fare uno start/stop con 1 solo pulsante ma non ho a disposizione nessun contatore, non sapendo come fare ho provato a farlo con un plc utilizzando soltanto memorie.... :ph34r: :ph34r: :ph34r: ....non ci riesco.

come posso fare?

grazie a tutti.


Inserita:

Ti devi creare una derivata sul fronte di salita del pulsante:

u "pulsante"

un "aux derivata"

= "derivata pulsante"

u "pulsante"

= "aux derivata"

In questo modo quando premi il pulsante, il flag "derivata pulsante" rimane alta solo per un loop!

Con queste righe di programma dovresti avere la memoria "flip flop" che và su e giu ogni volta che premi il "pulsante"

u "derivata pulsante"

u "flip flop"

R "flip flop"

u "derivata pulsante"

un "flip flop"

s "flip flop"

Prova e dimmi

Ciao

Sergio

Inserita:

C'è una discussione lunghissima sui vari metodi nel forum Plc&Didattica

Inserita:

Primas routine Gestione tasti

//---GESTIONE TASTI ---

void Gestione_tasti (char PORTC_Tasti)

{

unsigned char debounce;

if ((PORTC_Tasti!=0xFF) && (Status_Tasti.B6==0))

{

debounce++;

if (debounce>20)

{

Status_Tasti.byte=(PORTC_Tasti^0xFF); // NEGAZIONE PORTC

Status_Tasti.B6=1;

debounce=0;

}

};

if (PORTC_Tasti==0xFF)

{

Status_Tasti.B6=0;

debounce=0;

}

}

POI IL SUO UTILIZZO

if ((Status_Tasti.B1==1)&&( LATAbits.LATA4==0))

{

LATAbits.LATA4=1;

Status_Tasti.B1=0;

}

if ((Status_Tasti.B1==1)&&( LATAbits.LATA4==1))

{

LATAbits.LATA4=0;

Status_Tasti.B1=0;

}

  • 2 weeks later...

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...