Я всегда моргал светодиодами на PORTB в PIC16F628A.PIC BTFSC и BTFSS не работают на PORTA
Теперь мне нужно сделать это на PORTA, потому что я пытаюсь использовать клавиатуру на PORTB.
Код ниже отлично работает на RB3 PORTB, но я не в PORTA.
Вот пример в PORTA. Я протестировал и проблема в функции BTFSS и BTFSC ... Потому что, если я поворачиваю ведомый или вручную, он работает нормально. (также я delay_1s_routine опущен код)
main
;*********CONFIGURACION LED**********
clrf Puerto_Led
movlw 0x07
movwf CMCON
bsf STATUS,RP0
clrf TRISA
bcf STATUS,RP0
loop
call prende_apaga_Led
call delay_1s_routine
goto loop
prende_apaga_Led
btfsc PORTA,RA1 ;si esta en 0 salta el GOTO
goto $+3
bsf PORTA,RA1 ;Pongo en '1' el bit del Led Verde
return
bcf PORTA,RA1 ;Pongo en '1' el bit del Led Verde
return
Спасибо Советы !!
Редакцией: Положите реальные значения на код
PD: Испытано эту инструкцию отдельно и отлично работает - BSF PORTA, RA1 - КБК PORTA, RA1
Я не уверен, о чем вы говорите. Инструкция BTFSS или BTFSC показывает, является ли бит X регистра равным 1 или 0. И если ваш порт TRISA установлен в режиме вывода. Затем вы должны увидеть, установлены ли их выходы или нет. Вы только дали мне решение переключить бит, но нет решения о том, как узнать состояние бит? И этот код отлично работает на TRISB/PORTB. Таким образом, проблема BTFSS здесь является проблемой ... – fefo