Aplicaciones con el pic 16f84

10,420 views

Published on

generar aplicaciones con PIC

Published in: Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
10,420
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
180
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Aplicaciones con el pic 16f84

  1. 1. Aplicaciones con el PIC 16F84<br />Sistemas de comunicación SCADAI<br />Ing. Fernando MonrroyDipp<br />UAGRM, Septiembre 2010<br />
  2. 2. Diagrama de bloques<br />
  3. 3. Organización de la memoria<br />
  4. 4. La UCP<br />
  5. 5. Registros <br />Contador de programa CP<br />Stack<br />STATUS: C, Z, DC<br />C: Acarreo<br />Z: Cero<br />DC: Acarreo del nibble inferior<br />PD: powerdown<br />PA0 y PA1: página 0 y 1<br />
  6. 6. Puertos de E/S<br />
  7. 7. Otras funciones<br />Temporizador: RTCC es un contador interno o externo con (opcional) preescaler<br />Watchdogtimer<br />Interrupciones asincrónicas<br />Pin INT<br />Desbordamiento de contador<br />otras<br />
  8. 8. Programación del PIC<br />1 mov w, 34<br />2 rts rp0,0<br />3 clr rp1<br />4 add w,f<br />5 mov rpa,w<br />6 goto 3<br />
  9. 9. El programa fuente<br />
  10. 10. Juego de instrucciones<br />Instrucciones de byte con registros<br />De byte con W y literales<br />Instrucciones de bit<br />Instrucciones de control<br />Instrucciones especiales<br />
  11. 11. Instrucciones de byte con registros<br />lógicas<br />ANDWF f,d ;operación AND lógica, destino = W ^ f<br />IORWF f,d ;operación OR lógica, destino = W v f<br />XORWF f,d ;operación XOR lógica, destino = W v f<br />COMF f,d ;complemento lógico, destino = NOT f<br />Transferencia<br />MOVF f,d ;movimiento de datos, destino = f<br />SWAPF f,d ;intercambia nibbles, destino = SWAP f<br />CLRF f ;borrado de contenido, f = 0<br />MOVWF f ;copia contenido W f, f = W<br />
  12. 12. Instrucciones de byte con registros<br />Incremento/decremento<br />INCF f,d ;incremento aritmético, destino = f + 1<br />DECF f,d ;decremento aritmético, destino = f - 1<br />Rotación<br />RLF f,d ;rotación a la izquierda, destino = f ROT <br />RRF f,d ;rotación a la derecha, destino = f ROT <br />Aritméticas<br />ADDWF f,d ;suma aritmética, destino = f + W<br />SUBWF f,d ;resta aritmética, destino = f - W<br />
  13. 13. De byte con W y literales<br />IORLW k ; operación OR lógica, W = W k<br />ANDLW k ; operación AND lógica, W = W k<br />XORLW k ; operación XOR lógica, W = W k<br />MOVLW k ;carga constante en W, W = K<br />CLRW ;borra el contenido de W, W = 0<br />
  14. 14. Instrucciones de bit<br />BCF f,b ;borra el bit b de f ;bit f(b) = 0<br />BSF f,b ;coloca en uno el bit b de f ;bit f(b) = 1<br />
  15. 15. Instrucciones de control<br />GOTO k ;salto a la posición k (9 bits) del programa<br />CALL k ;salto a la subrutina en la posición k (8 bits)<br />RETLW k ;retorno de subrutina con constante k, W = k<br />BTFSC f,b ;salteo si bit = 0, bit = f(0) saltea<br />BTFSS f,b ;salteo si bit = 1, bit = f(1) saltea<br />DECFSZ f,d ;decrementa y saltea sí 0, destino= f - 1, = 0 saltea<br />INCFSZ f,d ;incrementa y saltea sí 0, destino= f + 1, = 0 saltea<br />
  16. 16. Instrucciones especiales<br />NOP ;no hace nada, consume tiempo<br />TRIS f ;carga el tristate control, TRISf = W<br />OPTION ;carga el registro OPTION, OPTION = W<br />CLRWDT ;borra el watchdogtimer, WDT = 0<br />SLEEP ;coloca el µC en modo sleep, WDT = 0<br />
  17. 17.
  18. 18.
  19. 19. Programación del PIC<br />1 mov w, 34<br />2 rts rp0,0<br />3 clr rp1<br />4 addw,f<br />5 movrpa,w<br />6 goto 3<br />Windows<br />MPLAB<br />
  20. 20. ¿Qué hago con MPLAB?<br />Depurar programas fuente.<br />Detectar errores en programas fuente para editarlos.<br />Depurar los programas utilizando puntos de corte (breakpoints) mediante valores de los registros internos.<br />
  21. 21. ¿Qué hago con MPLAB?<br />Seguir el flujo del programa con MPLAB -SIM<br />en tiempo real utilizando el emulador PICMASTER.<br />Realizar medidas de tiempo utilizando un cronómetro.<br />Mirar variables en las ventanas de observación.<br />Encontrar respuestas rápidas, utilizando la Ayuda en línea del MPLAB.<br />
  22. 22. Un ejemplo<br />;ejemplo:<br /> status equ 0x03 ;hace equivalencia entre el símbolo status iniciandolo como 3<br />Contequ 0x20<br /> F equ 1<br />org 0 ;indica posición de memoria desde donde se ensambla<br />Inicio<br />movlw 0x0F ;carga de w con el valor constante 15 (literal)<br />movwfCont;el contenido de w se pasa al reg. CONT<br />Loop<br />decfszCont,F;decremento de Cont y elude siguiente si=0<br />gotoLoop;salto incondicional a Loop<br />goto $ ;Salto incondicional aqui mismo<br />end;Fin del código<br />
  23. 23. Procedimiento <br />1. Haga doble click en el ícono correspondiente a MPLAB.<br />2. Crear el archivo fuente correspondiente (menú File...New Source).<br />3. Salve el archivo (con extensión .ASM) una vez terminada su edición (menú FILE...Save).<br />4. Debe a continuación crearse un nuevo proyecto (menú Project...New Project).<br />5. Cuando aparezca la ventana de New Project editar las cajas de texto:<br />Project path and Name y DevelopmentMode, hacer click en <OK>.<br />
  24. 24. Procedimiento <br />6. En la siguiente ventana Edit Project, hacer click en la sección Non-project files sobre el<br />nombre del archivo fuente realizado en los pasos 2 y 3.<br />7. Haga click en el botón <=add y luego de que éste aparezca en la sección Project Files<br />haga click sobre el botón <OK>.<br />8. Salvar el proyecto (en el menú Project...Saveproject).<br />9. Realizar la "construcción de todo el proyecto" (menú Project...BuildAll).<br />
  25. 25. Procedimiento <br />10. En esta etapa se realiza en forma automática el ensamble de nuestro programa fuente<br />y el vaciado de éste en memoria de simulación. El proceso de ensamble generará un<br />archivo de errores en caso de que estos existan, sí es así deben corregirse directamente<br />sobre el archivo fuente, salvar las correcciones y reconstruir el proyecto (menú<br />Project...BuildAll). <<<En esta etapa del proceso ya se tiene el entorno listo para la<br />simulación>>><br />
  26. 26. Pantalla de MPLAB<br />Obtenerlo en forma gratuita de:<br />http://www.microchip.com/10/Tools/mTools/MPLAB/index.htm<br />
  27. 27. Otras alternativas …<br />
  28. 28. Obtenerlo en forma gratuita de:<br />http://www.microchip.com/10/Tools/mTools/MPLAB/index.htm<br />
  29. 29. Continuará … <br />

×