Você está na página 1de 29

Unidad 4

CATEDRATICO: ING. JORGE CEIN VILLANUEVA GUZMAN

MATERIA: INTERFACES

EQUIPO 4

Perifricos No Estandarizados

PIC
QU ES UN PIC? (Controlador de Interfaz perifrico)

computadores digitales integrados en un chip

Caractersticas Bsicas del PIC16F84

Unidad de Procesamiento Central Memoria de Programa

Memoria de Datos
Interfaz de Entrada/Salida

Diagramas de los Pines del Pic 16F84

RAO a RA4 Este es un puerto bidireccional. El nmero que hay despus de RA Indica el nmero de bit (0 a 4). RBO a RB7 RB es un segundo puerto bidireccional. Se comporta exactamente de la misma manera que RA, excepto que tiene 8 bits.

VSS y VDD Estos son los pins de Alimentacin. VDD es la alimentacion positiva, y VSS es el negativo de la alimentacin.
OSC1/CLK IN y OSC2/CLKOUT Estos Pines son donde se conectan el reloj externo, para que el micro controlador disponga de algn tipo de temporizacin. MCLR Este pin se utiliza para borrar las posiciones de memoria dentro del Pic.

Cuando son entradas, pueden adquirir datos interpretando el valor de voltaje como un valor lgico 0 o 1, mientras que cuando son salidas pueden entregar una seal binaria de voltaje cuya magnitud depender del valor lgico 0 o 1.

Uso de los pics

Un PICmicro es un circuito integrado programable.


Programable quiere decir que se puede planificar la manera como va a funcionar, que se puede adaptar a nuestras necesidades. En otras palabras que el integrado es capaz de modificar su comportamiento en funcin de una serie de instrucciones que es posible comunicarle. Las aplicaciones de los PIC son realmente muy numerosas, veamos solamente algunas como para entusiasmarlos.

Control de pantallas alfanumricas LCD

Los micro controladores son especialmente tiles para controlar con muchsima facilidad los displays de cristal liquido LCD

Control de teclados En muchas aplicaciones se requieren teclados especiales que se adapten exactamente a ciertas necesidades. Los PicMicro se puedan utilizar para realizar secuencias de rastreo y as saber que tecla se ha oprimido.

Control de memorias EEPROM seriales

Control de temperatura

Gracias a que los PIC incluyen convertidores Analgico / Digitales el control de variables como Temperatura, Presin y Flujo puede realizarse con circuitos sumamente simples. Con unas cuantas resistencias y un buen sensor de temperatura se puede hacer un Termostato o un controlador de Flujo.

Control de Robots

Casi se puede asegurar que no hay Robot que no incluya un PIC en alguna de sus mltiples funciones. Son igualmente importantes en control de servomecanismos, reconocimiento de voz, tareas secuenciales, etc.

Control para motores

Los PIC tambin se pueden utilizar para controlar motores de diferentes tipos: de pasos, de corriente directa, servos, etc.

PIC16F84A

OSCILADOR XT
Es el mas utilizado y est basado en el oscilador a cristal de cuarzo o en un resonador cermico. Es un oscilador estndar que permite una frecuencia de reloj muy estable comprendida entre 100kHz y 4MHz La condicin bsica importante para que este oscilador funcione es que los condensadores C1 y C2 debern ser iguales.

PIC16F84A

OSCILADOR RC
Es un oscilador de bajo coste formado por una red RC (Resistor/Capacitor), su principal inconveniente es la baja precisin pero como contrapartida est su bajo precio, que lo hace interesante para muchas aplicaciones en las que no importa la exactitud de tiempos.

Los valores recomendados por el fabricante para este tipo de oscilador son: 5k R 100k. Por otro lado se recomienda utilizar un condensador no polarizado de 20 picofaradios por el ruido del medio y la estabilidad del sistema.

PIC16F84A

OSCILADOR HS y LP
HS: El oscilador de cristal o resonador de alta velocidad HS trabaja con una frecuencia comprendida entre 4MHz y 20 MHz

LP: El oscilador de cristal de cuarzo o resonador cermico de baja potencia (Low Power ) es un oscilador de bajo consumo. Su cristal o resonador est diseado para trabajar con frecuencias comprendidas entre 32KHz y 200KHz

PIC16F84A

RESET
El llamado reset en un microcontrolador provoca la reinicializacin de su funcionamiento. En este estado, la mayora de los dispositivos internos del microcontrolador toman un estado conocido. Los microntroladores requieren un pin de reset para reiniciar el funcionamiento del sistema cuando sea necesario. El pin de reset en los pic se denomina MCLR (master clear) y produce un reset cuando se le aplica un nivel lgico bajo.

PIC16F84A

INTERRUPTORES Y PULSADORES
Estos dispositivos permiten introducir un nivel lgico 0 segn la posicin en que se encuentren cerrado abierto . 1

La lectura del estado de interruptores y pulsadores es muy simple, basta con conectar estos dispositivos entre una entrada y masa, y forzar la entrada a un nivel lgico alto (5v) mediante una resistencia de pull-up de unos 10k

