JUEGO DE TIRO A CANASTA CON INDICADOR DE PUNTOS
FASE 1:
CONOCIENDO LAS HERRAMIENTAS DE PROGRAMACION HARDWARE Y SOFTWARE
- COMPETENCIA ESPECÍFICA DE LA SESIÓN:
- Listar las partes internas generales de un microcontrolador.
- Identificar las funciones generales de un microcontrolador.
- Introducción a la programación en PIC C Compiler.
- Cómo utilizar el Entrenador.
CPU:
- Tecnología RISC
- Sólo 35 instrucciones que aprender
- Todas las instrucciones se ejecutan en un ciclo de reloj, excepto los saltos que requieren dos
- Frecuencia de operación de 0 a 20 MHz (200 nseg de ciclo de instrucción)
- Opciones de selección del oscilador
Memoria:
- Hasta 8k x 14 bits de memoria Flash de programa
- Hasta 368 bytes de memoria de datos (RAM)
- Hasta 256 bytes de memoria de datos EEPROM
- Lectura/escritura de la CPU a la memoria flash de programa
- Protección programable de código
- Stack de hardware de 8 niveles
Reset e interrupciones:
- Hasta 14 fuentes de interrupción
- Reset de encendido (POR)
- Timer de encendido (PWRT)
- Timer de arranque del oscilador (OST)
- Sistema de vigilancia Watchdog timer
Otros:
- Modo SLEEP de bajo consumo de energía
- Programación y depuración serie “In-Circuit” (ICSP) a través de dos patitas
- Rango de voltaje de operación de 2.0 a 5.5 volts
- Alta disipación de corriente de la fuente: 25mA
- Rangos de temperatura: Comercial, Industrial y Extendido
- Bajo consumo de potencia: o Menos de 0.6mA a 3V, 4 Mhz o 20 µA a 3V, 32 Khz o menos de 1µA corriente de standby (modo SLEEP).
Diagrama de pines
Descripción de los pines

Los pines de entrada/salida de este microcontrolador están organizados en cinco puertos, el puerto A con 6 líneas, el puerto B con 8 líneas, el puerto C con 8 líneas, el puerto D con 8 líneas y el puerto E con 3 líneas. Cada pin de esos puertos se puede configurar como entrada o como salida independiente programando un par de registros diseñados para tal fin. En ese registro un bit en "0" configura el pin del puerto correspondiente como salida y un bit en "1" lo configura como entrada. Dichos pines del microcontrolador también pueden cumplir otras funciones especiales, siempre y cuando se configuren para ello.
Los pines del puerto A y del puerto E pueden trabajar como entradas para el convertidor Análogo a Digital interno, es decir, allí se podría conectar una señal proveniente de un sensor o de un circuito analógico para que el microcontrolador la convierta en su equivalente digital y pueda realizar algún proceso de control o de instrumentación digital. El pin RB0/INT se puede configurar por software para que funcione como interrupción externa, para configurarlo se utilizan unos bits de los registros que controlan las interrupciones
El pin RA4/TOCKI del puerto A puede ser configurado como un pin de entrada/salida o como entrada del temporizador/contador. Cuando este pin se programa como entrada digital, funciona como un disparador de Schmitt (Schmitt trigger), puede reconocer señales un poco distorsionadas y llevarlas a niveles lógicos (cero y cinco voltios). Cuando se usa como salida digital se comporta como colector abierto (open collector ), por lo tanto, se debe poner una resistencia de pull-up (resistencia externa conectada a un nivel de cinco voltios). Como salida, la lógica es inversa: un "0" escrito al pin del puerto entrega en el pin un "1" lógico. Además, como salida no puede manejar cargas como fuente, sólo en el modo sumidero. El puerto E puede controlar la conexión en modo microprocesador con otros dispositivos utilizando las líneas RD (read), WR (write ) y CS (chip select ). En este modo el puerto D funciona como un bus de datos de 8 bits (pines PSP).La máxima capacidad de corriente de cada uno de los pines de los puertos en modo sumidero (sink ) o en modo fuente (source ) es de 25 mA . La máxima capacidad de corriente total de los puertos es:


Arquitectura interna


Diagrama de bloques

Experimentación
Para programar nuestro PIC 16F877A con el entrenador de PIC HFK-010U para encender y apagar un LED cada un segundo (seguimos este link , utilizaremos el programa CCS Compiler para escribir, compilar nuestro código y poder generar el archivo .hex que grabaremos posteriormente en el PIC con el programa PICkit2 como se ve a continuación:
Observaciones:
- El PIC 16F877A posee 40 pines, dentro de los cuales tenemos 5 puertos a usar A, B, C, D y D.
- Tener en cuenta la posición correcta al colocar el PIC en el zócalo ZIF, este irá con la muesca hacia el lado de la palanca de presión, ya que, colocarlo indebidamente causará que este se queme.
- Podremos verificar que un PIC esta en buen estado si existe comunicación entre éste y el software de grabado en este caso el PICkit2, en otras palabras el PIC es reconocido por la PC.
- Tener en cuenta que para poder grabar el PIC es importante conectar el cable USB en el puerto USB del programador, que esta justo a lado de la fuente de alimentación.
- Observamos que el lenguaje usado para programar en el CCS Compiler esta basado en C por lo que recordar las sentencias que usamos para programar en Arduino nos ayudará bastante.
- Tener en cuenta que en las librerías del código debemos colocar el PIC que estamos usando y la frecuencia de reloj.
- Simular el circuito antes de armarlo físicamente nos evitará cometer errores en la programación o conexionado, que puedan dañar nuestro PIC.
Conclusiones:
- Aprendimos a programar el PIC 16F877A utilizando el software CCS Compiler (para compilar nuestro código) y el PICkit2 para grabar el PIC a través del hardware entrenador de PICs HFK-010U.
- Conocimos el funcionamiento de cada bloque del entrenador de PICs HFK010U, a través de su manual y vídeos publicados en la red. Siendo este muy completo y didáctico para nuestra capacitación.
- Conocimos mediante la teoría las características mas importantes del PIC 16F877A, su diagrama de pines y el funcionamiento de cada uno así como la arquitectura interna la cual ejecuta todas las tareas a realizar.
- Aprendimos a utilizar el microcontrolador PIC16F877A en la aplicación mas básica de control electrónico, como el control de encendido y apagado de LED, variando el tiempo de parpadeo a través del código escrito en el compilador.
- Concluimos que utilizar microcontroladores en proyectos sencillos, mejorará nuestra capacidad cuando trabajemos con proyectos complejos, como industriales por ejemplo.
No hay comentarios:
Publicar un comentario