200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 51单片机的智能饮水机控制系统【proteus仿真+程序+原理图】

51单片机的智能饮水机控制系统【proteus仿真+程序+原理图】

时间:2018-08-15 07:21:40

相关推荐

51单片机的智能饮水机控制系统【proteus仿真+程序+原理图】

1、主要功能

该系统由AT89C51单片机+LCD1602模块+DS18B20温度传感器模块+DS1302时间模块+继电器驱动模块+电位器模块构成。适用于智能饮水机智能水杯等相似项目。

可实现功能:

版本一:

1、LCD1602实时显示时间、水杯温度、水位高度、是否出水

2、DS18B20采集水杯温度数据

3、DS1302采集时间数据

4、超声波检测,靠近一定范围自动感应出水

6、水温和水位超过下限时声光报警,对应继电器闭合,自动加热/加水

7、可以通过按键手动加热、加水、清洗

8、可选择冷热水

版本二:

加入模拟GMS、蓝牙、上位机等模块的上传数据功能,按键按下上传实时的温度数据,已加注释,可以手动更改需要上传的数据内容。

2、仿真

protues 仿真使用的是8.10版本,由于该软件版本迭代原因,不能确保其他版本软件能够正常运行,请安装好对应软件(版本一致或者高于这个版本都可以)

版本一:

版本二:

3、程序代码

附上部分代码,仅供参考。

/* 按键控制 */void KEY_Control(void){if(key_scan() == 1)//加水{add_flag =!add_flag;ADD_Water =!ADD_Water;di();}if(key_scan() == 2)//清洗{CLEAN =!CLEAN;di();}if(key_scan() == 3)//加热{HOT =!HOT;di();}if(key_scan() == 4)//冷热水切换{LED3 =!LED3;di();}}/* 主函数 */void main(void){TMOD = 0x11;//配置定时器0为工作方式1,定时器1位工作方式1TH0 = 0;TL0 = 0;TH1 = 0x0EC;//定时5msTL1 = 0x78;EA = 1;//打开总中断ET1 = 1;//打开定时器0中断TR1 = 1;//打开定时器1TR0 = 0;//打开定时器0L1602_init();//屏幕初始化date_init();//时间初始化Ds1302ReadTime();//读取时间TIME[0]&=0X7F;Ds1302Init();//DS1302初始化while(1){display_shuiwei();//显示水位Ds1302ReadTime();//读取时间display_time();//显示时间display_temp();//显示水杯水温if(key_scan() !=0)//判断是否按下按键{KEY_Control();//进行对应按键控制}count_instance();//超声波测算距离,判断是否自动出水}}

4、原理图

5、常见问题汇总

里面包含了我对各个模块的详细解析,可以结合代码一起理解。(不定时更新,讲解模块也会越来越多)

6、资源获取

本项目包含的所有文件都可以在:今天也不想打工,回复“51智能饮水机”获取!

项目纯手打,不是免费的哦~浅浅一杯奶茶的💴

希望可以帮到你哈!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。