一.硬件方案
本设计运用雨滴传感器感应雨量的大小,把感应信号输给单片机系统,然后通过软件控制雨刷电机根据相应的环境做出不同的转动。
主要由51单片机最小系统+步进电机+1602显示+湿度传感器+ADC0832芯片+按键组成;如图:
二.设计功能
(1)采用lcd1602液晶显示雨水量值。
(2)雨滴传感器检测雨水量,adc0832对雨滴传感器信号ad转换数字信号单片机处理。
(3)有手动模式和自动模式控制两种,手动模式实现开关操作,还可以通过按键调整速度。自动模式下根据雨水量自动控制步进电机的速度,低于下限步进电机停止工作,上限和下限之间步进电机1档(慢速)工作,大于上限步进电机2档(快速)工作。
(4)四个按键:设置、加(切换模式)、减(手动开关)、速度调整(在手动模式下)。
所有资料:
三.设计原理图
(1)原理图主要采用AD软件进行设计,如图:
(2)PCB图如下:
四.软件设计
(1)程序流程图
(2)主程序源码
void main()
{
water_h=byte_read(0x2000);
water_l=byte_read(0x2200);
if(water_h<water_l||water_h>100||water_l<0)
{
water_h=60;
water_l=10;
}
TMOD=0x11;
TH1=0x3c;
TL1=0xb0;
TH0=0x3c;
TL0=0xb0;
ET1=1;
ET0=1;
EA=1;
TR0=1;
TR1=1;
LCD1602_cls();
while(1)
{
==0)
{
==0)
{
==0) loop=0;
while(DJ_dat<180)
{
P1=P1&0xf0|zz[loop];
loop=(loop+1)%8;
==0) DJ_dat++;
==120)loop=0;
=0)
{
P1=P1&0xf0|fz[loop];
loop=(loop+1)%8;
==0) DJ_dat--;
LCD1602_delay(Value);
}
}
else
=0)
{
==0)
==0) loop=0;
while(DJ_dat<180)
{
P1=P1&0xf0|zz[loop];
loop=(loop+1)%8;
==0) DJ_dat++;
==120)loop=0;
=0)
{
P1=P1&0xf0|fz[loop];
loop=(loop+1)%8;
==0) DJ_dat--;
LCD1602_delay(Value);
}
else
{
loop=0; DJ_dat=0;
}
//1毫秒定时
}
全套资料下载链接: