Electronica digital
Enviado por ybw56292 • 10 de Marzo de 2023 • Documentos de Investigación • 558 Palabras (3 Páginas) • 30 Visitas
#include <msp430g2553.h>
void InitializeClocks(void);
void InitializePins(void);
void InitializeTimer(void);
void main(void)
{
enum{Bajada,Subida} Estado = Subida;
unsigned int d = 9;
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
InitializeClocks();
InitializePins();
InitializeTimer();
while(1)
{
switch (Estado){
//Motor
case Subida:
if ((P1IN & BIT3)==0) { // Si pulsador pulsado
d++; // Se incrementa el valor de d
}
if (d >= 989) { // Si llega al valor maximo 99%
Estado = Bajada; // Cambia a estado de bajada
}
break;
case Bajada:
if ((P1IN & BIT3)==0) { //Si pulsador pulsado
d--; // Se disminuye el valor de d
}
if (d <= 9){ // Si llega al valor minimo 1%
Estado = Subida; // Cambia a estado de bajada
}
break;
}
TA1CCR1 = d;
// Leds
if (d >= 899) { //supera 90%
P1OUT |= BIT0; // Encender LED rojo (P1.0)
P1OUT &= ~BIT6; // Apagar LED verde (P1.6)
}
else if (d <= 99) { //baja de 10%
P1OUT |= BIT6; // Encender LED verde (P1.6)
P1OUT &= ~BIT0; // Apagar LED rojo (P1.0)
}
else {
P1OUT &= ~(BIT6
...