Top Banner
Aplicaciones con el PIC 16F84 Sistemas de comunicación SCADAI Ing. Fernando Monrroy Dipp UAGRM, Septiembre 2010
29

Aplicaciones con el pic 16f84

Jul 21, 2015

Download

Education

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Aplicaciones con el pic 16f84

Aplicaciones con el PIC

16F84

Sistemas de comunicación SCADAI

Ing. Fernando Monrroy Dipp

UAGRM, Septiembre 2010

Page 2: Aplicaciones con el pic 16f84

Diagrama de bloques

Page 3: Aplicaciones con el pic 16f84

Organización de la memoria

Page 4: Aplicaciones con el pic 16f84

La UCP

Page 5: Aplicaciones con el pic 16f84

Registros

Contador de programa CP

Stack

STATUS: C, Z, DC

◦ C: Acarreo

◦ Z: Cero

◦ DC: Acarreo del nibble inferior

◦ PD: power down

◦ PA0 y PA1: página 0 y 1

Page 6: Aplicaciones con el pic 16f84

Puertos de E/S

Page 7: Aplicaciones con el pic 16f84

Otras funciones

Temporizador: RTCC es un contador

interno o externo con (opcional)

preescaler

Watch dog timer

Interrupciones asincrónicas

◦ Pin INT

◦ Desbordamiento de contador

◦ otras

Page 8: Aplicaciones con el pic 16f84

Programación del PIC

1 mov w, 34

2 rts rp0,0

3 clr rp1

4 add w,f

5 mov rpa,w

6 goto 3

Page 9: Aplicaciones con el pic 16f84

El programa fuente

ETIQUETA INSTRUCCIÓN/

DIRECTIVA

OPERANDO(S) ; comentario

Page 10: Aplicaciones con el pic 16f84

Juego de instrucciones

Instrucciones de byte con registros

De byte con W y literales

Instrucciones de bit

Instrucciones de control

Instrucciones especiales

Page 11: Aplicaciones con el pic 16f84

Instrucciones de byte con registros

lógicas

ANDWF f,d ;operación AND lógica, destino = W ^ f

IORWF f,d ;operación OR lógica, destino = W v f

XORWF f,d ;operación XOR lógica, destino = W v f

COMF f,d ;complemento lógico, destino = NOT f

Transferencia

MOVF f,d ;movimiento de datos, destino = f

SWAPF f,d ;intercambia nibbles, destino = SWAP f

CLRF f ;borrado de contenido, f = 0

MOVWF f ;copia contenido W f, f = W

Page 12: Aplicaciones con el pic 16f84

Instrucciones de byte con registros

Incremento/decremento

INCF f,d ;incremento aritmético, destino = f + 1

DECF f,d ;decremento aritmético, destino = f - 1

Rotación

RLF f,d ;rotación a la izquierda, destino = f ROT

RRF f,d ;rotación a la derecha, destino = f ROT

Aritméticas

ADDWF f,d ;suma aritmética, destino = f + W

SUBWF f,d ;resta aritmética, destino = f - W

Page 13: Aplicaciones con el pic 16f84

De byte con W y literales

IORLW k ; operación OR lógica, W = W k

ANDLW k ; operación AND lógica, W = W k

XORLW k ; operación XOR lógica, W = W k

MOVLW k ;carga constante en W, W = K

CLRW ;borra el contenido de W, W = 0

Page 14: Aplicaciones con el pic 16f84

Instrucciones de bit

BCF f,b ;borra el bit b de f ;bit f(b) = 0

BSF f,b ;coloca en uno el bit b de f ;bit f(b) = 1

Page 15: Aplicaciones con el pic 16f84

Instrucciones de control

GOTO k ;salto a la posición k (9 bits) del programa

CALL k ;salto a la subrutina en la posición k (8 bits)

RETLW k ;retorno de subrutina con constante k, W = k

BTFSC f,b ;salteo si bit = 0, bit = f(0) saltea

BTFSS f,b ;salteo si bit = 1, bit = f(1) saltea

DECFSZ f,d ;decrementa y saltea sí 0, destino= f - 1, = 0

saltea

