ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

PIC 16F886

cvelasquez2 de Julio de 2014

28.469 Palabras (114 Páginas)526 Visitas

Página 1 de 114

CURSO

BÁSICO

DE

PIC16F877

Raúl Peralta Meza

Carlos Quiñones Quispe

Generalidades

Historia e importancia de los microcontroladores

Metodología de estudio

Microcontroladores Microchip 16F87X

Arquitectura 16F87X

Arquitectura interna 16F87x

Ciclo de instrucción

Organización de la memoria

Herramientas

Módulo 1: Manejo de Puertos Digitales

Registros para el manejo de puertos digitales

Descripción general de las instrucciones

Lectura y escritura en puertos

Partes de un programa en ASM

Primer programa en ensamblador

Uso del MPLAB

Principales registros del PIC16F877 (STATUS)

Ejercicios

Reconocimiento del In Circuit Debugger

Ejercicio

Módulo 2: Manejo de Temporizadores

Módulo Timer 0

Diagrama de bloque y forma de operación del TMR0

Estructura Interna y Funcionamiento del TMR1

Operación del Timer1 en modo Temporizador

Timer1 en modo Contador Sincrono

Timer1 en modo Contador Asíncrono

Ejercicios

Módulo 3 : Convertidor Análogo Digital

Introducción

Descripción General

Requerimientos para la adquisición A/D

Selección del clock de conversión Analógica Digital

Configuración de los pines de los puertos para que trabajen de forma analógica

Conversiones A/D

Registros que almacenan el resultado de la conversión

Operación del módulo A/D durante la operación SLEEP

Efectos en el RESET

Ejercicios

Módulo 4: Comunicación Serie Asíncrona

Generalidades

Generador de Baudios

Trasmisor Asíncrono

Receptor Asíncrono

Ejercicios

Módulo 5 : Manejo de interrupciones

Interrupciones

Registro de Control de Interrupciones (INTCON)

Registro de permiso de interrupciones 1 (PIE1)

Registro de permiso de interrupciones 2 (PIE2)

Registros de los señalizadores de interrupciones 1 y 2 (PIR1 y PIR2)

Lógica de Interrupciones

Ejercicios

Módulo 6: Memoria EEPROM

Memoria de Datos EEPROM y Memoria FLASH de Programa

Los registros EECON1 y EECON2

Operación de lectura de la memoria de datos EEPROM

Operación de escritura en la memoria de datos EEPROM

Protección contra escrituras espurias

Ejercicios

Módulo 7 : Manejo de Páginas de Memoria y

Watch Dog

PCL Y PCLATCH

La Pila

Paginación de la memoria de programa

Metodología de acceso a funciones por medio de una solo página

Ejercicios

Perro guardian (WDR: WATCHDOG TIMER)

Modo de reposo o de bajo consumo

Ejercicio

Anexos

Tabla de códigos ASCII

Juego de instrucciones PIC16F877

Relación de ejercios

Generalidades

Historia e importancia de los microcontroladores

Hasta antes de la aparición de los microprocesadores (1971), la mayor parte de las

aplicaciones digitales en electrónica se basaban en la llamada lógica cableada, es decir, si

existía un problema este era analizado y se sintetizaba una función en base a la lógica de

boole que era la solución al problema planteado.

Con la aparición de los microprocesadores, se varió el esquema de diseño de tal forma que

un problema era descompuesto en una serie de tareas mas simples, el microprocesador

ejecutaba una serie de pasos o instrucciones para llevar a efecto cada una de las tareas, en

ocasiones no era necesario volver a armar un circuito para solucionar otro problema sino

que se cambiaba las instrucciones (programa) para obtener otra aplicación

Desde luego el microprocesador es como el cerebro que ejecuta operaciones de índole

aritméticas y lógicas por tanto no manejaba líneas externas (periféricos) más aún tampoco

tenia un lugar donde almacenar el programa y los datos que necesitaba el programa para

encontrar la respuesta al problema. El microprocesador buscaba una instrucción y la

ejecutaba; al conjunto de circuitos (hardware) que daban el soporte necesario al

microprocesador se le llamo sistema mínimo.

Con el pasar de los años el sistema mínimo se convirtió en un estándar, por otro lado la

escala de integración mejoro y posibilito (1976) sintetizar en un solo chip un sistema

mínimo, al cual se le llamo SISTEMA A que no era otra cosa que el primer

microcontrolador.

En consecuencia definimos así a un microcontrolador; como un procesador con su sistema

