
Ayuda con PIC16f874a
Publicado por Ricardo (1 intervención) el 05/12/2014 06:02:30
Hola gente, mi nombre es Ricardo y estoy empezando con el mundo del PIC con el 16f874a y no logro hacer que trabaje bien, así que decidí probar las salidas pensando que se habían quemado e hice un programa sencillo para encender y apagar unos leds conectados a las salidas pero los leds nunca se apagan, siempre permanecen encendidas y no se porque. La simulación en MPLAB es satisfactoria pero entonces no se que sea lo que este haciendo mal.
Aquí mi programa y espero puedan apoyar a la causa.
List p=16f874a
#Include<p16f874a.inc>
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_OFF & _LVP_OFF & _DEBUG_OFF & _XT_OSC
Mem1 equ 10h
Mem2 equ 11h
Mem3 equ 12h
Mem4 equ 13h
Main
call PortCONFIG
call Rutina
Rutina
movlw b'11111111'
movwf PORTC
movlw b'11111111'
movwf PORTD
call Retardo1s
movlw b'00000000'
movwf PORTC
movwf PORTD
call Retardo1s
goto Rutina
PortCONFIG
clrw
bcf STATUS, RP1
bsf STATUS, RP0 ;Banco 1 para TRIS A, B, C, D, E
clrf TRISC
clrf TRISD
bcf STATUS, RP1
bcf STATUS, RP0 ;Banco 0 para PORT A, B, C, D, E
return
Retardo1s
movlw d'25'
movwf Mem1
Bucle1s_2
movwf Mem2
Bucle1s_3
movwf Mem3
Bucle1s_4
movwf Mem4
Bucle1s
nop
decfsz Mem4
goto Bucle1s
decfsz Mem3
goto Bucle1s_4
decfsz Mem2
goto Bucle1s_3
decfsz Mem1
goto Bucle1s_2
return
End
Aquí mi programa y espero puedan apoyar a la causa.
List p=16f874a
#Include<p16f874a.inc>
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_OFF & _LVP_OFF & _DEBUG_OFF & _XT_OSC
Mem1 equ 10h
Mem2 equ 11h
Mem3 equ 12h
Mem4 equ 13h
Main
call PortCONFIG
call Rutina
Rutina
movlw b'11111111'
movwf PORTC
movlw b'11111111'
movwf PORTD
call Retardo1s
movlw b'00000000'
movwf PORTC
movwf PORTD
call Retardo1s
goto Rutina
PortCONFIG
clrw
bcf STATUS, RP1
bsf STATUS, RP0 ;Banco 1 para TRIS A, B, C, D, E
clrf TRISC
clrf TRISD
bcf STATUS, RP1
bcf STATUS, RP0 ;Banco 0 para PORT A, B, C, D, E
return
Retardo1s
movlw d'25'
movwf Mem1
Bucle1s_2
movwf Mem2
Bucle1s_3
movwf Mem3
Bucle1s_4
movwf Mem4
Bucle1s
nop
decfsz Mem4
goto Bucle1s
decfsz Mem3
goto Bucle1s_4
decfsz Mem2
goto Bucle1s_3
decfsz Mem1
goto Bucle1s_2
return
End
Valora esta pregunta


0