如何从PORTA
(RA0
,RA1
)中读取前两位,然后使用它们?
我有一个开关连接到每一个,当1
,RB1
为RA0
时,我想在RA1
上输出1
。
我已将PORTA
配置为输入,PORTB
配置为输出
MOVLW 0xF
MOVWF TRISA,0 ;PORTA IN
然后在循环中,我不断读取PORTA
个值,我想检查两个最低位是否在1
。为此,我在将PORTA
移至WREG后将值0x03
与PORTA
进行比较。
MOVF PORTA, 0, 0 ;W<--PORTA
CPFSLT 0x20, 0
MOVWF PORTB,0 ;PORTB<--W
在地址0x02
中,我之前存储了值0x03
但它不起作用,我不知道为什么。
非常感谢
答案 0 :(得分:0)
PORTA位0..3正在配置为输入,但未将PORTB引脚配置为输出。上电时I / O引脚是输入,因此您必须明确地输出它们。你说你在不断循环但是在将W移入PORTB以循环回读PORTA之后不显示分支指令。并且CPFSLT与0x20中的任何内容进行比较,您在0x02中存储了3。