标题:
这一段单片机智能雨刷代码都是什么意思啊?有没有大神帮我简单做段注释,感谢!
[打印本页]
作者:
超级高水瓶
时间:
2021-5-12 14:05
标题:
这一段单片机智能雨刷代码都是什么意思啊?有没有大神帮我简单做段注释,感谢!
#include <REGX52.H>
#include <ADC0832.H>
#include <LCD1602.H>
#include <eeprom52.H>
uchar i=0;
uint dat;
uint dat1=0;
uint dat2=0;
uint dat_value=0;
uint DJ_dat=0,ms=0,ms_1=0;
uchar loop=0;
sbit key_1=P3^2;
sbit key_2=P3^3;
sbit key_3=P3^4;
bit key_1_flag=0;
bit key_2_flag=0;
bit key_3_flag=0;
uint Value=1000;
uint water_h=0;
uint water_l=0;
uchar state=0;
bit star_off=1,zheng_fan=1,s0=0,ir_on=0;
uchar zz[]= //正转数据
{
0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09
};
uchar fz[]= //反转数据
{
0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01
};
void display()
{
LCD1602_write(0,0x80);
LCD1602_writebyte("Water :");
if(dat>99) LCD1602_write(1,0x30+dat/100%10);
else LCD1602_write(1,' ');
if(dat>9) LCD1602_write(1,0x30+dat/10%10);
else LCD1602_write(1,' ');
LCD1602_write(1,0x30+dat%10);
LCD1602_writebyte("% ");
dat_value=dat;
LCD1602_write(0,0xC0);
LCD1602_writebyte("H:");
if(state==1&&s0) LCD1602_writebyte(" ");
else
{
if(water_h>99) LCD1602_write(1,0x30+water_h/100%10);
else LCD1602_write(1,' ');
if(water_h>9) LCD1602_write(1,0x30+water_h/10%10);
else LCD1602_write(1,' ');
LCD1602_write(1,0x30+water_h%10);
}
LCD1602_writebyte("% ");
LCD1602_writebyte("L:");
if(state==2&&s0) LCD1602_writebyte(" ");
else
{
if(water_l>99) LCD1602_write(1,0x30+water_l/100%10);
else LCD1602_write(1,' ');
if(water_l>9) LCD1602_write(1,0x30+water_l/10%10);
else LCD1602_write(1,' ');
LCD1602_write(1,0x30+water_l%10);
}
LCD1602_writebyte("%");
}
void key_dispose()
{
if(key_1==0)
{
LCD1602_delay(20);
if(key_1_flag)
{
key_1_flag=0;
state=(state+1)%3;
}
}
else key_1_flag=1;
if(key_2==0)
{
LCD1602_delay(20);
if(key_2_flag)
{
key_2_flag=0;
if(state==1)
{
if(water_h<100) water_h++;
SectorErase(0x2000);
byte_write(0x2000,water_h);
}
if(state==2)
{
if(water_l<water_h-1) water_l++;
SectorErase(0x2200);
byte_write(0x2200,water_l);
}
}
}
else key_2_flag=1;
if(key_3==0)
{
LCD1602_delay(20);
if(key_3_flag)
{
key_3_flag=0;
if(state==1)
{
if(water_h>water_l+1) water_h--;
SectorErase(0x2000);
byte_write(0x2000,water_h);
}
if(state==2)
{
if(water_l>0) water_l--;
SectorErase(0x2200);
byte_write(0x2200,water_l);
}
}
}
else key_3_flag=1;
}
... ...
复制代码
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1