-1

如何从PORTA( RA0, RA1) 中读取前 2 位,然后使用它们?我有一个开关连接到它们中的每一个,并且我想在两者都输出 a 1onRB1RA0, RA1are 1

我已配置PORTA为输入和PORTB输出

MOVLW 0xF 
MOVWF TRISA,0 ;PORTA IN

然后在一个循环中,我不断读取PORTA值,我想检查两个最低位是否在1. 为此,我将值PORTA0x03移至PORTAWREG 后的值进行比较。

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

在地址0x02中,我以前存储了该值0x03

但它不起作用,我不知道为什么。

多谢

4

1 回答 1

0

PORTA 位 0..3 被配置为输入,但未显示将 PORTB 引脚配置为输出。I/O 引脚是上电时的输入,因此您必须明确地将它们设为输出。您说您在不断循环,但在将 W 移动到 PORTB 以循环回读取 PORTA 后不显示分支指令。CPFSLT 与 0x20 中的内容进行比较,您在 0x02 中存储了 3。

于 2014-10-16T17:18:26.953 回答