19
PIC (Programmable Integrated Circuits): Los circuitos integrados programables son un chip que permite obtener un circuito integrado deseado por él programador del PIC, mediante un programa que guardo en su memoria ROM interna. Los PICs utilizan un conjunto de instrucciones del tipo RISC (Reduced Instruction Set Computer). Con el RISC se ejecutan la gran parte de las instrucciones con un solo pulso del clock (reloj). Estructura de un PIC: Los Microcontroladores, son dispositivos que poseen una memoria de programa (donde se guardan datos) donde se le indica al chip qué instrucciones debe ejecutar; una memoria de datos donde se ingresen señales debe procesar el programa, en cuanto a la una unida aritmética y lógica (ALU), se desarrollan todas las tareas, una unidad de control la cual tiene la función principal de inspeccionar todos los procesos y puertos de entrada y salida para que el PIC tenga contacto con el exterior, además este tiene entradas y salidas. Tensión de fuente de 5V (VDD) aplicada con respecto al terminal de masa (VSS) En este caso tiene dos puertos A y B El cristal se conecta en OSC1 y OSC2 para generar el CLOCK (reloj) del sistema. Luego una señal de entrada llamada MCLR negada, que es conocido como RESET.

Manual Pic 16F8X

  • Upload
    suarock

  • View
    257

  • Download
    0

Embed Size (px)

DESCRIPTION

Manual Pic 16F8X

