我将 picdem 18F4550 与 microchip v8.63 与 C18 编译器一起使用。
我将启用 PortA 设置为输入,我将在端口 RA0 上连接一个 LDR。如下(我认为)
TRISAbits.TRISA0 = 1; <= set RA0 as input
现在我想要 LDR 的值(如果 LED 亮起,电压/值),我可以说:
int colorLed = PortAbits.RA0;
现在在 int 类型的变量中有我的 Led 的值/电压。
如我错了请纠正我。
我将 picdem 18F4550 与 microchip v8.63 与 C18 编译器一起使用。
我将启用 PortA 设置为输入,我将在端口 RA0 上连接一个 LDR。如下(我认为)
TRISAbits.TRISA0 = 1; <= set RA0 as input
现在我想要 LDR 的值(如果 LED 亮起,电压/值),我可以说:
int colorLed = PortAbits.RA0;
现在在 int 类型的变量中有我的 Led 的值/电压。
如我错了请纠正我。
听起来您想测量模拟电压,在这种情况下,您需要将引脚用作AN0,而不是RA0。您应该阅读数据表的第 21 节,但总而言之,您需要使用寄存器 和 配置 AD 转换器,ADCON0并读取出现在 上的结果。ADCON1ADCON2ADRESH:ADRESL
请注意,您可能会使用数字输入读取 LDR,但您将无法对其进行校准。使用模拟输入稍微复杂一些,但更灵活。
默认情况下,PORTA 可以用作数字输入或模拟输入。
要使用 LDR,您很可能需要将 PIN 配置为模拟输入。
然而,它仍然取决于你想做什么。也许你应该提供一些关于你的项目的详细信息。
检查此链接以获取 PIC18F4550数据表
同样,您可能想提供有关您的申请的更多详细信息,以便我们可以更好地为您提供帮助。