Advertisement
ericksm

Led01

Mar 13th, 2014
320
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MPASM 1.44 KB | None | 0 0
  1. ;http://www.archimon-tx8.blogspot.com
  2. list p=12F683
  3. #include "p12f683.inc"
  4.  
  5. errorlevel -302 ; suppress message 302  
  6. __config   _FCMEN_OFF & _IESO_OFF & _CP_OFF & _CPD_OFF & _BOD_OFF & _MCLRE_ON & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT
  7.  
  8. ;Ubicacion de variables en banco de memoria
  9.  
  10. COUNT1 equ 0x20   ;el banco de memoria comienza en la posicion 0x20
  11. COUNT2 equ 0x21
  12.  
  13. ;Inicio de programa
  14.  
  15. org     0x00
  16.  
  17. movlw   0x07  
  18. movwf   CMCON0       ;Comparadores OFF  
  19.  
  20. ;configuracion de puerto
  21. bsf    STATUS,RP0    ;seleccionamos banco 1
  22. movlw   b'01100001'  ;bit 1 y 2(LTS HTS) indican si los osc. son estables. Bit 7 no implementado
  23. movwf   OSCCON       ;Oscilador interno a 4MHz (default)
  24. clrf    ANSEL        ;puerto digital
  25. movlw   b'00001000'  ;Bit 7 y 8 no implementados, Bit 3 solo como entrada
  26. movwf   TRISIO       ;Utilizaremos solo el GP5(PIN2) como salida.
  27. bcf    STATUS,RP0
  28.          
  29. ;Codigo de programa
  30.  
  31. INICIO   bsf  GPIO,5    ;Poner a 1 GP5
  32.          call DELAY
  33.          bcf  GPIO,5    ;Poner a 0 GP5
  34.          call DELAY
  35.          goto INICIO
  36.  
  37. DELAY movlw 0xFF  ; Subrutina de retardo
  38.       movwf COUNT1  ; 256x256=65536 cuentas
  39.       movwf COUNT2
  40. LOOP  decfsz COUNT1,1 ; Decrementa COUNT1
  41.       goto LOOP  ; Salta si COUNT1=0
  42.       movlw 0xFF  
  43.       movwf COUNT1  ; COUNT1=FF
  44.       decfsz COUNT2,1 ; Decrementa COUNT2
  45.       goto LOOP  ; Salta si COUNT2=0
  46.       return   ; Retorno de subrutina
  47.  
  48. end   ; Fin de programa
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement