Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;Profesor Xabier Rosas
- ;Curso 2001 / 2002
- ; Nome do Programa: PARPADEO DO LED 0 DO PORTO B
- ; Autor:Xabier Rosas
- ;
- LIST P=16F84 ;TIPO DE PROCESADOR
- list C=132 ;LISTADOS A 132 CARCTERES POR LIÑA
- RADIX HEX ;FORMATO NUMERICO EN EXADECIMAL
- TRISA EQU 5 ;DIRECCIÓN DO REXISTRO TRIESTADO DO PORTO A
- TRISB EQU 6 ;DIRECCIÓN DO REXISTRO TRIESTADO DO PORTO B
- PORTA EQU 5 ;DIRECCIÓN DO PORTO A
- PORTB EQU 6 ;DIRECCIÓN DO PORTO B
- STATUS EQU 3 ;DIRECCIÓN DO REXISTRO DE ESTADO
- RP0 EQU 5 ;BIT 0 DE CONTROL DAS PÁXINAS ACTIVAS
- TEMPO1 EQU 0x10 ;VARIABLE DE RETARDO 1
- TEMPO2 EQU 0X11 ;VARIABLE DE RETARDO 2
- ORG 00 ;DIRECCIÓN DE INICIO DESPOIS DE RESET
- GOTO CONFIG ;SALTO A DIRECIÓN DE CONFIGURACIÓN DO PROGRAMA
- ORG 05 ;INICIAMOS NA DIRECCIÓN 5 PARA EVIAR O VECTOR DE INTERRUPCIÓN
- ;*** RUTINA DE CONFIGURACON DOS PORTOS ***
- CONFIG BSF STATUS,RP0 ;ACTIVAR A PAXINA 1
- CLRF TRISB ;DECLARAR TODO O PORTO B COMO SAIDAS
- BCF STATUS,RP0 ;ACTIVAR A PAXINA 0
- CLRF PORTB ;TODO O PORTO B = 0
- ;*** RUTINA PRINCIPAL ***
- INICIO BSF PORTB,0 ;O BIT 0 DO PORTO B = 1, E DICER
- ;ACENDEMOS O LED 0
- CALL RETARDO ;CHAMAMOS A RUTINA DE RETARDO
- BCF PORTB,0 ;O BIT 0 DO PORTO B = 0, E DICER
- ;APAGAMOS O LED 0
- CALL RETARDO ;CHAMAMOS A RUTINA DE RETARDO
- GOTO INICIO ;SALTO O INICIO
- ;*** RUTINA DE RETARDO ***
- RETARDO MOVLW 0xB0 ;MOVEMOS O DATO "B0" O ACUMULADOR ( W = B0 )
- MOVWF TEMPO2 ;MOVEMOS DO ACUMULADOR A VARIABLE TEMPO2 ( TEMPO2 = B2 )
- RET2 MOVLW 0xff ;MOVEMOS O DATO "FF" O ACUMULADOR ( W = FF )
- MOVWF TEMPO1 ;MOVEMOS DO ACUMULADOR A VARIABLE TEMPO1 ( TEMPO1 = FF )
- REPT DECFSZ TEMPO1,1 ;DECREMENTAMOS TEMPO1 E COMPROBAMOS SI É CERO
- GOTO REPT ;EN CASO CONTRARIO SEGUIMOS DECREMENTANDO
- DECFSZ TEMPO2,1 ;DECREMENTAMOS TEMPO2 E COMPROBAMOS SI É CERO
- GOTO RET2 ;EN CASO CONTRARIO RECARGAMOS TEMPO1 = FF
- RETURN ;REGRESAMOS DESPOIS DE CONTAR FF * B2
- ORG 0x2007 ;rexistro de configuracion do procesador
- _CP_OFF EQU 3FFF ;_CP_OFF = Protección do codigo desactivado
- _PWRTE_ON EQU 3FF7 ;_PWRTE_ON = Reset cando se acende activado
- _WDT_OFF EQU 3FFB ;_WDT_OFF = Can de garda desactivado
- _XT_OSC EQU 3FFD ;_TX_OSC = Oscilador de cuarzo
- dw _XT_OSC & _PWRTE_ON & _WDT_OFF & _CP_OFF
- ORG 0x2120 ;DATOS DA EEPROM
- DATA 0x43
- DATA 0x4F
- DATA 0x4C
- DATA 0x45
- DATA 0x58
- DATA 0x49
- DATA 0x4F
- DATA 0x20
- DATA 0x44
- DATA 0x41
- DATA 0x4E
- DATA 0x49
- DATA 0x45
- DATA 0x4C
- DATA 0x20
- DATA 0x20
- DATA 0x43
- DATA 0x41
- DATA 0x53
- DATA 0x54
- DATA 0x45
- DATA 0x4C
- DATA 0x41
- DATA 0x4F
- DATA 0x20
- DATA 0x58
- DATA 0x2E
- DATA 0x52
- DATA 0x4F
- DATA 0x53
- DATA 0x41
- DATA 0x53
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement