tarea final

31
Introducción a los Microcontroladores LIC. TOMÁS FRANCISCO ORREGO TORREBLANCA DOC. ESP. ELECTRÓNICA INDUSTRIAL

Upload: tomas-francisco

Post on 08-Jul-2015

2.912 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Tarea final

Introducción a los

Microcontroladores

LIC. TOMÁS FRANCISCO ORREGO TORREBLANCADOC. ESP. ELECTRÓNICA INDUSTRIAL

Page 2: Tarea final

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.

Page 3: Tarea final

Aplicaciones de los microcontroladores pic- familia

microchip

Page 4: Tarea final

Aplicaciones de los microcontroladores pic- vehiculos

Page 5: Tarea final

Aplicaciones en robótica de entretenimiento

Page 6: Tarea final

Aplicaciones en robótica

Page 7: Tarea final

ALGUNOS FABRICANTES

Page 8: Tarea final

PERIFERICOS de entrada y salidade datos (I)

• PUERTOS (E/S)

• PARALELO (CONTROLAR PINES)

• SERIE (COMUNICACION OTRO MICRO)

• CONVERSORES A/D

• TIMERS

• PWM

• ETC...

Page 9: Tarea final

TIMERS

• SON CONTADORES

• NOSOTROS FIJAMOS SU PERIODO

• SE PUEDEN LEER Y A VECES ESCRIBIR.

• NOS PERMITEN MEDIR TIEMPOS, GENERAR SEÑALES PERIODICAS, ETC...

Page 10: Tarea final

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

Page 11: Tarea final

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

Page 12: Tarea final

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

Page 13: Tarea final

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

Page 14: Tarea final

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

Page 15: Tarea final

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

Page 16: Tarea final

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

Page 17: Tarea final

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

Page 18: Tarea final

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.

Page 19: Tarea final

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

Page 20: Tarea final

CIRCUITO OSCILADOR Y RESET PIC16F877

CIRCUITO OSCILADOR

CIRCUITO RESET

Page 21: Tarea final

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.

Page 22: Tarea final

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

Page 23: Tarea final

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

Page 24: Tarea final

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

Page 25: Tarea final

EJEMPLO DE APLICACIÓN

Page 26: Tarea final

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

Page 27: Tarea final

PORTB

TECLA A PULSARVALOR EN DECIMALVALOR EN BINARIO

Page 28: Tarea final

CONEXIÓN DE TECLADO AL PIC

Page 29: Tarea final

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

Page 30: Tarea final

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

Page 31: Tarea final

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