功能:
通过光敏电阻检测当前光强,通过按键设置光强范围来自动控制窗帘开关,同时可以通过按键手动控制窗帘开关,包含的电路有显示电路、按键电路、窗帘电机控制电路、传感器电路、单片机电路等。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #include <reg52.h> #define uchar unsigned char #define uint unsigned int #define yi 0x80 //LCD第一行的初始位置,因为LCD1602字符地址首位D7恒定为1(100000000=80) #define er 0x80+0x40 //LCD第二行初始位置(因为第二行第一个字符位置地址是0x40) uchar display_digit[]={0,0,0}; uchar yuzhi[]={0,0,0}; uchar phasecw[4] ={0x08,0x04,0x02,0x01}; //正转 电机导通相序 D-C-B-A uchar phaseccw[4]={0x01,0x02,0x04,0x08}; //反转 电机导通相序 A-B-C-D sbit R_D=P2^0; sbit W_R=P2^1; sbit C_S=P2^2; sbit Up=P2^3; sbit Down=P2^4; sbit rw=P2^5; //液晶读写端 sbit rs=P2^6; //液晶指令/数据输入控制 sbit en=P2^7; //液晶使能端 sbit AD_data=P1; sbit bianji=P3^4; sbit jia=P3^7; sbit jian=P3^6; uint adval; uint fazhi=180; uchar state=1; //1为窗帘打开,0为窗帘关闭 uchar zhuangtai=1; //1为窗帘打开,0为窗帘关闭 |