buenas noches, soy nuevo en el uso del lenguaje ensamblador "Assembler", y necesito ayuda....
como se define la instrucción btfsc para saber si un puerto de entrada es igual a 1 o 0??
si el puertoC, tiene como entrada 1 en el display BCD 7 Segmento contara del 0 al 9
cuando termine se preguntara de nuevo si el puerto de entrada es 0 en el display BCD 7 Segmento contara del 9 al 0
Gracias por Cualquier colaboración, utilizo el MPLAB con el proteus ISIS y un micro de referencia PIC16f874
Codigo Desarrollado:
list p=16F874
status equ 03h
puertob equ 06h
puertoc equ 07h
reg1equ 20h
reg2equ 21h
reg3equ 22h
reset org 00h
goto inicio
inicio bsfstatus, 5 ; se coloca el puertb como salida
clrf puertob
clrf puertoc
bsf op,01h
bcf status, 5
goto condicion
;condicional para saber si disminuye o incrementa la suma
condicion
btfss puertoc, 01h
goto otra
goto otra2
;************Serie 1 Apagado y Prendido del puerto c*************
otra
movlw 00h
movwf puertob
call retardo
movlw 01h
movwf puertob
call retardo
movlw 02h
movwf puertob
call retardo
movlw 03h
movwf puertob
call retardo
movlw 04h
movwf puertob
call retardo
movlw 05h
movwf puertob
call retardo
movlw 06h
movwf puertob
call retardo
movlw 07h
movwf puertob
call retardo
movlw 08h
movwf puertob
call retardo
movlw 09h
movwf puertob
call retardo
goto condicion
;************secuencia regresiva*********
otra2
movlw 09h
movwf puertob
call retardo
movlw 08h
movwf puertob
call retardo
movlw 07h
movwf puertob
call retardo
movlw 06h
movwf puertob
call retardo
movlw 05h
movwf puertob
call retardo
movlw 05h
movwf puertob
call retardo
movlw 04h
movwf puertob
call retardo
movlw 03h
movwf puertob
call retardo
movlw 02h
movwf puertob
call retardo
movlw 01h
movwf puertob
call retardo
movlw 00h
movwf puertob
call retardo
goto condicion
;****Temp*********
retardo movlw0fh
movlw reg1
tres movlw0fh
movwf reg2
dosmovlw 0fh
movwfreg3
gotouno
decfszreg2
gotodos
decfszreg1
gototres
retlw 00h
unodecfszreg3
goto uno
decfszreg2
gotodos
decfszreg1
gototres
retlw00h
end
como se define la instrucción btfsc para saber si un puerto de entrada es igual a 1 o 0??
si el puertoC, tiene como entrada 1 en el display BCD 7 Segmento contara del 0 al 9
cuando termine se preguntara de nuevo si el puerto de entrada es 0 en el display BCD 7 Segmento contara del 9 al 0
Gracias por Cualquier colaboración, utilizo el MPLAB con el proteus ISIS y un micro de referencia PIC16f874
Codigo Desarrollado:
list p=16F874
status equ 03h
puertob equ 06h
puertoc equ 07h
reg1equ 20h
reg2equ 21h
reg3equ 22h
reset org 00h
goto inicio
inicio bsfstatus, 5 ; se coloca el puertb como salida
clrf puertob
clrf puertoc
bsf op,01h
bcf status, 5
goto condicion
;condicional para saber si disminuye o incrementa la suma
condicion
btfss puertoc, 01h
goto otra
goto otra2
;************Serie 1 Apagado y Prendido del puerto c*************
otra
movlw 00h
movwf puertob
call retardo
movlw 01h
movwf puertob
call retardo
movlw 02h
movwf puertob
call retardo
movlw 03h
movwf puertob
call retardo
movlw 04h
movwf puertob
call retardo
movlw 05h
movwf puertob
call retardo
movlw 06h
movwf puertob
call retardo
movlw 07h
movwf puertob
call retardo
movlw 08h
movwf puertob
call retardo
movlw 09h
movwf puertob
call retardo
goto condicion
;************secuencia regresiva*********
otra2
movlw 09h
movwf puertob
call retardo
movlw 08h
movwf puertob
call retardo
movlw 07h
movwf puertob
call retardo
movlw 06h
movwf puertob
call retardo
movlw 05h
movwf puertob
call retardo
movlw 05h
movwf puertob
call retardo
movlw 04h
movwf puertob
call retardo
movlw 03h
movwf puertob
call retardo
movlw 02h
movwf puertob
call retardo
movlw 01h
movwf puertob
call retardo
movlw 00h
movwf puertob
call retardo
goto condicion
;****Temp*********
retardo movlw0fh
movlw reg1
tres movlw0fh
movwf reg2
dosmovlw 0fh
movwfreg3
gotouno
decfszreg2
gotodos
decfszreg1
gototres
retlw 00h
unodecfszreg3
goto uno
decfszreg2
gotodos
decfszreg1
gototres
retlw00h
end