MICROCONTROLADORES
LABORATORIO 01
Herramientas de Programación Hardware y Software
- Capacidad Terminal
- Utilizar al microcontrolador en aplicaciones de control electrónico.
- Desarrollar y ejecutar programas en un microcontrolador PIC
- Programar y configurar interfaces básicas del microcontrolador.
2. Competencia Específica de la Sesión
3. Materiales y Equipos
Entrenador de PICS
PIC16F877A
4. Fundamento Teórico
- 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
3. Materiales y Equipos
CCS Compiler instalado

Pantalla LCD


PIC 16F877A
4.1 ¿Qué es el PIC 16F877A?
- Es un microcontrolador de Microchip Technology fabricado en tecnología CMOS, la potencia que consume es muy baja siendo además completamente estático dando a entender (que el reloj puede detenerse y los datos de memoria no se pierden), capaz de realizar diferentes actividades que requieran del procesamiento de datos digitales, de control y comunicación digital de diferentes dispositivos.

4.2 Características del PIC 16F877A
- Memoria ROM: 8 Kb
- Memoria RAM: 368 x 8 bytes
- Pines I/O: 35
- Frecuencia: 20 MHz con cristal externo
- Permite programación ICSP
- Frecuencia de operación 0-20 MHz
- Oscilador interno de alta precisión
- Memoria RAM: 368 x 8 bytes
- Pines I/O: 35
- Frecuencia: 20 MHz con cristal externo
- Permite programación ICSP
- Frecuencia de operación 0-20 MHz
- Oscilador interno de alta precisión
- Rango de frecuencia de 8MHz a 31KHz seleccionado por software.
- Voltaje de la fuente de alimentación de 2.0V a 5.5V
- Consumo: 220uA (2.0V, 4MHz), 11uA (2.0 V, 32 KHz) 50nA (en modo de espera)
- Voltaje de la fuente de alimentación de 2.0V a 5.5V
- Consumo: 220uA (2.0V, 4MHz), 11uA (2.0 V, 32 KHz) 50nA (en modo de espera)
- Ahorro de energía en el Modo de suspensión
- Brown-out Reset (BOR) con opción para controlar por software
- 33 pines de entrada/salida alta corriente de fuente y de drenado
- Resistencias pull-up programables individualmente por software
- Interrupción al cambiar el estado del pin
- Memoria ROM de 8K con tecnología FLASH
- El chip se puede re-programar hasta 100.000 veces
- Opción de programación serial en el circuito
- El chip se puede programar incluso incorporado en el dispositivo destino.
- Brown-out Reset (BOR) con opción para controlar por software
- 33 pines de entrada/salida alta corriente de fuente y de drenado
- Resistencias pull-up programables individualmente por software
- Interrupción al cambiar el estado del pin
- Memoria ROM de 8K con tecnología FLASH
- El chip se puede re-programar hasta 100.000 veces
- Opción de programación serial en el circuito
- El chip se puede programar incluso incorporado en el dispositivo destino.
- - 256 bytes de memoria EEPROM
- - 368 bytes de memoria RAM
- Temporizador perro guardián
- Módulo comparador analógico con:
Dos comparadores analógicos
Referencia de voltaje fija (0.6V)
Referencia de voltaje programable en el chip
Referencia de voltaje fija (0.6V)
Referencia de voltaje programable en el chip
- Módulo PWM incorporado
- Módulo USART mejorado
- Soporta las comunicaciones seriales RS-485, RS-232 y LIN2.0
- Auto detección de baudios
- Auto detección de baudios
- Puerto Serie Síncrono Maestro (MSSP)
Soporta los modos SPI e I2C.
4.3 Diagrama interno

5. Desarrollo de tareas indicadas en el laboratorio
5.1. Simulando el programa en ISIS PROTEUS
5.2. Depuramos el programa introducido
5.3. Modificamos el programa
5.1. Simulando el programa en ISIS PROTEUS
5.2. Depuramos el programa introducido
5.3. Modificamos el programa
- Modifique el programa para diseñar un “semáforo” con 3 salidas (leds) de tal manera que el led ROJO encienda durante 10 segundos, luego encienda el led ÁMBAR durante 3 segundos y finalmente encienda el led VERDE durante 8 segundos.
5.4. Reemplace la instrucción output_high(PIN_C0); por output_bit(PIN_C0, 1);
¿Funciona igual?
No, ya que al utilizar output_bit(PIN_Co,1) ya establecemos la condición de encendido.
No, ya que al utilizar output_bit(PIN_Co,1) ya establecemos la condición de encendido.
5.5. Elimine o comente la instrucción “while(true)”; ¿qué sucede?
Al eliminar la condición se pierde el bucle de repetición, así que solo cumplirá una vez el
programa introducido.
Al eliminar la condición se pierde el bucle de repetición, así que solo cumplirá una vez el
programa introducido.
5.6. Presione el pulsador de RESET, ¿qué sucede?
Con el funcionamiento del reset podemos reiniciar las funciones dadas en el programa.
Con el funcionamiento del reset podemos reiniciar las funciones dadas en el programa.
5.7 Inscríbase al curso sugerido y responda las preguntas planteadas,capture pantallas de las respuestas
6. EVIDENCIA DE TRABAJO
7. OBSERVACIONES Y CONCLUSIONES
OBSERVACIONES
- Los microcontroladores se programan en Assembler y cada microcontrolador varía su conjunto de instrucciones de acuerdo a su fabricante y modelo.
- De acuerdo al número de instrucciones que el microcontrolador maneja se le denomina de arquitectura RISC (reducido) o CISC (complejo).
- Se observó que al momento de transferir la información desde el software PIC C COMPILER a el PICKIT2 se realiza mediante archivo .HEX.
- Para evitar tener error como respuesta en la compilación del código introducido en el software PIC C COMPILER debemos agregar a la nueva carpeta que hemos creado el archivo ".h" acompañado del código del microcontrolador que utilizaremos.
- Al comprobar que la compilación de información en el software PICKIT2 no se obtuvo lo esperado, en este caso era el parpadeo del led en la ubicación C3,se debió a que debimos primeramente habilitar las filas y columnas del ordenado conjunto de led's con la ayuda del dip switch presente al costado del mismo.
CONCLUSIONES
- Se logró desarrollar programas utilizando el software PIC C COMPILER, posteriormente se llevo a su ejecución con PICKIT2.
- Para evitar dañar nuestro equipo de trabajo y realizar una corroboración adecuada del código introducido podemos utilizar nuestro programa ISIS PROTEUS, solo transfiriendo el archivo".cof".
- Se entendió que el PIC utilizado en la presente sesión 16F877A es capaz de realizar diferentes actividades que requieran del procesamiento de datos digitales, de control y comunicación digital de diferentes dispositivos.
8. BIBLIOGRAFÍA
- Marin, Francisco (2007) Diseño basado en microcontroladores. Málaga: Universidad de Málaga. (004.16/M26D)
- Pereira, Fabio (2007) Microcontroladores PIC. Sao Paulo:s.n. (005.13/P43)
- José María Angulo Usátegui [y otros]. (2007) Electrónica digital y microprogramable .Madrid: Thomson. (621.381/A37/I)
9. INTEGRANTE
- Condori Ortíz, Daniel Agustín C5 - A