Programa controlador de luces
repzillaTarea6 de Marzo de 2016
1.297 Palabras (6 Páginas)268 Visitas
Programa.
La función del programa es activar las salidas correspondientes dependiendo de lo que tengamos en la entrada.
Programa.
#include "derivative.h" /* include peripheral declarations */
#define voltaje_celda GPIOC_PDIR
#define luces GPIOD_PDOR
#define direccionales GPIOE_PDIR
#define luz_direccion GPIOB_PTOR
void control_de_luces();
void control_direccionales();
void retardo_ms(unsigned int msegs);
int main(void) //---------------------------------------------------------------FUNCION PRINCIPAL-----------------------------------------------------------------------
{
SIM_SCGC5|=SIM_SCGC5_PORTD_MASK; // Configuracion del reloj
PORTD_PCR0|=PORT_PCR_MUX(1); // Indicamos que utilizaremos el modulo GPIO en el pin 0 del PD
PORTD_PCR2|=PORT_PCR_MUX(1); // Indicamos que utilizaremos el modulo GPIO en el pin 1 del PD
PORTD_PCR3|=PORT_PCR_MUX(1); // Indicamos que utilizaremos el modulo GPIO en el pin 2 del PD
GPIOD_PDDR|=0x0D; // Decimos que los pines 0, 2 y 3 del PD se utilizaran como salidas
SIM_SCGC5|=SIM_SCGC5_PORTC_MASK; // Configuracion del reloj
PORTC_PCR0|=PORT_PCR_MUX(1); // Indicamos que utilizaremos el modulo GPIO en el pin 0 del PC
PORTC_PCR1|=PORT_PCR_MUX(1); // Indicamos que utilizaremos el modulo GPIO en el pin 1 del PC
PORTC_PCR2|=PORT_PCR_MUX(1); // Indicamos que utilizaremos el modulo GPIO en el pin 2 del PC
PORTC_PCR3|=PORT_PCR_MUX(1); // Indicamos que utilizaremos el modulo GPIO en el pin 3 del PC
PORTC_PCR4|=PORT_PCR_MUX(1); // Indicamos que utilizaremos el modulo GPIO en el pin 4 del PC
PORTC_PCR5|=PORT_PCR_MUX(1); // Indicamos que utilizaremos el modulo GPIO en el pin 5 del PC
PORTC_PCR6|=PORT_PCR_MUX(1); // Indicamos que utilizaremos el modulo GPIO en el pin 6 del PC
PORTC_PCR7|=PORT_PCR_MUX(1); // Indicamos que utilizaremos el modulo GPIO en el pin 7 del PC
GPIOC_PDDR|=0x00; // Decimos que el PC se utilizara como entrada
SIM_SCGC5|=SIM_SCGC5_PORTE_MASK; // Configuracion del reloj
PORTE_PCR0|=PORT_PCR_MUX(1); // Indicamos que utilizaremos el modulo GPIO en el pin 0 del PE
PORTE_PCR1|=PORT_PCR_MUX(1); // Indicamos que utilizaremos el modulo GPIO en el pin 1 del PE
GPIOE_PDDR|=0x00; // Decimos que el PE se utilizara como entrada
SIM_SCGC5|=SIM_SCGC5_PORTB_MASK; // Configuracion del reloj
PORTB_PCR0|=PORT_PCR_MUX(1); // Indicamos que utilizaremos el modulo GPIO en el pin 0 del PB
PORTB_PCR1|=PORT_PCR_MUX(1); // Indicamos que utilizaremos el modulo GPIO en el pin 1 del PB
GPIOB_PDDR|=0x03; // Decimos que el PE se utilizara como salida
while(1)
{
control_de_luces();
control_direccionales();
}
}
void control_direccionales(void)
{
switch(direccionales)
{
case 0x01:
luz_direccion=01;
retardo_ms(1000);
break;
...