|
|
- #include <msp430fr6989.h>
-
-
- char lec=0;
- int cont1=0,cont2=0,cont3=0,cont4=0;
- void main(void)
- {
- WDTCTL = WDTPW | WDTHOLD; // stop watchdog timer
- PM5CTL0 = 0x0000;// DESACTIVAR EL MODO DE ALTA IMPEDANCIA
-
- /*Confg. de perifericos */
- P1SEL0 = 0x00;
- P1SEL1 = 0x00; //SELECCIONAMOS FUNCION COMO I/O DIGITAL
- P1DIR = 0x01; //P1.0-> SALIDA P1.1-P1.7-> ENTRADAS
- P1REN = 0xFE;
- P1OUT = 0xFE;
- P1IE = 0x7E;
- P1IES = 0x00;
- P1IFG = 0x00;
-
- P9SEL0 = 0x00;
- P9SEL1 = 0x00; //SELECCIONAMOS FUNCION COMO I/O DIGITAL
- P9DIR = 0x80; //P9.7-> SALIDA P9.0-P9.6->ENTRADAS
- P9REN = 0x7f;
- P9OUT = 0x00;
-
- __enable_interrupt(); //también se puede usar _enable_interrupts()
-
- for(;;)
- {
-
-
- }//loop
- }//main
-
- //**************Interruptions**************
- #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
- #pragma vector=PORT1_VECTOR
- __interrupt void inter_puerto1(void)
- #elif defined(__GNUC__)
- void __attribute__ ((interrupt(PORT1_VECTOR))) PORT1_ISR (void)
- #else
- #error Compiler not supported!
- #endif
- {
-
- lec=P1IFG;
- lec &= BIT3;
- __delay_cycles(250);
- if( P1IFG == BIT3){
- cont1++;
- P1OUT ^= 0x01;
- }
-
- lec &= BIT4;
- __delay_cycles(250);
- if( P1IFG == BIT4){
- cont2++;
- P9OUT ^= 0x80;
- }
-
- lec &= BIT5;
- __delay_cycles(250);
- if( P1IFG == BIT5){
- cont3++;
- P1OUT ^= 0x01;
- }
-
- lec &= BIT6;
- __delay_cycles(250);
- if( P1IFG == BIT6){
- cont4++;
- P9OUT ^= 0x80;
- }
-
- P1IFG=0x00;
- }
-
|