TONOS PIC16F887
Enviado por Ares Samuel • 3 de Junio de 2018 • Trabajo • 707 Palabras (3 Páginas) • 146 Visitas
/*Nombre: Datos de proyecto
*Nombre: Retardo4.c [Controlador prefijarle descendente con D7SCC]
*Descripción: el Display de 7 segmentos (CC) visualizara un contador descendente desde el valor leída en binario por el puerto B hasta cero y vuelve a repetir. Cada código se visualiza durante un segundo, por ejemplo, si por el puerto B se introduce 0b00001001 (9) en el display se visualizarán los números: 9, 8, 7, 6, 5, 4, 3, 2, 1, 0.
*si la entrada es mayor que 9 o es 0, se enciende únicamente el segmento horizontal central.
*Autor: Trejo Martínez Fernando 2017
*configuración para las pruebas (ver el ejemplo de encender LED la U1/ Act. 6 )
/
Char Bin2_7seg(char digit); //prototipo de la función.
Sin¡gned char numero,i; //Declara las variables [i y numero] de tipo char [carácter con signo]
void main()
{
ANSEL=0; //Todos lo pines de E/S se configuran como digitales (parte baja)
ANSELH=0; //Todos lo pines de E/S se configuran como digitales (parte alta)
PORTB=0x00; //Inicialización del Puerto B
PORTD=0x00; //Inicialización del Puerto D
TRISB=0xFF; //Configura el Puerto B como entrada.
TRISD=0x00; //Configura el Puerto D como salida.
while (1) // Aplica un ciclo infinit
{
numero=PORTB; //Leer el valor del puerto B y se lo asigna ala variable numero.
If (numero>||numero==0)//si es mayor que 9 o [OR logica] igual a cero
{
PORTD=0x40; //Encender el segmento horizontal central
Delay_1sec(); //Aplica un retardo de 11s [1000mS]
Continúe; // esperar por un nuevo valor
}
for (i=numero;i>=0;i--)//Si el numero esta entre 9 y 1
{
PORTD=Bin2_7seg(i); //aplica al puerto D la conversión de Binario a 7 segmentos [display Cat-Com]
// de cada número de acuerdo a la variable [i]
Delay_1seg(); //Aplica un retardo de 1S [1000mS]
}
}
}
Char BIn2_7seg(char digit)
{ //Definición de la función Bin_7seg y lo asigna a la variable digit
Switch (digit) //cambia el valor de la variable digit según los 10 posibles casos y
...