Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "io430.h"
- enum dioda {
- STATUS,
- REL1,
- REL2
- };
- enum button {
- pierwszy,
- drugi,
- trzeci,
- czwarty
- };
- void init()
- {
- P1DIR = P1DIR | (BIT5 | BIT6); // diody REL1 i REL2
- P2DIR = P2DIR | BIT1; // dioda status
- P4DIR = P4DIR & ~(BIT4 | BIT5 | BIT6 | BIT7); // przyciski
- P2OUT = P2OUT | BIT1; // zgaszenie diody status
- P1OUT = P1OUT & ~(BIT5 | BIT6); // zgaszenie diod REL1 i REL2
- }
- void delay (int x) // funkcja realizujaca opoznienie
- {
- int i,j;
- for (i=0;i<1000;i++)
- for (j=0;j<x;j++)
- {
- }
- }
- int isButtonPressed(button b)
- {
- if(b == pierwszy) return ((P4IN & BIT4) == 0);
- if(b == drugi) return ((P4IN & BIT5) == 0);
- if(b == trzeci) return ((P4IN & BIT6) == 0);
- if(b == czwarty) return ((P4IN & BIT7) == 0);
- return 0;
- }
- void diodaOn(dioda d)
- {
- if(d == REL1) P1OUT = P1OUT | BIT5;
- if(d == REL2) P1OUT = P1OUT | BIT6;
- if(d == STATUS) P2OUT = P2OUT & ~BIT1;
- }
- void diodaOff(dioda d)
- {
- if(d == REL1) P1OUT = P1OUT & ~BIT5;
- if(d == REL2) P1OUT = P1OUT & ~BIT6;
- if(d == STATUS) P2OUT = P2OUT | BIT1;
- }
- int main( void )
- {
- // Stop watchdog timer to prevent time out reset
- WDTCTL = WDTPW + WDTHOLD;
- init();
- while(1)
- {
- if(isButtonPressed(pierwszy))
- {
- diodaOn(REL1);
- delay(1000);
- //if(button_pressed(pierwszy))
- diodaOn(REL2);
- }
- //delay(1000);
- // if(button_pressed(pierwszy)) dioda_off();
- if(isButtonPressed(drugi)) diodaOff(REL1);
- if(isButtonPressed(trzeci)) diodaOn(REL2);
- if(isButtonPressed(czwarty)) diodaOff(REL2);
- if(isButtonPressed(pierwszy)) diodaOn(STATUS);
- else diodaOff(STATUS);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement