首先来看传感器内部结构与单片机的连接图。由下图可知,实际上使用的I/O就是3、5脚。其中3脚为PWM驱动LED闪烁频率的引脚,在下文中可以看到时序。而5脚Vo则是传感器检测到的灰尘,而输出的电压值。在下文的程序中,将使用N76E003单片机自带的带隙电压进行测量,以此保证ADC不被供电电压影响。
https://download.youkuaiyun.com/download/u014798590/10948021 (工程文件、数据手册与电路可以在这下载)
下图为GP2Y1010传感器的线序(注意,线的颜色不一定一致)
下图为3脚输入的电平,这里我们使用PWM5/P0.3(这里注意看左侧的电路,LED导通的条件)。
经下图公式计算可得
(16MHz/8)/100HZ=20000
20000-1——》0x4e1f(PWMPH=0x4e;PWMPL=0x1f)
0.032*20000=640
640——》0x280(PWMnH=0x2;PWMnH=0x80)
如果单片机管脚的输出能力不行,最好加上一个三极管,这时需要反向的PWM。这里使用N76E003的极性控制功能
PWM5_OUTPUT_INVERSE;//开启极性控制
下图是GP2Y10输出的波形,但是我的9.9包邮的逻辑分析仪可能太LOW了,没办法测量出来&#