Red de conocimiento informático - Material del sitio web - Cómo definir una función de interrupción msp430

Cómo definir una función de interrupción msp430

La función de servicio de interrupción se ingresa automáticamente. Solo necesita habilitar la interrupción del puerto serie y la interrupción general en el programa principal.

#include "msp430x54xA.h"

void main(void)

{

WDTCTL = WDTPW + WDTHOLD // Detener; WDT

P1DIR |= 0x01; // salida P1.0

TA1CCTL0 = CCIE; // interrupción CCR0 habilitada

TA1CCR0 = 50000;

TA1CTL = TASSEL_2 + MC_2 + TACLR; // SMCLK, modo cont, borrar TAR

__bis_SR_register(LPM0_bits + GIE); // Ingresar LPM0, habilitar interrupciones

__no_operación() ; // Para el depurador

}

// Rutina de servicio de interrupción del temporizador A0

#pragma vector=TIMER1_A0_VECTOR

__interrupt void TIMER1_A0_ISR( void)

{

P1OUT ^= 0x01; // Alternar P1.0

TA1CCR0 += 50000 // Agregar compensación a CCR0

}

Información ampliada:

El microcontrolador de la serie MSP430 es un microcontrolador de 16 bits que adopta una estructura de conjunto de instrucciones reducido (RISC) y tiene modos de direccionamiento enriquecidos (7 tipos de código fuente). direccionamiento de operandos, 4 tipos de direccionamiento de operandos de destino), 27 instrucciones centrales concisas y una gran cantidad de instrucciones de simulación; una gran cantidad de registros y memoria de datos en el chip pueden participar en una variedad de operaciones, también hay instrucciones de procesamiento de tablas de búsqueda eficientes; . Estas características garantizan que se puedan compilar programas fuente eficientes.

Enciclopedia Baidu-Microcontrolador MSP430