2. OBJETIVO: Utilizar las declaraciones if, select case, do, for, while
con el microcontrolador pic.
1. Si se presiona el foco se enciende por 3 segundos, luego se apaga un
segundo y se vuelve a encender el foco por 3 segundos. Caso
contrario el foco permanece prendido.
CÓDIGO:
ALGORITMO:
ENTRADA: Datos de entrada al microcontrolador (Puerto C)
SALIDA: Datos en la salida del microcontrolador (Puerto A) que serán comprobados
al encender y apagar el foco.
PROCESO: Habilito el puerto B como entrada
Almaceno en el Puerto C el dato de activación del foco en el circuito.
Comparar los datos que ingresan en el Puerto B y escribir en el puerto C
provocando que el circuito empiece a funcionar o no lo haga para la
activación del foco.
Realizar los tiempos de operación del circuito.
Controlar el lazo de funcionamiento del circuito.
Obtener las salidas a través del funcionamiento del foco.
INGENIERÍA ELECTRÓNICA
4. 2. Utilizando la sentencia For-Next, elaborar un contador Ascendente de
0 a 9, que sea repetitivo.
CODIGO:
ALGORITMO:
ENTRADAS: Datos que serán almacenados en el micro controlador
SALIDAS: Código Binario del 0 al 9 en el Puerto B
PROCESO: Definir variables para almacenar los datos.
Guardo el valor de cero en una Variable y el valor de 1 en otra variable.
Utilizar la declaración For para realizar el lazo de 1 a 10 en la primera
variable.
Sumo 1 a la segunda variable para incrementar los valores.
Comparo la variable cuando esta es 10 para regresar a 0.
Escribo en el puerto B.
Retardo de 0,5 s.
Muestro los resultados en el Display.
INGENIERÍA ELECTRÓNICA
7. 3. Mediante la sentencia For-Next, elaborar un contador descendente
entre 0 y 9.
CÓDIGO:
ALGORITMO:
ENTRADAS: Datos que serán almacenados en el microcontrolador
SALIDAS: Código Binario del 9 al 0 en el Puerto B
PROCESO: Definir variables para almacenar los datos.
Guardo el valor de cero en una Variable y el valor de 1 en otra variable.
Utilizar la declaración For para realizar el lazo de 10 a 1 en la primera
variable.
Restar 1 a la segunda variable para decrementar los valores.
Comparo la variable cuando esta es 10 para regresar a 0.
Escribo en el puerto B.
Muestro los resultados en el Display.
INGENIERÍA ELECTRÓNICA
11. 4. Utilizar la secuencia While-wend, para elaborar un contador
Ascendente de dos dígitos.
CÓDIGO:
ALGORITMO:
ENTRADA: Datos que serán almacenados en el microcontrolador
SALIDA: Datos que serán mostrados a la Salida del microcontrolador (números
desde el 00 al 99)
PROCESO: Definir 2 variables como byte y una como palabra donde se
guardaran los datos que ingresan.
Las tres variables guardaran el valor de 0.
INGENIERÍA ELECTRÓNICA
12. Activar los puertos b y c (trisb=0, trisc=0).
Utilizar la declaración while para realizar el lazo de operación.
Retardo 1us, este retardo debe ser controlado hasta una
visualización correcta.
Tengo que controlar con el Puerto C para los incrementos en
cada uno de los displays. Ya que el Puerto c0 controla las
decenas y el Puerto c1 las unidades.
Mostrar los resultados en los displays.
DIAGRAMA DE BLOQUE:
INGENIERÍA ELECTRÓNICA
14. RECOMENDACIONES:
Realizar las conexiones correctas entre la placa de Microcontroladores y los
dispositivos externos para realizar los ejercicios de una forma rápida.
Buscar información de las herramientas utilizadas como son: placa de
programación de Micros, PIcs, displays etc.
CONCLUSIONES:
El PIC16F877A nos permite controlar diferentes dispositivos como Displays,
Relés Salidas para Leds gracias a los pines de Entrada y Salida que tiene.
A través de la placa de Microcontroladores se facilita la conexión entre esta y
el computador para poder programar más rápido el PIC.
BIBLIOGRAFÍA:
Hojas de las Prácticas de Microcontroladores PIcs.
Ayuda del Programa Microbasic.
Manual del Microcontrolador 16F877A.
Manual de la placa de Implementación QL-Program.
Ayuda del Programa Proteus 7.6. Para las simulaciones.
INGENIERÍA ELECTRÓNICA
17. Ejercicio 1: Si se presiona el foco se enciende por 3 segundos, luego se
apaga un segundo y se vuelve a encender el foco por 3 segundos. Caso
contrario el foco permanece prendido.
INGENIERÍA ELECTRÓNICA