仿真图proteus7.8及以上
程序编译器:keil 4/keil 5
编程语言:C语言
设计编号:S0052
1.主要功能:
基于51单片机的万年历时钟仿真设计
基于51单片机的路灯自动开关控制仿真设计
1、测量环境光强度,如果光照过低,开灯
2、可以通过按键设置阀值,光照低于该阀值表示光照过低
3、LCD显示光照和阀值
4、环境亮度越低,灯光亮度越高
需注意仿真中51单片机芯片是通用的,AT89C51,AT89C52都是51单片机的具体型号,内核是兼容的。相同的原理图里,无论stc还是at都一样,引脚功能都是一样的,程序也是一样的,芯片可以替换为STC89C52/STC89C51/AT89C52/AT89C51等51单片机芯片。
2.仿真设计
开始仿真
打开仿真工程,双击proteus中的单片机,选择hex文件路径,然后开始仿真。开始仿真后LCD1602显示检测到光照强度和默认光照阈值。当前检测到的光照强度是3lx,接近于0,PWM的占空比最小,PNP三极管低电平导通,经过PNP三极管反向后LED灯的亮度接近最亮。
环境光照强度通过光敏电阻的值改变,
上下箭头分别调低和调高光敏电阻的阻值。
通过点击光敏电阻的阻值调整,检测到环境光照强度93Lx,接近于阈值。越接近阈值,单片机控制输出的PWM占空比,PNP三极管低电平导通,PWM经过PNP三极管反向后LED灯的亮度越暗。
高于阈值,单片机控制输出的PWM占空比最大达100%,PNP三极管低电平导通,PWM经过PNP三极管反向后LED灯完全熄灭。
以上仿真结果均符合设计要求。
程序代码
使用keil4或者keil5编译,代码有注释,可以结合报告理解代码含义。