Codigo contador 7seg PIC16f84A. El profe García.
;
; **** Encabezado ****
list p=16F84A
#include P16F84A.inc
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
;**** Definicion de variables ****
Contador1 equ 0x40 ;
Contador2 equ 0x41 ; Registro utilizado en demora.-
Led equ 0 ; Definimos Led como el bit cero de un registro,caso PORTB.-
Pulsador equ 0 ; Definimos Pulsador como el bit 0, en so sera para PORTA
;**** Configuracion de puertos ***
Reset org 0x00 ; Aqui comienza el micro.-
goto Inicio ; Salto a inicio de mi programa.-
org 0x05 ; Origen del codigo de programa.-
Inicio bsf STATUS,RP0 ; Pasamos de Banco 0 a Banco 1.-
movlw b'11111' ; Muevo 11111 a W.-
movwf TRISA ; Cargo en TRISA.-
movlw b'00000000'
movwf TRISB
bcf STATUS,RP0 ; Paso del Banco 1 al Banco 0
bcf PORTB,Led ; Comienza apagado.-
;**** Secuencia de Led ****
Bucle btfsc PORTA,Pulsador ; Preguntamos si esta en 0 logico.-
movlw b'10111111' ;-------0
movwf PORTB
call Demora ; retardo
movlw b'00000110' ;-------1
movwf PORTB
call Demora ; retardo
movlw b'01011011' ;-------2
movwf PORTB
call Demora ; retardo
movlw b'01001111' ;-------3
movwf PORTB
call Demora ; retardo
movlw b'01100110' ;-------4
movwf PORTB
call Demora ; retardo
movlw b'01101101' ;-------5
movwf PORTB
call Demora ; retardo
movlw b'01111101' ;-------6
movwf PORTB
call Demora ; retardo
movlw b'00000111' ;-------7
movwf PORTB
call Demora ; retardo
movlw b'01111111' ;-------8
movwf PORTB
call Demora ; retardo
movlw b'01101111' ;-------9
movwf PORTB
call Demora ; retardo
goto Bucle ; permanecemos en un bucle infinito
Apagar bcf PORTB,Led ;Apagamos Led.-
goto Bucle ; Regresamos al bucle
;**** Demora ****
Demora
movlw 0xFF ;
movwf Contador1 ; Iniciamos contador1.-
Repeticion1
movlw 0xFF ;
movwf Contador2 ; Iniciamos contador2
Repeticion2
decfsz Contador2,1 ; Decrementa Contador2 y si es 0 sale.-
goto Repeticion2 ; Si no es 0 repetimos ciclo.-
decfsz Contador1,1 ; Decrementa Contador1.-
goto Repeticion1 ; Si no es cero repetimos ciclo.-
return ; Regresa de la subrutina.-
end
5.270 Veces leído 0 comentarios |