Professional Documents
Culture Documents
Materia: Microprocesadores
Las cuatro entradas para los conversores análogo digital del pin 2-5 el cual tiene 14 modos y se puede
tener referencias de voltajes programados. Y tiene dos comparadores internos.
Los puertos 6,7 que son utilizados para programación puede ser conectado al puerto serial.
Los pines 15-18 funcionan como entradas o salidas, pueden ser utilizados para recepción de datos o
salida control de los dispositivos externos.
Ocho salidas las cuales pueden ser agrupadas de acuerdo a la necesidad y control de diferentes
dispositivos y de control
Características principales
Las características principales de estos dispositivos son:
• CPU de arquitectura RISC (Reduced Instruction Set Computer).
• Set de 35 instrucciones.
• Frecuencia de reloj de hasta 20MHz (ciclo de instrucción de 200ns).
• Todas las instrucciones se ejecutan en un único ciclo de instrucción, excepto las de salto.
• Hasta 8K x 14 palabras de Memoria de Programa FLASH (ver tabla a continuación).
• Hasta 368 x 8 bytes de Memoria de Datos tipo RAM (ver tabla a continuación).
• Hasta 256 x 8 bytes de Memoria de Datos tipo EEPROM (ver tabla a continuación).
• Hasta 15 fuentes de Interrupción posibles.
• 8 niveles de profundidad en la Pila hardware.
• Modo de bajo consumo (Sleep).
• Tipo de oscilador seleccionable (RC, HS, XT, LP y externo).
• Rango de voltaje de operación desde 2,0V a 5,5V.[3][4][5]
• Conversor Analógico/Digital de 10 bits multicanal.
• 3 Temporizadores.
• Watchdog Timer o Perro Guardián.
• 2 módulos de captura/comparación/PWM.
• Comunicaciones por interfaz USART (Universal Synchronous Asynchronous Receiver Transmitter).
• Puerto Paralelo Esclavo de 8 bits (PSP).
• Puerto Serie Síncrono (SSP) con SPI e I2C.
Estructura interna
Estos microcontroladores tienen la memoria de programa y la memoria de datos separadas, lo que se
conoce como arquitectura Harvard. Esta configuración interna permite entre otras cosas acceder a
las instrucciones de programa y a los datos simultáneamente a través de buses diferentes, lo que
mejora notablemente la velocidad de proceso de estos dispositivos.
Memoria interna
Existen tres bloques bien diferenciados de memoria. Estos son:
• Memoria de programa EEPROM Flash: es el lugar físico donde se guarda el programa de usuario. Es
de tipo no volátil.
• Memoria de datos SRAM: es el lugar físico donde se guardan datos. Es de tipo volátil.
• Memoria de datos EEPROM: es el lugar físico donde se guardan datos. Es de tipo no volátil.
Instrucciones de carga
Instrucciones de bit
Instrucciones aritméticas
ANDWF f,d Realiza la operación lógica AND entre el contenido del registro W y el de f 1
RLF f,d Rota el contenido del registro f hacia la izquierda a través del carry bit 1
RRF f,d Rota el contenido del registro f hacia la derecha a través del carry bit 1
SWAPF f,d Intercambia los cuatro primeros bits con los cuatro últimos del registro f 1
XORWF f,d Realiza la operación lógica XOR entre el contenido del registro W con el de f 1
Instrucciones de salto
BTFSC f,b Lee el bit b del registro f y salta la instrucción siguiente si está en “0” 1 (2 si
salta)
BTFSS f,b Lee el bit b del registro f y salta la instrucción siguiente si está en “1” 1 (2 si
salta)
DECFSZ f,d Decrementa en una unidad el contenido del registro f y salta la instrucción 1 (2 si
siguiente si es cero salta)
INCFSZ f,d Incrementa en una unidad el contenido del registro f y salta la instrucción 1 (2 si
siguiente si es cero salta)
GOTO k Salto incondicional a la etiqueta k 2
Instrucciones especiales
Los registros ADC0N0 y ADCON1 permiten controlar, configurar y poner en marcha al conversor.
Los bits 6 y 7 del registro ADCON0 sirven para ajustar la frecuencia del oscilador del conversor, que
está ligada directamente con la frecuencia de oscilación del ^C. Los bits 3,4 y 5 sirven para elegir el
canal de conversión. El bit 2 sirve para iniciar la conversión. Debe ponerse en nivel lógico alto (1) para
comenzar el proceso de conversión. Automáticamente, este bit pasará a nivel lógico bajo (0) cuando la
conversión haya finalizado. El bit 1 no se usa. El bit 0 sirve para activar el módulo de conversión. Si
este bit está a nivel lógico bajo, el módulo de conversión estará deshabilitado.
El registro ADCON1 es el encargado de definir qué patita del |iC usaremos como entrada analógica.
Esto es muy útil cuando, por ejemplo, se usa un mismo terminal del |iC como salida/entrada digital y en
un determinado momento se quiere que ese mismo terminal lea un voltaje analógico externo. Este
registro también es el responsable de la selección de la “justificación” del resultado de la conversión (bit
7) y de configurar cual/es serán los terminales donde aplicaremos la tensión de referencia en caso de
necesitarla.
Conversión Terminada
El tiempo que le toma al ^C realizar la conversión se denomina Tj^d y nunca debe ser menor que 1,6
^s para la familia 16F87X. el tiempo Tad es configurado por software según la relación Tad =
kTosc donde K es el divisor de la frecuencia del conversor. Por ejemplo, si trabajamos con
Tose- 1^s y en los bits 7 y 6 del registro ADC0N0 ponemos 00, quedará: Tad = 2Tose = 2 * lfis =
2fis lo cual está dentro del rango permitido.
Una vez terminada la conversión, el resultado se almacena en los registros ADRESH y ADRESL según
estén configurados en el bit 7 del registro ADC0N1. La "justificación" a la derecha o izquierda es
sencilla de comprender; se trata de guardar el resultado de 10 bits en dos registros de 8 bit’s c/u, o sea
que se elegirá si se quieren los 8 primeros bits en el ADRESL y los dos restantes en el ADRESH o
viceversa.
En caso de utilizar un lenguaje de alto nivel, siempre se requerirá compilar el pograma terminado para
obtener el archivo hexadecimal (lenguaje máquina) con el cual se programará el microcontrolador.
La programación física del dispositivo se hará normalmente mediante un programador, capaz de grabar
el programa de usuario en la memoria del microcontrolador.
El ejemplo propuesto ilustra cómo conectar un LED por medio de una resistencia limitadora de corriente
a un terminal de salida de un PIC16F88X para que éste se encienda al presionar un pulsador y se
apague al soltarlo.
Circuito eléctrico
El circuito completo se debe alimentar a 5 V. Se utiliza un cristal de cuarzo de 10 MHz con
condensadores de 27 nF como circuito de reloj y un circuito de reset.
Se agrega un pulsador conectado a la patita RA0 (entrada) y un LED con su resistencia limitadora
conectado a la patita RB7 (salida).
Programa
Para crear el programa que se grabará en el PIC se puede usar MPLAB, que es el entorno de
desarrollo gratuito ofrecido por el fabribante Microchip Technology Inc.
Básicamente este sencillo ejemplo se puede modelar con el siguiente pseudocódigo:
de registros, etc.
Lenguaje máquina
Al compilar el archivo ".asm" creado se obtienen varios archivos. Uno de ellos, con extensión ".hex",
es el que se grabará en el PIC, y contiene todas las instrucciones traducidas al lenguaje máquina del
microcontrolador.
El archivo ".hex" obtenido es el siguiente:
:020000040000FA
:10000000831600308600FF308500831205180B2808
:0A0010000 9280 6100 6280 6140 6282 9 :00000001FF
Referencias