2014-10-08 73 views
-1

如何從PORTARA0,RA1)讀取前2位然後使用它們? 我有一個開關連接到它們中的每一個,並且我想在RB1上輸出1,當RA0,RA1都是1從pic18f讀取端口,然後執行某些操作

我已經配置PORTA作爲輸入,並作爲PORTB輸出

MOVLW 0xF 
MOVWF TRISA,0 ;PORTA IN 

然後在一個循環中,我連續讀取PORTA值和我要檢查,如果兩個最低比特在1。爲此,我將PORTA0x03進行比較,將PORTA移至WREG。在地址0x02我以前存儲的值0x03

但它不工作

MOVF PORTA, 0, 0 ;W<--PORTA 
CPFSLT 0x20, 0 
MOVWF PORTB,0 ;PORTB<--W 

,我不知道爲什麼。

非常感謝

回答

0

PORTA比特0..3被配置爲輸入,但配置PORTB引腳爲輸出未示出。 I/O引腳是加電時的輸入,因此您必須明確地輸出它們。你說你正在連續循環,但在將W移動到PORTB以循環讀取PORTA之後不顯示分支指令。並且CPFSLT與0x20中的任何值進行比較,您已在0x02中存儲了3個值。

相關問題