mínimo en un chip (incluye memoria para programa y datos, periféricos de entrada / salida,

conversores de AD y DA, módulos especializados en la transmisión y recepción de datos).

Desde luego que hay diferencias sustanciales como la arquitectura cerrada de un

microcontrolador, en cambio en un microprocesador es abierta, podemos sumar nuevos

dispositivos en hardware en función a las necesidades que la aplicación demande.

Otra diferencia entre los microcontroladores y los microprocesadores es que los primeros

cuentan con un set de instrucciones reducido en cambio la mayoría de los

microprocesadores tienen mayor cantidad de instrucciones. Por otro lado la mayoría de los

microcontroladores posee una arquitectura Harvard frente a una arquitectura Von Neuman

de los microprocesadores.

Los microcontroladores se especializan en aplicaciones industriales para resolver problemas

planteados específicos por ejemplo: los encontramos en los teclados o mouse de las

computadoras, son el cerebro de electrodomésticos, también los encontramos en las

industria automotriz, en el procesamiento de imagen y video.

Cabe señalar que los el aumento progresivo de la escala de integración y las técnicas de

fabricación hacen que cada vez aparezcan microcontroladores mas poderosos y rápidos.

Metodología de estudio

En el presente curso pretendemos aprender a usar microcontroladores. Aprender significa:

•Entender como funciona la arquitectura.

•Comprender y aplicar las instrucciones que tiene el dispositivo.

•Plantear soluciones a problemas.

•Aprender a usar la herramientas de programación y depuración. (ICD

•Detectar y corregir los errores sintácticos y lógicos.

•Optimizar el programa final.

En el desarrollo de texto implementaremos circuitos simples pero demostrativos de las

bondades y posibilidades de los microcontroladores. El proceso de diseño puede ser

expresado a través del siguiente diagrama de flujo:

Como podemos apreciar todo principia en una idea la cual se ha de plasmar en diagramas

de flujo o automatas o alguna otra metodologia que ayude al modelamiento, una vez

superado este punto procedemos a usar un editor de texto para codificar el diagrama de

flujo a través de las instrucciones con que cuenta el microcontrolador.

A continuación presentamos ese archivo a un programa ensamblador (si es que usamos el

lenguaje ensamblador) o un compilador (si usamos otro lenguaje como el C o Basic) aqui se

depuran los errores sintácticos que son errores en la estructura del lenguaje de

programación.

Una vez que superamos esa etapa procedemos a usar un software, para simular el

programa verificando que la solución es válida. En caso que la simulación indique errores

procedemos a replantear la solución retomando el punto inicial. Si la solución es la que

deseamos procedemos a grabar el programa (debidamente compilado) en el

microcontrolador haciendo uso de una herramienta (grabador de microcontroladores). En

este punto es posible aplicar un emulador o un ICD a fin de verificar que los resultados

elaborados por el simulador son apropiados, el emulador o ICD a diferencia del simulador

trabaja sobre hardware real. En caso que falle en este punto retomamos el diseño original.

Superada ambas fases procedemos a colocarlo sobre el hardware final que ha de operar.

Microcontroladores Microchip 16F87X

Casi todos los fabricantes de microprocesadores lo son también de microcontroladores, en el

mercado existen una serie de marcas bastante conocidas y reconocidas como es el caso de

Microchip, Motorola, Hitachi, etc. Hemos seleccionado a Microchip y en particular la serie

16F87X, motivos para usar este dispositivo sobran, el principal de ellos es la abundante

información y herramientas de diseño existente en el mercado (tanto local como

internacional). También salta a la vista el hecho que es sencillo en el manejo y contiene un

buen promedio elevado en los parámetros (velocidad, consumo, tamaño, alimentación).

Las principales características con que cuenta el 16F87X son:

• Procesador de arquitectura RISC avanzada

• Juego de 35 instrucciones con 14 bits de longitud. Todas ellas se ejecutan en un ciclo

de instrucción menos las de salto que tardan 2.

• Frecuencia de 20 Mhz

• Hasta 8K palabras de 14 bits para la memoria de codigo, tipo flash.

• Hasta 368 bytes de memoria de datos RAM

• Hasta 256 bytes de memoria de datos EEPROM

• Hasta 14 fuentes de interrupción internas y externas

• Pila con 8 niveles

...

Descargar como (para miembros actualizados) txt (196 Kb)
Leer 113 páginas más »
Disponible sólo en Clubensayos.com