tarea final
Post on 08-Jul-2015
2.912 Views
Preview:
TRANSCRIPT
Introducción a los
Microcontroladores
LIC. TOMÁS FRANCISCO ORREGO TORREBLANCADOC. ESP. ELECTRÓNICA INDUSTRIAL
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, puerto de comunicación, etc.).Los PICS son microcontroladores de la casa Microchip.
Aplicaciones de los microcontroladores pic- familia
microchip
Aplicaciones de los microcontroladores pic- vehiculos
Aplicaciones en robótica de entretenimiento
Aplicaciones en robótica
ALGUNOS FABRICANTES
PERIFERICOS de entrada y salidade 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 SEÑALES PERIODICAS, ETC...
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
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
00110101011001010101010101101010101101010101101010
Arquitectura Básica
Memoria Principal CPU
Instrucciones
Datos
Unidad De Control
Unidad Operativa
Bus Control
BusDirecciones
Bus Datos eInstrucciones
VON-NEUMANN
Memoria Instrucc
CPU
INSTRUCCIONES
Unidad De Control
Unidad Operativa
Bus Control
BusDirecciones
Bus Instrucciones
DATOS
Bus Control
BusDirecciones
Bus Datos
Memoria Datos
HARVARD
Los microcontroladores Pic16F87x
Comparativa de los modelosCaracterística
s16F873 16F874 16F876 16F877
Memoria Flash
4kb 4kb 8kb 8kb
Posiciones EEPROM
128 128 256 256
Posiciones RAM
192 192 368 368
Nº puertos E/S
3 4 3 4
Nº Interrupcione
s
13 14 13 14
Puerto Paralelo
NO SI NO SI
0BH
CPU
MEMORIA DE PROGRAMA
PORTA
ENTRADAS O SALIDAS
PORTB
ENTRADAS O SALIDAS
MEMORIA DE DATOS
BANCO 0 BANCO 1
ALU
W MUX
SFR
GPR
00H
4FH
0CH
68
REGISTROS
DE 8 BITS
00H
3FFH
1024 LINEAS DE
PROGRAMACION
ORGANIGRAMA FUNCIONAL
Los microcontroladores Pic16F87x
Características especiales
• Todos los PIC16F87X tienen una serie de elementos integrados, pensados
para minimizar el coste de un diseño al eliminar componentes externos discretos. Los elementos son:
1. Oscilador2. RESET3. Varios niveles de interrupción4. Temporizador Watchdog5. Instrucción SLEEP6. Protección de código7. Circuitería de programación serie8. Comunicación serie
Los microcontroladores Pic16F87x
Características especialesRESETPodemos distinguir entre varios tipos de RESET:• Por conexión de alimentación• Activación del pin de Reset • Reset provocado por el Watchdog • Reset provocado por una caída del voltaje
Temporizador Watchdog (WDT)• No requiere componentes externos • No se deshabilita en modo SLEEP• Habilitación mediante la palabra de configuración• Las instrucciones CLRWDT y SLEEP ponen a cero el WDT
Los microcontroladores Pic16F87x
Características especiales
SLEEPModo bajo consumo ejecutando la instrucción SLEEP.Se sale del modo bajo consumo mediante:
• Reset externo (#MCLR)• Desbordamiento del WDT• Interrupciones si están habilitadas
La primera condición causa un Reset del dispositivo.Las demás lo despiertan y continua la ejecución donde se había parado
Los microcontroladores Pic16F87x
Influencia de las características especiales de los PICS en diversos circuitos
SLEEPModo bajo consumo SLEEP, nos permite reducir el consumo energéticodel robot con lo que podemos ampliar su alcance.
WATCH DOGEste timer lo aplicaremos como medida de seguridad en el caso de
colapso.PWMEl pulso de amplitud modelada nos permite controlar los motores paso a paso del Robot Móvil.
Descripción de pines
LO FUNDAMENTAL PARA PONER EN FUNCIONAMIENTO
VDD 5VDC (11-32)VSS - 0VDC – GND ( 31-12)
CIRCUITO OSCILADORPINES 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 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,d Decrementa f en uno (le resta uno). Resultado según d.
DECFSZ f,d Decrementa f y se salta la siguiente instrucción si el resultado es cero. Resultado según d.
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
Instrucciones orientadas a bits:BCF f,b Pone a "0" el bit b del registro fBSF f,d Pone a "1" el bit b del registro fBTFSC 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
Ejemplos en mplab Y PROTEUS
Nº 1Encender 1 led cada 5 seg
Nº 2Rotar LEDS
Nº 3USO DEL LCD
Nº 3SISTEMA DE CONTROL DE ACCESO
EJEMPLO DE APLICACIÓN
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,
FUNCIONAMIENTO BASICO DEL TECLADO 4X4
PARA PIC 16F84/F877 OTROS
PORTB
TECLA A PULSARVALOR EN DECIMALVALOR EN BINARIO
CONEXIÓN DE TECLADO AL PIC
1. EDITE Y SIMULE EL PROGRAMA EN MPLAB DEBE CONTAR
LIST P=16F877AINCLUDE<P16F877A.INC>INCLUDE<MACROPIC.INC>CBLOCK 0X20ENDCORG 0000HGOTO INICIOORG 0004HCALL int_tecladoRETFIEINICIOBSF STATUS,5CLRF PORTCBCF STATUS,5CLRF PORTD
CALL inicio_tecladoBSF INTCON,GIE
REPITECALL lee_tecladoMOVF tecla,0MOVWF PORTC GOTO REPITE INCLUDE <LCD.ASM>INCLUDE <KEYPAD.ASM>INCLUDE <RETARDO.ASM>END
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
SISTEMA DE CONTROL DE ACCESO Y ACTIVACION CON CODIGO USANDO LCD Y TECLADO
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--------
PRACTICA
top related