Red de conocimiento informático - Material del sitio web - Cómo obtener una señal con un período de 1s al programar MSP430

Cómo obtener una señal con un período de 1s al programar MSP430

#include lt;msp430x44x.hgt;

void main(void)

{

WDTCTL = WDTPW WDTHOLD // Detener; WDT

TACTL = TASSEL_1 TACLR; // ACLK

CCTL0 = CCIE; // interrupción CCR0 habilitada

CCR0 = 32768

P5DIR |= 0x02; // Salida P5.1

TACTL |= MC1; // Modo de conteo continuo

_EINT() // Habilitar interrupciones

for (;;)

{

_BIS_SR(CPUOFF); // CPU apagada

_NOP() // Requerido solo para C-spy

p>

}

}

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

//interrupción[TIMERA0_VECTOR] void Timer_A (void)

#pragma vector=TIMERA0_VECTOR

__interrupt void Timer_A (void)

{

P5OUT ^= 0x02 // Alternar P5.1

CCR0 = 32768; // Agregar compensación a CCR0

}

El período es 2S, encendido por 1S y apagado por un segundo.

P5 está conectado a un LED externo.

Si quieres que el ciclo sea 1S

Utiliza la mitad de 32768 16384

El La fuente de interrupción se selecciona como tiempo de 32768 HZ de ACLK es 1/32768 s. Cuando el conteo llega a 32768, se sale de la interrupción, que es 1 s.

En cuanto a BCSCTL2 amp;=0xc0;//XT2CLK 2. mencionaste División de frecuencia

¿Necesito mirar el archivo de encabezado?

F14 y F44 son casi iguales. Parece que la disciplina adicional de F44 es la disciplina de LCD, y no hay diferencia en otros aspectos.