从pic18f读取端口,然后做一些事情

时间:2014-10-08 13:57:11

标签: assembly microcontroller pic18

如何从PORTARA0RA1)中读取前两位,然后使用它们? 我有一个开关连接到每一个,当1RB1RA0时,我想在RA1上输出1

我已将PORTA配置为输入,PORTB配置为输出

MOVLW 0xF 
MOVWF TRISA,0 ;PORTA IN

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

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

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

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

非常感谢

1 个答案:

答案 0 :(得分:0)

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