1

我将 picdem 18F4550 与 microchip v8.63 与 C18 编译器一起使用。

我将启用 PortA 设置为输入,我将在端口 RA0 上连接一个 LDR。如下(我认为)

TRISAbits.TRISA0 = 1; <= set RA0 as input

现在我想要 LDR 的值(如果 LED 亮起,电压/值),我可以说:

int colorLed = PortAbits.RA0;

现在在 int 类型的变量中有我的 Led 的值/电压。

如我错了请纠正我。

4

2 回答 2

6

听起来您想测量模拟电压,在这种情况下,您需要将引脚用作AN0,而不是RA0您应该阅读数据表的第 21 节,但总而言之,您需要使用寄存器 和 配置 AD 转换器,ADCON0并读取出现在 上的结果。ADCON1ADCON2ADRESH:ADRESL

请注意,您可能会使用数字输入读取 LDR,但您将无法对其进行校准。使用模拟输入稍微复杂一些,但更灵活。

于 2011-03-28T21:19:00.217 回答
0

默认情况下,PORTA 可以用作数字输入或模拟输入。

要使用 LDR,您很可能需要将 PIN 配置为模拟输入。

然而,它仍然取决于你想做什么。也许你应该提供一些关于你的项目的详细信息。

检查此链接以获取 PIC18F4550数据表

您只能在此处找到有关 PIC184550 的更详细资源

同样,您可能想提供有关您的申请的更多详细信息,以便我们可以更好地为您提供帮助。

于 2011-03-29T08:17:35.563 回答