Вы находитесь на странице: 1из 31

Introduccin a los Microcontroladores

LIC. TOMS FRANCISCO ORREGO TORREBLANCA DOC. ESP. ELECTRNICA INDUSTRIAL

LOS MICROCONTROLADORES FAMILIA PIC 16F8XX

Microcontrolador (C): Dispositivo integrado que incluye un microprocesador, memoria y dispositivos perifricos (dispositivos de ENTRADA/SALIDA, convertidores A/D, puerto de comunicacin, etc.). Los PICS son microcontroladores de la casa Microchip.

Aplicaciones de los microcontroladores pic- familia microchip

Aplicaciones de los microcontroladores pic- vehiculos

Aplicaciones en robtica de entretenimiento

Aplicaciones en robtica

ALGUNOS FABRICANTES

PERIFERICOS de entrada y salida de datos (I)


PUERTOS (E/S)
PARALELO (CONTROLAR PINES) SERIE (COMUNICACION OTRO MICRO)

CONVERSORES A/D TIMERS PWM ETC...

TIMERS
SON CONTADORES NOSOTROS FIJAMOS SU PERIODO SE PUEDEN LEER Y A VECES ESCRIBIR. NOS PERMITEN MEDIR TIEMPOS, GENERAR SEALES PERIODICAS, ETC...

GENERADOR DE PWM
SEAL DE UNA CUADRADA PERIODICA DE UNA DETERMINADA FRECUENCIA EN LA QUE MODIFICAMOS EL CICLO DE TRABAJO NOS SIRVE PARA CONTROLAR MOTORES EN VELOCIDAD

5V 0V

CONVERSOR A/D
MIDE LA TENSION CONTINUA A UNA ENTRADA Y LA CONVIERTE EN UN VALOR DIGITAL PROPORCIONAL A ESTE. TIPICAMENTE ENTRE 0-5V

A/D

0011010101100 1010101010101 1010101011010 10101101010

Arquitectura Bsica
Memoria Principal Bus Control Instrucciones Bus Direcciones Datos Bus Datos e Instrucciones Unidad De Control CPU Memoria Instrucc I N S T R U C C I O N E S Bus Control Bus Direcciones Bus Instrucciones Unidad De Control CPU Bus Control Bus Direcciones Memoria Datos

Unidad Operativa

Unidad Operativa

Bus Datos

D A T O S

VON-NEUMANN

HARVARD

Los microcontroladores Pic16F87x


Comparativa de los modelos
Caracterstica s
Memoria Flash Posiciones EEPROM Posiciones RAM N puertos E/S N Interrupcione s Puerto Paralelo

16F873
4kb 128 192 3 13

16F874
4kb 128 192 4 14

16F876
8kb 256 368 3 13

16F877
8kb 256 368 4 14

NO

SI

NO

SI

ORGANIGRAMA FUNCIONAL
MEMORIA DE PROGRAMA MEMORIA DE DATOS
BANCO 0 BANCO 1

00H

00H

SFR W ALU
0CH

MU X

0BH

CPU

GPR

3FFH
1024 LINEAS DE PROGRAMACION

68 REGISTROS DE 8 BITS

4FH

PORTA ENTRADAS O SALIDAS

PORTB ENTRADAS O SALIDAS

Los microcontroladores Pic16F87x


Caractersticas especiales
Todos los PIC16F87X tienen una serie de elementos integrados, pensados
para minimizar el coste de un diseo al eliminar componentes externos discretos. Los elementos son:

1. Oscilador 2. RESET 3. Varios niveles de interrupcin 4. Temporizador Watchdog 5. Instruccin SLEEP 6. Proteccin de cdigo 7. Circuitera de programacin serie 8. Comunicacin serie

Los microcontroladores Pic16F87x


Caractersticas especiales
RESET Podemos distinguir entre varios tipos de RESET: Por conexin de alimentacin Activacin del pin de Reset Reset provocado por el Watchdog Reset provocado por una cada del voltaje Temporizador Watchdog (WDT) No requiere componentes externos No se deshabilita en modo SLEEP Habilitacin mediante la palabra de configuracin Las instrucciones CLRWDT y SLEEP ponen a cero el WDT

Los microcontroladores Pic16F87x