INCFSZ f,d ;incrementa y saltea sí 0, destino= f + 1, = 0

saltea

Page 16: Aplicaciones con el pic 16f84

Instrucciones especiales

NOP ;no hace nada, consume tiempo

TRIS f ;carga el tristate control, TRISf = W

OPTION ;carga el registro OPTION, OPTION = W

CLRWDT ;borra el watch dog timer, WDT = 0

SLEEP ;coloca el µC en modo sleep, WDT = 0

Page 17: Aplicaciones con el pic 16f84
Page 18: Aplicaciones con el pic 16f84
Page 19: Aplicaciones con el pic 16f84

Programación del PIC

1 mov w, 34

2 rts rp0,0

3 clr rp1

4 add w,f

5 mov rpa,w

6 goto 3

Windows

MPLAB

Page 20: Aplicaciones con el pic 16f84

¿Qué hago con MPLAB?

Depurar programas fuente.

Detectar errores en programas fuente para editarlos.

Depurar los programas utilizando puntos de corte (breakpoints) mediante valores de los registros internos.

Page 21: Aplicaciones con el pic 16f84

¿Qué hago con MPLAB?

Seguir el flujo del programa con MPLAB -SIM

en tiempo real utilizando el emulador PICMASTER.

Realizar medidas de tiempo utilizando un cronómetro.

Mirar variables en las ventanas de observación.

Encontrar respuestas rápidas, utilizando la Ayuda en línea del MPLAB.

Page 22: Aplicaciones con el pic 16f84

Un ejemplo

;ejemplo:

status equ 0x03 ;hace equivalencia entre el símbolo status iniciandolo como 3

Cont equ 0x20

F equ 1

org 0 ;indica posición de memoria desde donde se ensambla

Inicio

movlw 0x0F ;carga de w con el valor constante 15 (literal)

movwf Cont ;el contenido de w se pasa al reg. CONT

Loop

decfsz Cont,F ;decremento de Cont y elude siguiente si=0

goto Loop ;salto incondicional a Loop

goto $ ;Salto incondicional aqui mismo

end ;Fin del código

Page 23: Aplicaciones con el pic 16f84

Procedimiento

1. Haga doble click en el ícono correspondiente a

MPLAB.

2. Crear el archivo fuente correspondiente (menú

File...New Source).

3. Salve el archivo (con extensión .ASM) una vez

terminada su edición (menú FILE...Save).

4. Debe a continuación crearse un nuevo proyecto

(menú Project...New Project).

5. Cuando aparezca la ventana de New Project editar

las cajas de texto:

Project path and Name y Development Mode, hacer

click en <OK>.

Page 24: Aplicaciones con el pic 16f84

Procedimiento

6. En la siguiente ventana Edit Project, hacer click en

la sección Non-project files sobre el

nombre del archivo fuente realizado en los pasos 2 y

3.

7. Haga click en el botón <=add y luego de que éste

aparezca en la sección Project Files

haga click sobre el botón <OK>.

8. Salvar el proyecto (en el menú Project...Save

project).

9. Realizar la "construcción de todo el proyecto"

(menú Project...Build All).

Page 25: Aplicaciones con el pic 16f84

Procedimiento

10. En esta etapa se realiza en forma automática el

ensamble de nuestro programa fuente

y el vaciado de éste en memoria de simulación. El

proceso de ensamble generará un

archivo de errores en caso de que estos existan, sí

es así deben corregirse directamente

sobre el archivo fuente, salvar las correcciones y

reconstruir el proyecto (menú

Project...Build All). <<<En esta etapa del proceso ya

se tiene el entorno listo para la

simulación>>>

Page 26: Aplicaciones con el pic 16f84

Pantalla de MPLAB

Obtenerlo en forma gratuita de:

http://www.microchip.com/10/Tools/mTools/MPLAB/index.htm

Page 27: Aplicaciones con el pic 16f84

Otras alternativas …

Page 28: Aplicaciones con el pic 16f84

Obtenerlo en forma gratuita de:

http://www.microchip.com/10/Tools/mTools/MPLAB/index.htm

Page 29: Aplicaciones con el pic 16f84

Continuará …