实现参考功能
(1)可实时显示年月日、时分秒、光照强度和控制模式;
(2)可通过手动控制窗帘的开启和关闭;
(3)可通过设置开启和关闭时间来控制窗帘;
(4)可通过检测光照强度的亮暗来控制窗帘;
(5)使用步进电机的正传和反转来模拟窗帘的开启和关闭;
包含仿真、程序、开题报告、原理图、PCB、实物焊接图、程序注释等等一套完善的资料。
【资源下载】下载地址如下:
/doc/DTlRSd01BZXNpRUxl
#include <reg52.h>#include <intrins.h>#define uchar unsigned char// 以后unsigned char就可以用uchar代替#define uint unsigned int// 以后unsigned int 就可以用uint 代替sbit ADC_CS= P1^6; // ADC0832的CS引脚sbit ADC_CLK = P1^7; // ADC0832的CLK引脚sbit ADC_DAT = P3^2; // ADC0832的DI/DO引脚sbit SCK_P= P1^0;// 时钟芯片DS1302的SCK管脚sbit SDA_P= P1^1;// 时钟芯片DS1302的SDA管脚sbit RST_P= P1^2;// 时钟芯片DS1302的RST管脚sbit LcdRs_P = P1^3; // 1602液晶的RS管脚 sbit LcdRw_P = P1^4; // 1602液晶的RW管脚 sbit LcdEn_P = P1^5; // 1602液晶的EN管脚sbit KeyMode_P = P3^3;// 模式切换sbit KeySet_P = P3^4;// 设置时间按键sbit KeySet2_P = P3^5;// 设置时间模式的开关时间和光照控制强度sbit KeyDown_P = P3^6;// 减按键sbit KeyUp_P = P3^7;// 加按键sbit Led_P= P2^0;// 指示灯uchar gMode=1;// 1是手动模式,2是时间自动模式,3是亮度自动模式uchar OpenHour = 18;// 开启窗帘的小时uchar OpenMinute = 20;// 开启窗帘的分钟uchar CloseHour = 10;// 关闭窗帘的小时uchar CloseMinute = 30;// 关闭窗帘的分钟uchar gLight= 40;// 窗帘开关的阈值uchar code Clock[]={0x10,0x20,0x40,0x80}; // 步进电机顺时针旋转数组uchar code AntiClock[]={0x80,0x40,0x20,0x10};// 步进电机逆时针旋转数组