BANCO 0 INDF registro utilizado en el direccionamiento indirecto (no es un registro fsico) TMR0 Timer/contador de 8 bits PCL registro con los 8 bits mas bajos del contador del programa STATUS los bits de este registro indican el estado de la ultima operacin aritmtica o lgica realizada la causa de reset y los bits de seleccin de banco para la memoria de datos FSR registro utilizado como puntero en el direccionamiento indirecto PORT A puerto de entrada/salida de 5 bits puede leerse o escribirse como si se tratara de un registro cualquiera PORT B puerto de entrada/salida de 5 bits puede leerse o escribirse como si se tratara de un registro cualquiera EEDATA registros de datos EEPROM EEADR registro de direcciones EEPROM PCLATH buffer escrito con los 5 bits mas altos del PC INTCON controlador de interrupciones de 8 bits

BANCO 0
00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0Ah 0Bh 0000 0000 0000 0001 0000 0010 0000 0011 0000 0100 0000 0101 0000 0110 0000 0111 0000 1000 0000 1001 0000 1010 0000 1011 0 1 2 3 4 5 6 7 8 9 10 11 EEDATA EEADR PCLATH INTCON INDF TMR0 PCL STATUS FSR PORTA PORTB

BANCO 1 TRIS A registro de configuracin de las lneas del puerto A TRIS B registro de configuracin de las lneas del puerto B EECON1 indica el estado de la operacin en la EEPROM si se esta leyendo escribiendo o algn error ocurrido durante el proceso EECON2 registro de control para grabar en los EEPROM de datos (no es un registro fsico)

BANCO 1
80h 81h 82h 83h 84h 85h 86h 87h 88h 89h 1000 0000 1000 0001 1000 0010 1000 0011 1000 0100 1000 0101 1000 0110 1000 0111 1000 1000 1000 1001 128 129 130 131 132 133 134 135 136 137 EECON1 EECON2 INDF OPTION PCL STATUS FSR TRISA TRISB

8Ah
8Bh

1000 1010
1000 1011

138
139

PCLATH
INTCON

La distribuye hoy en da incorporan ICSP (programacin serie incorporada) o LVP (programacin a bajo voltaje), lo que permite programar el PIC directamente en el circuito destino. Para la ICSP se usan los pines RB6 y RB7 (En algunos modelos pueden usarse otros pines como el GP0 y GP1 o el RA0 y RA1) como reloj y datos y el MCLR para activar el modo programacin aplicando un voltaje de 13 voltios.

PROGRAMAR UN PIC mayora de PICs que Microchip

Muchos de los programadores complejos incluyen ellos mismos PICs preprogramados como interfaz para enviar las rdenes al PIC que se desea programar. Uno de los programadores ms simples es el TE20, que utiliza la lnea TX del puerto RS232 como alimentacin y las lneas DTR y CTS para mandar o recibir datos cuando el microcontrolador est en modo programacin. El software de programacin puede ser el ICprog, muy comn entre la gente que utiliza este tipo de microcontroladores.

PROGRAMADORES

PICStart Plus (puerto serie y USB) Promate II (puerto serie) MPLAB PM3 (puerto serie y USB) ICD2 (puerto serie y USB) ICD3 (USB) PICKit 1 (USB) IC-Prog 1.06B PICAT 1.25 (puerto USB2.0 para PICs y Atmel) WinPic 800 (puerto paralelo, serie y USB) PICKit 2 (USB) PICKit 3 (USB) Terusb1.0 Eclipse (PICs y AVRs. USB.) Master Prog (USB)

A continuacin hay un pequeo programa en ensamblador (MPASM) que pone a 0 las posiciones de memoria 20 y 21 (en hexadecimal) usando un direccionamiento indirecto:
MOVLW 20h MOVWF FSR CLRF INDF INCF FSR CLRF INDF

EJEMPLO 1

MOVLW k: (Move Literal to W) Es una instruccin que carga en el registro de trabajo W, un literal (constante) k, que en este caso es 20h. MOVWF f: (Move W to File), Copia el contenido del registro W a la posicin de memoria f. En este caso, FSR representa una direccin de memoria. FSR es el registro usado para direccionamiento indirecto. En FSR se carga la direccin de memoria que se va a direccionar con INDF (otro registro). CLRF f: (Clear File), Pone en 0 el registro en la posicin de memoria f. INCF f: (Increment File), Incrementa en uno el valor almacenado en la posicin de memoria f.

Directiva CBLOCK #DEFINE

MPLAB (Palabras reservadas)


Descripcin Defina un Bloque de Constantes Defina una Etiqueta de Substitucin de Texto cblock [<expr>] Defina Tabla

Sintaxis

define <name> [<value>] define <name> [<arg>,...,<arg>] <value>

DT

[<label>] dt <expr>[,<expr>,...,<expr>] [<label>] dt <text_string>[,<text_string>,...] Else End Endif Endm

ELSE END ENDIF ENDM

Empieza el bloque alternativo de un IF Fin de bloque de programa Fin del bloque de condiciones ensambladas Fin de la definicin de una Macro

ENDW
EQU IF #INCLUDE LIST MACRO ORG WHILE

Fin de un bucle de While


Define una constante para el ensamblador Empieza un bloque de cdigo condicional Incluye Ficheros fuentes adiccionales Opciones listado Declara la Definicin del Macro Pone el Origen del Programa

Endw
<label> equ <expr> if <expr> include <<include_file>> |<include_file> list [<list_option>,...,<list_option>] <label> macro [<arg>,...,<arg>] <label> org <expr>

Realiza el bucle Mientras la Condicin es Verdadera while <expr>