Citation preview

  • PIC (Programmable Integrated Circuits):

    Los circuitos integrados programables son un chip que permite obtener un circuito integrado deseado por l programador del PIC, mediante un programa que guardo en su memoria ROM interna. Los PICs utilizan un conjunto de instrucciones del tipo RISC (Reduced Instruction Set Computer). Con el RISC se ejecutan la gran parte de las instrucciones con un solo pulso del clock (reloj). Estructura de un PIC: Los Microcontroladores, son dispositivos que poseen una memoria de programa (donde se guardan datos) donde se le indica al chip qu instrucciones debe ejecutar; una memoria de datos donde se ingresen seales debe procesar el programa, en cuanto a la una unida aritmtica y lgica (ALU), se desarrollan todas las tareas, una unidad de control la cual tiene la funcin principal de inspeccionar todos los procesos y puertos de entrada y salida para que el PIC tenga contacto con el exterior, adems este tiene entradas y salidas.

    Tensin de fuente de 5V (VDD) aplicada con respecto al terminal de masa (VSS)

    En este caso tiene dos puertos A y B El cristal se conecta en OSC1 y OSC2 para generar el CLOCK (reloj) del sistema. Luego una seal de entrada llamada MCLR negada, que es conocido como RESET.

  • Arquitectura interna de un PIC16F84

    Perro guardin o watchdog: Su funcin supervisar el mximo tiempo que tarda el microprocesador en completar su programa y en caso de superarse ese tiempo, provocar un reset automtico por si el procesador se quedo trabado. Los registros: son pequeas unidades de memoria transitoria, construida por lo general con un registro de desplazamiento. El contador de programa: Responsable de que el microprocesador vaya examinando las instrucciones una por una en orden ascendente. Este guarda el nmero de instruccin en el STACK (pila de registros) y la instruccin misma la transpasa al registro de instrucciones, en donde se enva al resto del microprocesador. ALU (unidad arimtica y lgica): En esta zona es imprescindible utilizar un registro ya que una operacin aritmtica o lgica siempre se efecta entre dos nmeros.

  • -Tiene una longitud de 1 Kbyte con palabras de 14 bits. Lo cual implica que existen 1.040 posiciones de memoria, valor obtenido empleando la frmula: 3 x 162+16 x 161+16 x 160 Cuando se produce un vector reset se inicia en la posicin 0000 y cuando es un vector de interrupcin se va a la posicin 0004. LA MEMORIA DE PROGRAMA: La misma EEPROM (memoria de solo lectura), bsicamente se programa por tensiones; es decir que basta con introducir los datos con un cierto nivel de tensin (voltaje), para que stos procedan a borrar el programa anterior y graben uno nuevo. LA MEMORIA DE DATOS: La misma RAM (Random Acces Memory = memoria de acceso aleatorio) memoria de lectura y escritura de 128 posiciones pero que slo tiene implementados las primeras 48 posiciones (donde 12 son fijas y de 13 a 48 son de propsito general), va desde 00 a 2F en hexadecimal.

    Los Puertos del PIC: Tiene dos puertos paralelos de entrada y salida, un A con 8 patas y B con 5. Cada pata tiene un resistor de pull-up (resistor conectado a fuente). El puerto A slo se pueden consumir 80mA en total o entregar 50mA y el puerto B 150mA o entregar 100mA.

  • Pata 3 del puerto A, la cual posee unas caractersticas especiales.

    EL CLOCK: Una seal de reloj, se utiliza para coordinar las acciones de una o ms circuitos y varia su precisin dependiendo el circuito que queramos realizar.

    El RESET: El PIC se resetea cuando la pata 4 (MCLR negada) posee un potencial bajo.

    Para que un PIC funcione como nosotros queremos es preciso cargarle un programa en la memoria de programa .Es decir que el programa debe estar en un lenguaje maquina (binario), adems este debe estar en cdigo hexadecimal con extensin .HEX, adems debe tener una extensin .asm que es programacin en asembler, por otra parte se utiliza un editor llamado MPLAB para realizar nuestros programas. LOS CARGADORES DE PICS: Dijimos que un cargador de PIC debe poseer por un lado el circuito que permita cargar el programa desde una computadora (hardware) y el programa que permita manejar a dicho circuito para realizar la operacin de carga (software). Existen diferentes cargadores como: * Cargador NOPPP: cargar PICs del tipo 16C84, 16F83 y 16F84

  • * Cargador PROPIC: sirve para ser montado cuando no se quieren correr riesgos con la PC. * Cargador Universal de PICs y EEPROM: sirve para programar: 12C508, 12C509, 12C67X, 16C55X, 16C61, 16C62X,16C71, 16C71X, 16C8X, 16F8X, 16F873/4/6/7,16C73/74/76/77. * Cargador PIC800: programador para 16C84, 16F84,16F873/74/76/77 * Cargador PP84: programador sencillo del tipo NOPPP de buenas prestaciones Un PIC se lee y se escribe accediendo a las diferentes posiciones de memoria por una misma pata, por la que se obtienen o tambin se ingresan los datos (la pata 13). La seal primero elige la posicin de memoria a ser leda o escrita, y si esa posicin est accesible se escriben o leen los datos. El clock que se ubica en la pata 12, sirve para indicar en qu momento se debe transferir la informacin. Los datos pueden estar en la pata 13 todo el tiempo que usted desee, ya que no sern ni ledos ni escritos por la PC hasta que se produzca un cambio de estado (de alta tensin a baja tensin) en la pata 12.

    Formas de seal indicadas por Microchip para leer o grabar un PIC.

  • a) La prohibicin de lectura. El PIC se programa, pero el programa no puede ser ledo.

    b) Habilitacin del timer del reset. En el pinup del PIC se puede ver que en la pata MCLR (4) posee un doble uso. Uno de sus usos es predisponer el PIC en grabacin o lectura; pero cuando su tensin disminuye hasta por debajo de 1V, el PIC se resetea y comienza la lectura del programa.

    c) Circuito de vigilancia (perro guardin). Es un reset extra del PIC el cual opera luego de un cierto tiempo si no se realiza la operacin final del programa.

    INSTRUCCIONES DE UN PIC Una instruccin es un comando, que se le aplica al PIC para que lo interprete y ejecute su cumplimiento. La instruccin se compone de una serie de bits exhibida en posiciones, que el procesador interpreta para cumplir una orden deseada segn el programa, estando formadas las variables que se van a modificar. Los bits que funcionan como datos de la EPROM se recogen en el decodificador de instrucciones, y operan con el contador de programa y el registro de trabajo W, para poder ingresar a lugares especficos del microcontrolador, como por ejemplo la ALU, posiciones de memoria, registros, entre otros. Cada instruccin, para los PICs de tipo 16C5X, consisten en una palabra de 12 bits que codifica en un solo bloque, la orden, el operador y la ubicacin del resultado o el salto y en el PIC tipo 16X84 posee una longitud de 14 bits. Existen instrucciones como: Suma: ADDWF f,d suma el contenido del registro de trabajo W con la posicin de memoria f. Cuando se ejecuta esta instruccin el ensamblador genera: 0001 11df ffff

    Se determina el ciclo de instruccin dividiendo por cuatro la frecuencia del oscilador, elegida para el funcionamiento del micro controlador

  • EL SET DE INSTRUCCIONES DEL 16X84

  • Programa de ejemplo: Ejemplo1: ; Primer programa de prctica List p = 16C84 ; voy a utilizar el PIC16C84 ptob equ 0x06 ; inicializo la variable ptob en ; la direccin 06h Reset org h0 ; comienza el programa Inicio movlw h0 ; cargo a W con 0 tris ptob ; mando el contenido de W a ptob movlw h0f ; cargo a W con el nmero binario 15 ciclo nop ; rutina nula goto ciclo ; vaya a ciclo

  • Ejemplo2:

  • 1. MICROCONTROLADORES

    Son circuitos programables los cuales contiene todos los componentes de un computador.

    Se emplea para controlar el funcionamiento de una tarea determinada.

    Aplicaciones de los microcontroladores: Entre ellas principalmente se utiliza para la

    comunicacin.

    Diferencia entre microprocesador y microcontrolador:

    El microprocesador principalmente es la misma CPU (unidad Central de proceso) o

    llamado tambin procesador.

    -Estructura de un sistema abierto basado en un microprocesador. La disponibilidad de los buses en el exterior, permite que se configure a la medida de la aplicacin. El microcontrolador es un sistema cerrado, porque todas las partes del computador estn contenidas en su interior y slo salen al exterior los dispositivos perifricos, adems este no puede alterarse.

  • Las partes principales de un microcontrolador son:

    1. Procesador: La CPU (Unidad Central de Proceso), la cual se conectaba con una memoria (en donde se alojaban datos e instrucciones), a travs de una va de buses. El procesador de los modernos microcontroladores es compatible con la arquitectura RISC (Computadores de Juego de Instrucciones Reducido).

    En la arquitectura de von Neumann la UCP se comunicaba a travs de un sistema

    de buses con la Memoria, donde se guardaban las instrucciones y los datos. En la arquitectura Harvard son independientes la memoria de instrucciones y la memoria de datos y cada una dispone de su propio sistema de buses para el acceso a datos. Adems estas dos memorias permiten adecuar el tamao de palabra.

    2. Memoria no voltil para contener el programa: almacena todas las instrucciones

    del programa de control. El programa es grabado de forma permanente. Los tipos de memoria son los siguientes:

    a) ROM con mascaras: El programa se graba en el chip durante el proceso de su fabricacin mediante el uso de mscaras.

    b) EPROM: La grabacin se realiza mediante dispositivos fsicos. c) OTP (programable 1 vez): Solo puede ser grabada una vez por parte del usuario. d) EEPROM: El borrado es muy fcil y es grabada de forma elctrica.

  • e) FLASH: Memoria no voltil, de bajo consumo se puede escribir y borrar como las EPROM

    3. Memoria de lectura y escritura para guardar los datos: Los datos que manejan los programas varan continuamente, y esto exige que la memoria que les contiene debe ser de lectura y escritura, por lo que la memoria RAM esttica (SRAM) es la ms adecuada, aunque sea voltil. Aunque se puede con una memoria no voltil.

    4. Lneas de EIS para los controladores de perifricos: Las lneas de E/S que se adaptan con los perifricos manejan informacin en paralelo y se agrupan en conjuntos de ocho, que reciben el nombre de Puertas. Existen tambin modelos con lneas que manejan informacin en serie; otros disponen de conjuntos de lneas que implementan puertas de comunicacin para diversos protocolos, como el I2C, el USB, etc. Se puede presentar comunicacin entre dispositivos como:

    a) Comunicacin paralelo: Es un mtodo de envi de mltiples seales de datos sobre un enlace de comunicacin a la vez.

    b) Comunicacin serie: Consiste en el envo de un bit de informacin de manera secuencial, esto es, un bit a la vez.

    c) Diversas puertos de comunicacin (bus l2C, USB, etc.): Son herramientas que permiten manejar e intercambiar datos

    5. Recursos auxiliares:

    a) Circuito de reloj: Encargado de generar los impulsos que sincronizan el funcionamiento de todo el sistema.

    b) Temporizadores: controlan tiempos. c) Perro Guardn (watchdog): reinicia cuando el programa se bloquea. d) Conversores AD y DA: para poder enviar y recibir seales analgicas. e) Comparadores analgicos: Verifican valor de la seal analgica. f) Proteccin ante fallos de la alimentacin. g) Estado de reposo o de bajo consumo: El sistema queda congelado y el consume

    de energa se reduce al mnimo.

    PROGRAMACIN DE MICROCONTROLADORES

    El lenguaje que utilizan los profesionales para la programacin de las microcontroladores es el Ensamblador, que es el ms cercano a la mquina. INSTRUMENTAL DE TRABAJO Siempre que se disea con circuitos integrados programables se precisan herramientas para la puesta a punto del hardware y del software. En cuanto al software, consiste en programas que simulan la ejecucin de instrucciones representando el comportamiento interno del procesador y el estado de las lneas de E/S y con respecto al hardware, una indispensable es el grabador, encargado de escribir el programa en la memoria del microcontrolador.

    Una vez grabado el microcontrolador sus patitas quedan conectadas a travs de jumper con los perifricos que hay que controlar y se procede a la ejecucin en tiempo real del programa.

  • 2. MICROCONTROLADORES DE 8 BITS

    Ventajas de los PIC:

    Su coste es comparativamente inferior al de los competidores Poseen una elevada velocidad de funcionamiento Tienen un juego reducido de instrucciones; 35 en la gama media Los programas son compactos Bajo consumo: unido a un amplio rango de voltajes de alimentacin. FAMILIA DE LOS PIC:

    a) Gama baja o bsica: PIC16C5X con instrucciones de 12 bits: Hay versiones que poseen 18 y 28 patas, adems se puede alimentar hasta con 2.5 voltios.

    b) Gama media: PIC16CXXX con instrucciones de 14 bits: Poseen entre 18

    y 68 patas La gama media puede clasificarse en las siguientes subfamilias:

    a) Gama media estndar (PIC16C55X). b) Gama media con comparador analgico (PIC16C62X/64X/66X). c) Gama media con mdulo de captura (CCP), modulacin de anchura de impulsos (PWM) y puerta serie (PIC16C6X). d) Gama media con CAD de 8 bits (PIC16C7X). e) Gama media con CAD de precisin (PIC14000). f) Gama media con memoria Flash y EEPROM (PIC16F87X y PIC16X8X).

  • c) Gama alta: PIC17CXXX con instrucciones de 16 bits: Alcanza hasta 58

    instrucciones de 16 bits

  • d) Gama mejorada: PIC18C(F)XXX con instrucciones de 16 bits: Con el propsito de soportar las aplicaciones avanzadas en las zonas de comunicaciones, ofimtica y control industrial. Sus modelos se destacaron por su alta velocidad (40 Mhz) y su gran rendimiento (10 MIPS a 10 Mhz).

    e) Los enanos de 8 patitas: Es un grupo de PIC (PIC12C(F)XXX), se alimenta de

    corriente continua que est entre 2.5V y 5.5V

    DESCRIPCIN GENERAL Y APLICACIONES: La diversidad de los modelos de PIC tiene una finalidad: poder seleccionar el ms adecuado para cada aplicacin. Por este motivo conviene tener un conocimiento completo y actualizado de cada gama.

    3. LOS SELLOS MAGICOS DE PARALLAX

    Parallax dispone de un mdulo de poca potencia (BS1-IC), basado en un microcontrolador PIC 16C756 a 4 MHz, lo que permite la ejecucin de 2.0C1C1 instrucciones PBASIC por segundo. Slo posee 16 bytes de RAM y 8 lneas de E/S. La capacidad de la EEPROM donde se almacenan temporalmente los programas es de 256 bytes, que admite hasta 80 instrucciones PBASIC.

  • El mdulo BS2e-IC: Microcontrolador Scenix SX28AC a 20 MHz y tiene mayor capacidad de memoria RAM y EEPROM para programas de 4.000 instrucciones.

    El mdulo BS2sx-IC: Funcionando a una frecuencia de 50 MHz, este modelo puede ejecutar 10.000 instrucciones PBASIC por segundo. Acepta las mismos comandos que BS2e-IC.

    Mdulos BS2p24-IC y BS2p40-IC: El BS2p24-IC utiliza el microcontrolador Scenix SX48AC a 20 MHz Turbo y est encapsulado con 24 patitas en formato DIP.

    TABLA DE CARACTERISTICAS DE MICROCONTROLADORES DE PARALLAX

  • EL MICROCONTROLADOR ES EL CEREBRO DEL SISTEMA

    La estructura fsica de los mdulos BASIC Stamp puede descomponerse en cinco grandes bloques: 1. Seccin del microcontrolador. 2. Seccin de la memoria EEPROM. 3. Seccin de la Entrada/Salida de la informacin serie del PC. 4. Seccin del regulador de tensin. 5. Seccin de las lneas de E/S de informacin para el mundo exterior. Introduccin de informacin desde los perifricos externos y salida de los resultados del procesamiento de los programas por las patitas del mdulo hacia los perifricos.

    Caractersticas generales del PIC16C57

    Es un Microcontrolador de 8 bits. Con una memoria RAM para guardar datos de 72 bytes de capacidad. Microchip dispone de una versin del PIC 16C57 cuya memoria de programa es de tipo EPROM, que puede grabarla el usuario con un grabador y borrarla para volverla a reescribir. Finalmente, el PIC16C57 maneja 20 lneas de E/S implementadas fsicamente mediante 20 patas por las que se envan y se recibe informacin.

  • LA MEMORIA EEPROM. PRESENTACIN DEL BUS I2C: En los mdulos BASIC Stamp poseen una memoria EEPROM, la cual va pasando, una a una, las instrucciones al PIC para interpretar y ejecutar. Adems esta memoria se comunica con el PIC en formato serie y segn el protocolo de comunicacin del bus I2C.

    -Cada uno de los 128 posibles Esclavos responde a una direccin formada por 7 bits (A0- A6), y el Maestro al iniciar una transferencia es lo primero que enva en su comunicacin.

    Lectura y escritura de la memoria EEPROM: La EEPROM 24LC16B se carga con el programa manipulado PBASIC, el cual se genera en el ordenador por el Editor STAMP BASIC y que llega hasta el conector DB9 del mdulo Parallax desde el puerto serie. La grabacin en la memoria se producir mediante la entrada en serie de la correspondiente informacin a travs de la pata SDA (serial data=es bidireccional y es utilizado para transferir datos dentro o fuera de la memoria).

  • SECCIN DEL REGULADOR DE TENSIN: Se compone LM2940-5.0, que es un regulador de tensin a + 5VDC. Tambin existe un condensador electroltico auxiliar. Por la pata Vin del regulador se recibe una tensin que puede oscilar entre +5,5 y +I5 VDC. Por la pata de salida Vout se obtiene una tensin VDD de + 5 VDC regulada.

    SECCIN DE LAS LNEAS DE E/S DE INFORMACIN CON EL MUNDO EXTERIOR: El OEM BS2-IC el cual puede ser de 16 o 20 patas, en las cuales se aplica la alimentacin elctrica, la seal de Reset y las lneas de E/S de los puertos B y C del microcontrolador. En cuanto al mdulo OEM BS2-IC de 16 patas de E/S de informacin, sirven para conectar los perifricos que se desean controlar para realizar la operacin deseada.

    La importancia del consumo: Cada lnea de E/S del microcontrolador puede absorber una corriente mxima de 25 mA y puede suministrar hasta 20 mA.