1. Introducción a los Microcontroladores LIC. TOMÁS FRANCISCO ORREGO TORREBLANCA DOC. ESP. ELECTRÓNICA INDUSTRIAL
2. LOS MICROCONTROLADORES FAMILIA PIC 16F8XX Microcontrolador (µC): Dispositivo integrado que incluye un microprocesador, memoria y dispositivos periféricos (dispositivos de ENTRADA/SALIDA, convertidores A/D, puertode comunicación, etc.). Los PICS son microcontroladores de la casa Microchip.
8. PERIFERICOS de entrada y salidade datos (I) PUERTOS (E/S) PARALELO (CONTROLAR PINES) SERIE (COMUNICACION OTRO MICRO) CONVERSORES A/D TIMERS PWM ETC...
9. TIMERS SON CONTADORES NOSOTROS FIJAMOS SU PERIODO SE PUEDEN LEER Y A VECES ESCRIBIR. NOS PERMITEN MEDIR TIEMPOS, GENERAR SEÑALES PERIODICAS, ETC...
10. GENERADOR DE PWM SEÑAL 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
11. CONVERSOR A/D MIDE LA TENSION CONTINUA A UNA ENTRADA Y LA CONVIERTE EN UN VALOR DIGITAL PROPORCIONAL A ESTE. TIPICAMENTE ENTRE 0-5V 00110101011001010101010101101010101101010101101010 A/D
12. Arquitectura Básica Memoria Instrucc Memoria Datos Memoria Principal CPU CPU Bus Control Bus Control Bus Control I N S T R U C C I O N E S D A T O S Unidad De Control Unidad De Control Bus Direcciones Bus Direcciones Bus Direcciones Instrucciones Datos Bus Datos e Instrucciones Bus Instrucciones Bus Datos Unidad Operativa Unidad Operativa VON-NEUMANN HARVARD
14. MEMORIA DE PROGRAMA MEMORIA DE DATOS BANCO 0 BANCO 1 00H 00H SFR W MUX 0BH ALU 0CH CPU GPR 68 REGISTROS DE 8 BITS 4FH 3FFH 1024 LINEAS DE PROGRAMACION PORTB ENTRADAS O SALIDAS PORTA ENTRADAS O SALIDAS ORGANIGRAMAFUNCIONAL
24. Interrupciones si están habilitadasLa primera condición causa un Reset del dispositivo. Las demás lo despiertany continua laejecución donde se había parado
25. Los microcontroladores Pic16F87x Influencia de las características especiales de los PICS en diversos circuitos SLEEP Modo bajo consumo SLEEP, nos permite reducir el consumo energético 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 Móvil.
30. INSTRUCCIONES ORIENTADAS A REGISTROS: ADDWF f,d Suma W y el registro f, el resultado lo guarda según d (si d=0 se guarda en W y si d=1 se guarda en f). ANDWF f,d Realiza la operación AND lógica entre W y f, el resultado lo guarda según 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 según d. DECF f,dDecrementa f en uno (le resta uno). Resultado según d. DECFSZ f,dDecrementa f y se salta la siguiente instrucción si el resultado es cero. Resultado según d.
31. INCF f,d Incrementa f en uno (le suma uno). Resultado según d. INCFSZ f,d Incrementa f y se salta la siguiente instrucción si el resultado es cero (cuando se desborda un registro vuelve al valor 00h). Resultado según d. IORWF f,d Realiza la operación lógica OR entre W y f. Resultado según 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 WMOVWF REG2 ;mueve el valor de W a REG2
32. 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 instrucción si el bit b del registro f es "0" BTFSS f,b Se salta la siguiente instrucción 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 Operación lógica AND entre W y el valor k (resultado en W). CALL k Llamada a subrutina cuyo inicio esta en la dirección k
33. 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
35. 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 inclusión de subrutinas keypad. asm, fíjese 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,
38. PRÁCTICA DIRIJIDA Nº CONTROL DE ACCESO POR CÓDIGO 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
39. SISTEMA DE CONTROL DE ACCESO Y ACTIVACION CON CODIGO USANDO LCD Y TECLADO
40. 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--------