Vai al contenuto
PLC Forum


Start/stop Con Un Solo Pulsante


CDR

Messaggi consigliati

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.

Link al commento
Condividi su altri siti


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

Link al commento
Condividi su altri siti

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;

}

Link al commento
Condividi su altri siti

  • 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...