Red de conocimiento informático - Consumibles informáticos - Modifique el programa del microcontrolador msp430. . .

Modifique el programa del microcontrolador msp430. . .

Unsigned int I = 0; //Declarar el tipo de datos. Coloque esta oración en la parte superior y declarela como una variable global; de lo contrario, no se puede usar en interrupciones.

La función de interrupción de 430 está escrita en IAR. No sé qué compilador estás usando.

#pragma vector=TIMERA0_VECTOR

_ _Interrupt void Timer_A (void) //Interrumpir función del temporizador A

Código fuente modificado:

p>

# include & ltMSP 430 x 14x . h & gt; //Archivo de biblioteca de declaración

Unsigned int I = 0; //Tipo de datos de declaración

Administrador no válido (no válido)

{

int piedra, kudzu, m;

Seg de caracteres sin firmar[]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x 90};

//* * *Matriz de código de fuente del tubo digital Yang

wdt CTL = wdt pw+WDTHOLD;//Cierra el perro guardián

p 1 dir = 0x ff;

P2DIR = 0XFF

P2SEL = 0X00

p 1 sel = 0x 00;

TACTL = tassel TACLR; //aclk reloj auxiliar

cctl 0 = CCIE; //Habilitar función de captura e interrupción del temporizador A, CCIE=0x0010.

CCR0 = 32768//Establece el valor inicial del contador CCR0

TACTL | = MC0//Establece el modo de funcionamiento del temporizador y cuenta hasta el valor inicial de CCR0.

While(1)//Bucle While infinito sin cuerpo del bucle

{

Shi = I/10;

ge = I % 10;

p 1 salida = 0x 80;

P2OUT = seg[ge];

for(m = 0; m & lt1000;m++ ) ;

p 1 salida = 0x 40;

P2OUT = seg[Shi]

for(m = 0; m & lt1000; m++); /p>

}

}

#pragma vector=TIMERA0_VECTOR

_ _Interrupt void Timer_A (void) //Interrupción de la función del temporizador A

{

if(i<100)

i++;

otro

I = 0

}