作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用带有 microchip v8.63 和 c 编译器的 picdem 18F4550。我使用的组件是:- 3 个 LED(红、绿、蓝);- LDR(327700 NORPS-12 法内尔)。
我在 RB4、RB5 和 RB6 上连接了 3 个 LED(红、绿、蓝)作为输出。我还将 LDR 连接到 RB1 上。
我的问题是,当另一个 LED 的绿色亮起时,我如何检索 LDR 测量的代码中的值?
我包含了我的代码:
#include "p18cxxx.h"
#pragma config WDT = OFF
void main(void)
{
// turn off all LED latches
LATDbits.LATD0 = 0;
LATDbits.LATD1 = 0;
LATDbits.LATD2 = 0;
// make port d bits which drive LEDs outputs
TRISDbits.TRISD0 = 0;
TRISDbits.TRISD1 = 0;
TRISDbits.TRISD2 = 0;
TRISB = 0;
// RB port output.
PORTB = 0;
PORTB = 0b10001111; // 0b01011010
if(PORTBbits.RB4 == 0) {
LATDbits.LATD0 = 1;
}
if(PORTBbits.RB5 == 0) {
LATDbits.LATD1 = 1;
}
if(PORTBbits.RB6 == 0) {
LATDbits.LATD2 = 1;
}
if(PORTBbits.RB1 == 1) {
}
while(1) {
;
}
}
最佳答案
假设您将 LDR 连接到配置为 GPIO 的引脚。适用 GPIO 引脚的电压阈值。引脚上读取的值取决于 LDR 的电阻,该电阻的摆幅足以产生逻辑低电平和逻辑高电平。您很可能希望将 LDR 连接到 PIC A/D 引脚而不是 GPIO。使用 ADCON 配置 A/D。设置A/D 进行转换,并等待A/D 完成中断。然后读取 ADRESH 和 ADRESL,得到 LDR 的模拟电压。
关于c - 从 LDR 中获取值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5451300/
我是一名优秀的程序员,十分优秀!