51单片机智能窗帘

51单片机智能窗帘 目录具体实现功能设计介绍51单片机简介资料内容原理图和PCBAD19仿真实现protues8.7程序Keil5全部资料资料获取具体实现功能由51单片机LCD1602液晶步进电机光敏电阻按键模块DS1302时钟模块ADC0832模块电源等构成具体功能1LCD1602显示日期和时间、当前控制模式及光照强度可通过按键切换模式手动模式、定时模式、光控模式2手动模式通过开窗帘和关窗帘键对窗帘进行控制3定时模式通过按键设置开窗帘和关窗帘的时间4光控模式光照强度大于设置值时开启窗帘否则关闭5步进电机正转半圈模拟开窗红色LED灯点亮电机反转半圈模拟关窗红色LED灯熄灭。仿真/实物演示视频51单片机智能窗帘设计介绍51单片机简介51单片是一种低功耗、高性能CMOS-8位微控制器拥有灵巧的8位CPU和可编程Flash使得51单片机为众多嵌入式控制应用系统提供灵活、高效的解决方案。本设计所使用的芯片可兼容以下所有的51系列单片机包括AT系列和STC系列。资料内容原理图AD19本系统原理图设计采用Altium Designer19具体如图。注1请使用Altium Designer19直接打开资料中的工程文件资料中已说明打开方式注2此设计需按照原理图制作实物不可直接烧录到任何开发板中运行需要修改程序仿真实现protues8.7本设计利用protues8.7软件实现仿真设计具体如图。注1请使用protues8.7直接打开资料中的工程文件资料中已说明打开方式注2由于仿真软件限制仿真设计和实物设计无法百分百对应程序Keil5本设计利用KEIL5软件实现程序设计。主函数如下//////////////// /*********************************************************/ // 主函数 /*********************************************************/ void main() { uchar light; LcdInit(); // 执行液晶初始化 DS1302_Init(); // 时钟芯片的初始化 LcdShowInit(); // 液晶显示内容的初始化 if(DS1302_Read_Byte(0x81)128) // 判断时钟芯片是否正在运行 { DS1302_Write_Time(); // 如果没有则初始化一个时间 } while(1) { DS1302_Read_Time(); // 获取当前时钟芯片的时间存在数组time_buf中 FlashTime(); // 刷新时间显示 lightGet_ADC0832(); // 读取光照强度 lightlight/2.5; // 缩小光照检测结果(在0-99) if(light99) // 如果大于99 light99; // 则依然保持99 LcdGotoXY(1,14); // 光标定位 LcdPrintNum(light); // 显示光照强度 KeyScanf1(); // 按键扫描(时间的设置) KeyScanf2(); // 按键扫描(阈值的设置) KeyScanf3(); // 按键扫描(模式切换) /*手动控制模式*/ if(gMode1) { if(KeyDown_P0) // 如果关窗帘键按下了 { if(Led_P0) // 如果窗帘当前是打开的 { Close(); // 则关闭窗帘 } } if(KeyUp_P0) // 如果开窗帘键按下了 { if(Led_P1) // 如果窗帘当前是关闭的 { Open(); // 则打开窗帘 } } } /*时间控制模式*/ if(gMode2) { if((TimeBuff[4]CloseHour)(TimeBuff[5]CloseMinute)(TimeBuff[6]0)) // 如果到了关窗帘的时间 { if(Led_P0) // 如果窗帘当前是打开的 { Close(); // 则关闭窗帘 } } if((TimeBuff[4]OpenHour)(TimeBuff[5]OpenMinute)(TimeBuff[6]0)) // 如果到了开窗帘的时间 { if(Led_P1) // 如果窗帘当前是关闭的 { Open(); // 则打开窗帘 } } } /*光线控制模式*/ if(gMode3) { if(lightgLight) // 当前光线小于设置的阈值 { if(Led_P0) // 如果窗帘当前是打开的 { Close(); // 则关闭窗帘 } } else // 当前光线大于或等于设置的阈值 { if(Led_P1) // 如果窗帘当前是关闭的 { Open(); // 则打开窗帘 } } } DelayMs(100); // 延时0.1秒 } }程序运行结果如图注请使用KEIL C51直接打开资料中的工程文件资料中已说明打开方式全部资料全部资料包括原理图和PCB源文件(AD19)、程序(Keil5)、protues仿真(protues8.7)、设计报告(仅供参考)、仿真视频、开发资料、仿真视频、单片机最小系统介绍等全网最全资料内容如下图所示资料获取https://docs.qq.com/doc/DT0tNSGhzYVhXSmNX