#include #byte PORTD=0xF83 #byte PORTB=0xF81 void push_button(void); //Δήλωση της συνάρτησης πατήματος μπουτόν. Προσοχή, πάνω από την main() //Με αυτή τη συνάρτηση εκτελούνται όλες οι εντολές με τις οποίες //ο μικροελεγκτής αναγνωρίζει το πλήρες πάτημα(πατώ+αφήνω) ενός μπουτόν //*****Από εδώ αρχίζει το κύριο πρόγραμμα******* void main() { set_tris_d(0x00); //Η θύρα D έξοδος set_tris_b(0xFF); //Η θύρα B είσοδος PORTD=0x0F; while(TRUE) { //συνθήκη πάντα αληθής //Γίνεται κλήση της συνάρτησης πατήματος μπουτόν push_button(); //εναλλαγή καταστάσεων στα bit της PORTD -------------- } } //Ορισμός της συνάρτησης push_button //Ο ορισμός της συνάρτησης γράφεται μετά το κύριο πρόγραμμα //Με τη συνάρτηση αυτή ο μικροελεγκτής περιμένει //ένα πλήρες πάτημα του μπουτόν (πατώ+αφήνω) //και στη συνέχεια πάει στην επόμενη εντολή. void push_button(void) { while(input(PIN_B4) == 1) { // Αναμονή έως ότου πατηθεί το μπουτόν } // Στην κατάσταση αναμονής δεν εκτελείται καμιά εντολή // Όταν πατηθεί το μπουτόν γίνεται έξοδος από τον βρόχο // και εκτελείται η επόμενη εντολή delay_ms(50); // Καθυστέρηση 50 ms για αποφυγή φαινόμενου αναπηδήσεων while(input(PIN_B4) == 0) { //Αναμονή έως ότου αφεθεί το μπουτόν } // Στην κατάσταση αναμονής δεν εκτελείται καμιά εντολή // Όταν αφεθεί το μπουτόν γίνεται έξοδος από τον βρόχο // και εκτελείται η επόμενη εντολή delay_ms(50); // Καθυστέρηση 50 ms για αποφυγή φαινόμενου αναπηδήσεων }