Recien comienzo con este del PIC y este seria mi primer programa que deseo hechar a andar, pero me encuentro con un extraño problema.....
el asunto esta en que al tirar el programa a correr en MPLAB, se frena sin siquiera pasar una linea, en " bsf STATUS,5 ". La cual es la primer setencia de trabajo!. (y no me tira error alguno ) por favor, ustedes me podrian ayudar?.
Mi programa es muy sencillo. Todo lo que hace es correr los leds del puerto B hacia un costado cuando pulsamos un puerto de A en particular.... segun que entrada para que lado corre. Mi intensión es que realize eso....
al oprimir R0 se mueve para un lado... R1 se mueven para el otro... y R2 se complementa el puerto B.
PD: El proteus me recrimina lo mismo, no avanza!... pero tampoco me da error alguno.
--------------------------------------------------------------------------------
---------------------------------------------------------------
el asunto esta en que al tirar el programa a correr en MPLAB, se frena sin siquiera pasar una linea, en " bsf STATUS,5 ". La cual es la primer setencia de trabajo!. (y no me tira error alguno ) por favor, ustedes me podrian ayudar?.
Mi programa es muy sencillo. Todo lo que hace es correr los leds del puerto B hacia un costado cuando pulsamos un puerto de A en particular.... segun que entrada para que lado corre. Mi intensión es que realize eso....
al oprimir R0 se mueve para un lado... R1 se mueven para el otro... y R2 se complementa el puerto B.
PD: El proteus me recrimina lo mismo, no avanza!... pero tampoco me da error alguno.
--------------------------------------------------------------------------------
Código:
list p=16F84A
#include <p16F84a.inc>
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _RC_OSC
j equ h'11'
K equ h'12'
org 0 ; Empieza el prog en la primera posicion libre
;Definiendo B
bsf STATUS,5
movlw b'00000000' ; cargo el registro de trabajo con 0
movwf PORTB ; mando W=0 a tris B (0 salida, 1 entrada)definiendo
bcf STATUS,5
movlw b'00000011' ; cargo w=3
movwf PORTB ; mando W=3 al puerto para definir el on-off dando 5v donde es 1
;Definiendo A
bsf STATUS,5
movlw b'1111111' ; cargo el registro de trabajo con 254
movwf PORTA ; mando W=0 a tris A (0 salida, 1 entrada)definiendo
bcf STATUS,5
;comienzo con un valor 0
clrw
;Lectura continua del puerto A
relectura movlw PORTA
movwf j
btfsc j,0
rlf j,1 ;la entrada del 0 bit rota el puerto b hacia derecha
btfsc j,1
rrf j,1 ;la entrada del 1 bit rota el puerto b hacia izquierda
btfsc j,2
comf j,1 ;la entrada del 2 bit complementa las salidas
movwf PORTB
goto relectura
;finalizacion
end
---------------------------------------------------------------