Caractersticas especiales
SLEEP Modo bajo consumo ejecutando la instruccin SLEEP. Se sale del modo bajo consumo mediante: Reset externo (#MCLR) Desbordamiento del WDT Interrupciones si estn habilitadas La primera condicin causa un Reset del dispositivo. Las dems lo despiertan y continua la ejecucin donde se haba parado

Los microcontroladores Pic16F87x


Influencia de las caractersticas especiales de los PICS en diversos circuitos
SLEEP
Modo bajo consumo SLEEP, nos permite reducir el consumo energtico del robot con lo que podemos ampliar su alcance.

WATCH DOG

Este timer lo aplicaremos como medida de seguridad en el caso de colapso.

PWM

El pulso de amplitud modelada nos permite controlar los motores paso a paso del Robot Mvil.

Descripcin de pines
LO FUNDAMENTAL PARA PONER EN FUNCIONAMIENTO VDD 5VDC (11-32) VSS - 0VDC GND ( 31-12)

CIRCUITO OSCILADOR PINES 13-14


2 CONDENSADORES DE 27-33 pf

XTAL DE 4 A 20 MHZ RECOMENDADO

CIRCUITO OSCILADOR Y RESET PIC16F877

CIRCUITO OSCILADOR

CIRCUITO RESET

INSTRUCCIONES ORIENTADAS A REGISTROS:


ADDWF f,d Suma W y el registro f, el resultado lo guarda segn d (si d=0 se guarda en W y si d=1 se guarda en f). ANDWF f,d Realiza la operacin AND lgica entre W y f, el resultado lo guarda segn d. CLRF f Borra el registro f (pone todos sus bits a cero). CLRW - Borra el acumulador. COMF f,d Calcula el complementario del registro f (los bits que estan a "0" los pone a "1" y viceversa. Resultado segn d. DECF f,d Decrementa f en uno (le resta uno). Resultado segn d. DECFSZ f,d Decrementa f y se salta la siguiente instruccin si el resultado es cero. Resultado segn d.

INCF f,d Incrementa f en uno (le suma uno). Resultado segn d. INCFSZ f,d Incrementa f y se salta la siguiente instruccin si el resultado es cero (cuando se desborda un registro vuelve al valor 00h). Resultado segn d.

IORWF f,d Realiza la operacin lgica OR entre W y f. Resultado segn d.


MOVF f,d Mueve el contenido del registro f a W si d=0 (si d=1 lo vuelve a poner en el mismo registro) MOVWF f mueve el valor de W a f. Por ejemplo, si queremos copiar el valor del registro "REG1" al registro "REG2" (ya veremos como ponerles nombres a los registros) escribiremos: MOVF REG1,0 ;mueve el valor de REG1 a W MOVWF REG2 ;mueve el valor de W a REG2

Instrucciones orientadas a bits: BCF f,b Pone a "0" el bit b del registro f BSF f,d Pone a "1" el bit b del registro f BTFSC f,b Se salta la siguiente instruccin si el bit b del registro f es "0" BTFSS f,b Se salta la siguiente instruccin si el bit b del registro f es "1" Instrucciones orientadas a constantes y de control: ADDLW k Le suma el valor k al acumulador (W). ANDLW k Operacin lgica AND entre W y el valor k (resultado en W). CALL k Llamada a subrutina cuyo inicio esta en la direccin k

Ejemplos en mplab Y PROTEUS


N 1 Encender 1 led cada 5 seg N 2 Rotar LEDS N 3 USO DEL LCD N 3 SISTEMA DE CONTROL DE ACCESO

EJEMPLO DE APLICACIN

FUNCIONAMIENTO BASICO DEL TECLADO 4X4 PARA PIC 16F84/F877 OTROS

El programa a desarrollar servir para leer el valor del teclado para PIC en el portb,0 a portb,3: esto utilizando las rutinas del archivo de inclusin de subrutinas keypad. asm, fjese en el siguiente cuadro los valores que devuelve en decimal cada que pulsamos una tecla del pic, el valor decimal se mostrara en este caso en el portc,

PORTB VALOR EN BINARIO

VALOR EN DECIMAL

TECLA A PULSAR

CONEXIN DE TECLADO AL PIC

PRCTICA DIRIJIDA N
CONTROL DE ACCESO POR CDIGO
CON LOS MACRO QUE INDICA EL PROGRAMA EL SIGUIENTE PROGRAMA MUESTRA EL VALOR DECIMAL DE LA TECLA PULSADA EN EL PORTC

1.

EDITE Y SIMULE EL PROGRAMA EN MPLAB DEBE CONTAR


LIST P=16F877A INCLUDE<P16F877A.INC> INCLUDE<MACROPIC.INC> CBLOCK 0X20 ENDC ORG 0000H GOTO INICIO ORG 0004H CALL int_teclado RETFIE INICIO BSF STATUS,5 CLRF PORTC BCF STATUS,5 CLRF PORTD CALL inicio_teclado BSF INTCON,GIE REPITE CALL lee_teclado MOVF tecla,0 MOVWF PORTC GOTO REPITE INCLUDE <LCD.ASM> INCLUDE <KEYPAD.ASM> INCLUDE <RETARDO.ASM> END

SISTEMA DE CONTROL DE ACCESO Y ACTIVACION CON CODIGO USANDO LCD Y TECLADO

PRACTICA

EDITE, SIMULE UN PROGRAMA QUE TESTEE 4 TECLAS A PULSAR Y MUESTRE UN MENSAJE QUE DIGA

INGRESE SU CODIGO: *****


SI INGRESA EL CODIGO CORRECTO SALDRA EN PANTALLA

------INGRESO PERMITIDO---SI INGRESA EL CODIGO MAL TE MANDARA UN SONIDO DE ERROR Y EN LA PANTALLA DIRA --- CLAVE MAL--------

Вам также может понравиться