赞
踩
本设计是基于51单片机智能电饭堡系统设计,主要实现以下功能:
1.lcd1602液晶显示当前模式:煮饭、保温、煮粥 温度 煮饭时间、定时时间
2.DS18B20温度传感器采集当前温度
3.上电后液晶第一行闪烁提醒表示选择当前模式
Cook Rice 煮饭模式; Keep Warm:保温 ; Cook Congee 煮粥模式;
4.液晶第一行不在闪烁表示进入相应的模式
5.不同模式下相应的LED指示灯常亮;继电器闭合, 加热片进行加热,时间到后蜂鸣器滴滴低进行提醒;
6.煮饭模式下:20S模拟20分钟;(方便演示)
7.煮粥模式下:30S模拟30分钟;(方便演示)
8.保温模式下:温度低于50度,继电器闭合进行加热,温度超过60度停止加热
9.单独长按下第二个按键进入定时模式,液晶第二行闪烁, 第三个按键加,第四个按键减;
10.再次常按第二个按键退出定时设置模式进行倒计时,倒计时结束后开始进入相应的模式
主要硬件组成:
51单片机+LCD1602液晶显示+按键设置+LED指示灯+蜂鸣器+继电器+加热片+DS18B20温度传感器
部分代码:
{
if(MODE==0)
{
for(i=0;i<11;i++)lcd_write_char(i,0,TEXT1[i]);
}
else if(MODE==1)
{
for(i=0;i<11;i++)lcd_write_char(i,0,TEXT2[i]);
}
else if(MODE==2)
{
for(i=0;i<11;i++)lcd_write_char(i,0,TEXT3[i]);
}
}
}
void DisplayTemperature(void)//显示温度
{
lcd_write_char(11,0,' ');
lcd_write_char(12,0,temperature/10+'0');//显示温度十位
lcd_write_char(13,0,temperature%10+'0');//显示温度个位
lcd_write_char(14,0,0xdf); //显示圆圈
lcd_write_char(15,0,'C');
}
void DisplayTime(bit shanshuo)
{
lcd_write_char(0,1,'T');
lcd_write_char(1,1,'i');
lcd_write_char(2,1,'m');
lcd_write_char(3,1,':');
if(MODE==1)//保温模式下不需要显示时间
{
lcd_write_char(4,1,'-');
lcd_write_char(5,1,'-');
}
else
{
lcd_write_char(4,1,HeatingTime/10+'0');
lcd_write_char(5,1,HeatingTime%10+'0');
}
lcd_write_char(6,1,' ');
lcd_write_char(7,1,'M');
lcd_write_char(8,1,'A');
lcd_write_char(9,1,'A');
lcd_write_char(10,1,':');
if(MAA_Flag==0) //没有打开预约定时标志,则不显示定时时间
{
lcd_write_char(11,1,'-');
lcd_write_char(12,1,'-');
lcd_write_char(13,1,':');
lcd_write_char(14,1,'-');
lcd_write_char(15,1,'-');
}
else //预约定时打开了才显示定时时间
{
lcd_write_char(11,1,MAA_Time/3600/10+'0');//显示定时的小时的十位
lcd_write_char(12,1,MAA_Time/3600%10+'0');
if(shanshuo)lcd_write_char(13,1,' ');else lcd_write_char(13,1,':');
lcd_write_char(14,1,MAA_Time%3600/60/10+'0');
lcd_write_char(15,1,MAA_Time%3600/60%10+'0');
}
}
void LED_MODE(void)//模式指示灯
{
if(MODE==0){LED1=0;LED2=LED3=1;HeatingTime=20;}
if(MODE==1){LED2=0;LED1=LED3=1;HeatingTime=0;}
if(MODE==2){LED3=0;LED1=LED2=1;HeatingTime=30;}
}
void keyscan(void)//按键扫描
{
long keyCount=0;
bit once=0;
if(key1 == 0)//模式切换键
{
delay_ms(20);//消抖
if(key1 == 0)
{
while(key1 == 0);//等待按键松开
relay = 1;//先关闭继电器
RemindTime=0;
MAA_Flag=0;
MAA_Time=0;
本项目包含的所有文件都可以点击下面的名片,发送 “ 45、基于51单片机智能电饭堡系统设计 ” 获取!
项目纯手打,不是免费的哦~
希望可以帮到你哈!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。