基于单片机的光控路灯设计含程序和仿真图
本设计是以光敏电阻对于外界光线强弱的感应能力为基础进行的路灯自动化控制系统设计。 当光线强度弱到一定程度的时候, 路灯就会自动灭掉; 当光线强到一定程度的时候, 路灯就会自动开启。 本设计以当外界光线强度弱到使光敏电阻阻值大于等于 200 欧的时候, LED 灯会自动开启;小于 200 欧的时候,自动关闭。完整的资料在闯客网技术论坛可以免费下载,资料群:613377058
下载地址:https://bbs.usoftchina.com/thread-210514-1-1.html

目 录
摘要
绪论
一、目标及任务
二、硬件设计
2.1 主要模块构成
2.2 电路设计
2.3 系统流程
三、 系统的软件设计
3.1 详细步骤
3.2 具体程序设计
3.3 系统软件执行流程
四、结论与设计调试
4.1 结论
4.2 课程设计过程中遇到的主要问题以及解决办法
五、心得体会
六、参考文献 
七、附录(仿真图、源程序)

一、目标及任务
本设计是以光敏电阻可以根据外界光线的强度而改变自身阻值的特性 (光线越强,阻值越小;光线越弱,阻值越大) 为基础设计的光控路灯自动化控制系统。其原理是利用光敏电阻感受外界光线强度并体现在自身阻值的变化上, 然后根据这一阻值的大小来判断外界的光线亮度情况,然后根据所得数据判断 LED 是该亮起还是该灭掉。即当外界光线强度弱到使光敏电阻阻值大于等于 200 欧的时候,LED 灯会自动开启;小于 200 欧的时候,自动关闭。

二、硬件设计
2.1 主要模块构成:
(1) 光敏电阻感应模块与 AD/DA 转换模块
所谓的 AD/DA 转换就是模数 /数模转换,该设计中我们涉及到的是 ADC(模数转换)。
PCF8591是具有 IIC 总线接口的 8 位 A/D 及 D/A 的转换器,具有 4 路 A/D输入、 1 路 A/D 输出。
这里该设计利用 PCF8591来实现 ADC 转换数据的功能和连接 IIC 总线的功能。

其引脚 :
1) ANI0~ANI3 为模拟信号输入端,不用时接地。
2) SDA 为 IIC 总线数据输入输出端
3) SDL 为 IIC 总线时钟输入端
4) VREF 为基准电压输入端
其原理为:光敏电阻通过感应外界的光线强度获得数据,通过 PCF8591的ANI0 端口(数据输入端口)输入数据,进行 ADC(模数转换)将感应数据转换成数字数据。

AD/DA 模块和光敏电阻感应模块仿真图如下: