Advertisement
xdesig

Blink PIC16F8...

Aug 7th, 2022
1,421
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;Profesor Xabier Rosas
  2. ;Curso 2001 / 2002
  3.  
  4. ; Nome do Programa: PARPADEO DO LED 0 DO PORTO B
  5.  
  6. ; Autor:Xabier Rosas
  7.  
  8. ;
  9.      LIST   P=16F84     ;TIPO DE PROCESADOR
  10.      list   C=132       ;LISTADOS A 132 CARCTERES POR LIÑA
  11.  
  12.      RADIX HEX      ;FORMATO NUMERICO EN EXADECIMAL
  13.  
  14. TRISA       EQU 5   ;DIRECCIÓN DO REXISTRO TRIESTADO DO PORTO A
  15. TRISB       EQU 6   ;DIRECCIÓN DO REXISTRO TRIESTADO DO PORTO B
  16.  
  17. PORTA       EQU 5   ;DIRECCIÓN DO PORTO A
  18. PORTB       EQU 6   ;DIRECCIÓN DO PORTO B
  19. STATUS      EQU 3   ;DIRECCIÓN DO REXISTRO DE ESTADO
  20. RP0     EQU 5   ;BIT 0 DE CONTROL DAS PÁXINAS ACTIVAS
  21.  
  22. TEMPO1      EQU 0x10    ;VARIABLE DE RETARDO 1
  23. TEMPO2      EQU 0X11    ;VARIABLE DE RETARDO 2
  24.  
  25.  
  26.     ORG 00      ;DIRECCIÓN DE INICIO DESPOIS DE RESET
  27.     GOTO    CONFIG      ;SALTO A DIRECIÓN DE CONFIGURACIÓN DO PROGRAMA
  28.     ORG 05      ;INICIAMOS NA DIRECCIÓN 5 PARA EVIAR O VECTOR DE INTERRUPCIÓN
  29.  
  30. ;*** RUTINA DE CONFIGURACON DOS PORTOS ***
  31.  
  32. CONFIG  BSF STATUS,RP0  ;ACTIVAR A PAXINA 1
  33.     CLRF    TRISB       ;DECLARAR TODO O PORTO B COMO SAIDAS
  34.     BCF STATUS,RP0  ;ACTIVAR A PAXINA 0
  35.  
  36.     CLRF    PORTB       ;TODO O PORTO B = 0
  37.  
  38. ;*** RUTINA PRINCIPAL ***
  39.  
  40. INICIO  BSF PORTB,0     ;O BIT 0 DO PORTO B = 1, E DICER
  41.                 ;ACENDEMOS O LED 0
  42.     CALL    RETARDO     ;CHAMAMOS A RUTINA DE RETARDO
  43.  
  44.     BCF PORTB,0     ;O BIT 0 DO PORTO B = 0, E DICER
  45.                 ;APAGAMOS O LED 0
  46.     CALL    RETARDO     ;CHAMAMOS A RUTINA DE RETARDO
  47.        
  48.     GOTO    INICIO      ;SALTO O INICIO
  49.  
  50.  
  51. ;*** RUTINA DE RETARDO ***
  52.  
  53. RETARDO MOVLW   0xB0        ;MOVEMOS O DATO "B0" O ACUMULADOR ( W = B0 )
  54.     MOVWF   TEMPO2      ;MOVEMOS DO ACUMULADOR A VARIABLE TEMPO2 ( TEMPO2 = B2 )
  55. RET2    MOVLW   0xff        ;MOVEMOS O DATO "FF" O ACUMULADOR ( W = FF )
  56.     MOVWF   TEMPO1      ;MOVEMOS DO ACUMULADOR A VARIABLE TEMPO1 ( TEMPO1 = FF )
  57. REPT    DECFSZ  TEMPO1,1    ;DECREMENTAMOS TEMPO1 E COMPROBAMOS SI É CERO
  58.     GOTO    REPT        ;EN CASO CONTRARIO SEGUIMOS DECREMENTANDO
  59.     DECFSZ  TEMPO2,1    ;DECREMENTAMOS TEMPO2 E COMPROBAMOS SI É CERO
  60.     GOTO    RET2        ;EN CASO CONTRARIO RECARGAMOS TEMPO1 = FF
  61.     RETURN          ;REGRESAMOS DESPOIS DE CONTAR FF * B2
  62.  
  63.  
  64.  
  65.  
  66.     ORG 0x2007      ;rexistro de configuracion do procesador
  67.    
  68. _CP_OFF     EQU 3FFF    ;_CP_OFF = Protección do codigo desactivado
  69. _PWRTE_ON   EQU 3FF7    ;_PWRTE_ON = Reset cando se acende activado
  70. _WDT_OFF    EQU 3FFB    ;_WDT_OFF = Can de garda desactivado
  71. _XT_OSC     EQU 3FFD    ;_TX_OSC = Oscilador de cuarzo
  72.  
  73.         dw _XT_OSC & _PWRTE_ON & _WDT_OFF & _CP_OFF
  74.        
  75.     ORG 0x2120          ;DATOS DA EEPROM
  76.  
  77.         DATA    0x43
  78.         DATA    0x4F
  79.         DATA    0x4C
  80.         DATA    0x45
  81.         DATA    0x58
  82.         DATA    0x49
  83.         DATA    0x4F
  84.         DATA    0x20
  85.         DATA    0x44
  86.         DATA    0x41
  87.         DATA    0x4E
  88.         DATA    0x49
  89.         DATA    0x45
  90.         DATA    0x4C
  91.         DATA    0x20
  92.         DATA    0x20
  93.         DATA    0x43
  94.         DATA    0x41
  95.         DATA    0x53
  96.         DATA    0x54
  97.         DATA    0x45
  98.         DATA    0x4C
  99.         DATA    0x41
  100.         DATA    0x4F
  101.         DATA    0x20
  102.         DATA    0x58
  103.         DATA    0x2E
  104.         DATA    0x52
  105.         DATA    0x4F
  106.         DATA    0x53
  107.         DATA    0x41
  108.         DATA    0x53
  109.     END
  110.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement