文章目录
- 前言
- 一、项目概述
-
- 1.1 系统概述
- 1.2 功能设计
- 二、项目硬件设计
-
- 2.1 AT89C51单片机最小系统
- 2.2 外设电路
- 三、项目软件设计
-
- 3.1 程序代码设计
- 四、项目调试与分析
-
- 4.1 Proteus 仿真调试
- 4.2 结果分析
- 总结
- 附录
前言
一、项目概述
1.1 系统概述
1.2 功能设计
根据以上的需求分析需要如下几个关键模块:光照测量模块、指示灯模块、照明模块、显示模块和 警模块。
- 光照测量模块:在光照检测电路部分,可以通过调节光照强度来模拟实际光照情况,改变光敏电阻阻值,控制LED灯的亮与灭。
- 指示灯和 警模块:系统检测到光照强度高于某一确定值K1时,可以实现蜂鸣器 警,提醒用户此时光照过强,档位指示灯黄灯亮起,表示强档;光照强度低于另一确定值K2时,档位指示灯绿灯亮起,表示弱档,蜂鸣器不启动;光照强度在K1~K2之间时,档位指示灯蓝灯亮起,表示中档。
- 显示模块:采用共阴极数码管显示光照强度,可以直观地告诉用户此时的光照情况。
- 照明模块:当系统位于高档和中档时,LED灯不亮;当系统位于弱档时,LED灯亮,实现照明功能。
系统整体方案设计如下图所示:
2.2 外设电路
- 光照检测模块
光照检测模块核心部分为光敏电阻和ADC0832芯片,通过调节光照,改变光敏电阻阻值大小,通过A/D转换,实现光照检测。
- 照明模块
当光控小夜灯系统置于弱档时,LED灯亮,实现照明功能。
- 显示模块
单片机读取ADC,将模拟信 转化成数字信 ,通过共阴极数码管显示不同时刻的光照强度,可以让用户直观地看到此时的光照情况。
3.1 程序代码设计
- 光照检测模块
光照检测模块采用LDR光敏电阻以及ADC0832芯片,系统开机运行后先对单片机进行初始化,然后单片机通过光照检测读取ADC,将模拟信 转化成数字信 ,从而得到当前光照强度并在共阴极数码管上显示。具体ADC()函数程序代码如下:
- 指示灯、 警、照明模块
通过定时器0中断,实现指示灯、 警、照明功能。定时器0初始化具体程序代码如下:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!