探索、思考、创造、分享

数据驱动、坚持为客户提供有价值的服务和内容

当前位置:首页>小程序资讯
【毕业设计】基于单片机的智能饮水机系统
来源:南京小程序开发 发布时间:2023-08-20点击:106

1 简介

Hi,大家好,这里是丹成学长,今天向大家介绍一个 单片机项目

基于单片机的智能饮水机系统设计与实现

大家可用于 课程设计 或 毕业设计


单片机-嵌入式毕设选题大全及项目分享:


2 绪论

2.1 课题背景与目的

这次设计的智能饮水机就是单片机结合传感器的一个应用。

该系统设计综合单片机以及电子技术理论,从生活实际出发,完善了饮水机的功能。整个设计系统实现三个功能,即加热、对温度上下限的控制和定时加热。与传统的饮水机相比,由于采用了自动检测和控制的电子设计技术,可较好地实现对水温的测量和控制,具有较广泛的应用前景。

系统包括温度传感器,键盘输入模块,输出控制模块,数据传输模块,温度显示模块和出水驱动电路等部分。



3 系统设计


3.1 智能饮水机功能设计


智能饮水机具有过热保护防干烧、 加热至沸腾、 设置温度加热、 超温报警提示、 安全锁定、 电动机出水功能等。

3.1.1 智能饮水机的按键功能:

3.1.2 智能饮水机的显示功能:

3.2 系统架构

整个硬件系统由主控制系统、输入输出模块、传感器、其他功能电路和电源部分组成。主控系统使用单片机控制,包括对键盘的信息的接收和控制,对其他功能电路的控制等,通过软件编程实现预定功能;传感器部分即检测子系统,主要是进行饮水机中水的温度检测和控制,采用智能温度传感器DS18B20;其他功能电路部分包括恒温,防干烧,出水等电路,达到功能多样化;电源部分为智能饮水机提供必要的电能,保证饮水机能够正常的工作。

3.3 软件部分

3.3.1 主程序部分

程序的初始化主要包括三个环节:

人机对话功能键设置如下:

// 关键代码
void main()
{
T=100;
while(1)
{
Lock_key();
if(Lock==0)
keyscan();
if(flag2==0)
temp_display();
if(flag2==1)
SEG_display(T,0);
if(temp>=T*10) {Temp_led=0;Hot=1;Hot_led=1;}
if(temp< T*10) Temp_led=1;
if(temp>=1000){Beep=0;Hot=1;Hot_led=1;}
if(temp<1000) Beep=1;
}
}

3.3.2 温度检测

温度检测运用 DS18B20 芯片, 因为其功能全面且精度高, 完全可以满足设计要求, 它将检测到的水温送给单片机, 再由单片机输出给显示电路将实时水温显示出来。

// 关键代码
void init_ds18b20()
{
uchar x=0;
DQ = 1; //DQ 复位
delay_us(10); //稍做延时
DQ = 0; //单片机将 DQ 拉低
delay_us(100); //精确延时 大于 480us
DQ = 1; //拉高总线
delay_us(10);
x=DQ; //稍做延时后 如果 x=0则初始化成功 x=1 则初始化失败
delay_us(20);
}
uchar ReadOneChar()
{
uchar i;
uchar dat=0;
for (i=8;i>0;i--)
{
DQ = 0;
dat>>=1;
DQ = 1; 
if(DQ)
dat|=0x80;
delay_us(10);
}
return(dat);
}
void WriteOneChar(uchar dat)
{
uchar i;
for (i=8; i>0; i--)
{
DQ = 0;
DQ = dat&0x01;
delay_us(10);
DQ = 1;
dat>>=1;
}
}
int ReadTem()
{
int t;
uchar a,b;
init_ds18b20();
WriteOneChar(0xcc); // 跳过读序号列号的操作
WriteOneChar(0x44); // 启动温度转换
delay_us(200);
init_ds18b20();
WriteOneChar(0xcc); //跳过读序号列号的操作
WriteOneChar(0xbe); //读取温度寄存器等
a=ReadOneChar();
b=ReadOneChar();
t=b;
t<<=8;
t=t|a;
return t;
}
void temp_display()
{
uint temp_point;
temp=ReadTem()*0.625; //将温度的高位与低位合并
temp_point=temp%10; //取出小数位
SEG_display(temp/10,temp_point);
}

3.3.3 显示程序设计

显示程序是负责点亮 4 支数码管, 并根据单片机送出的数据及时更新显示的数据, 其程序流程图如下

(大家可以换成oled屏显示)

// 关键代码
void SEG_display(uchar dat1,uchar dat2)
{
P23=1;
P0=table[dat1/100];
P20=0;
delay_us(80);
P20=1;
P0=table[dat1/10%10];
P21=0;
delay_us(80);
P21=1;
P0=table[dat1%10]|0x80;
P22=0;
delay_us(80);
P22=1;
P0=table[dat2];
P23=0;
delay_us(80);
}

3.3.4 键盘扫描程序

键盘扫描程序的任务是在程序运行过程中始终不停的检测是否有按键被按下, 如果检测到有按键被按下, 则进入与该按键对应的程序运行; 若该按键没有被按下, 则继续检测下一个按键, 如此循环, 从而完成每一个按键所对应的功能。

// 关键代码
void keyscan()
{
if(key1==0)
{
delay_ms(2);
if(key1==0)
{
flag=~flag;
if(flag==1)
Out=0;
if(flag==0)
Out=1;
}
while(!key1);
}
if(key2==0)
{
delay_ms(2);
if(key2==0)
{
flag1=~flag1;
if(flag1==1)
{Hot=0;Hot_led=0;}
if(flag1==0)
{Hot=1;Hot_led=1;}
}
while(!key2);
}
if(key3==0)
{
delay_ms(2);
if(key3==0)
{
if(flag2==1) T+=5;
if(T>=101)T=0;
}
while(!key3);
}
if(key5==0)
{
delay_ms(2);
if(key5==0)
{
flag2=~flag2;
}
while(!key5);
}
}
void Lock_key() // 锁定键盘
{
if(key4==0)
{
delay_ms(2);
if(key4==0)
{
Lock=~Lock;
if(Lock==1)
Lock_led=0;
if(Lock==0)
Lock_led=1;
}
while(!key4);
}
}

3.4 实现效果


单片机-嵌入式毕设选题大全及项目分享:


4 最后

  • 上一篇:电脑添加到桌面的小程序怎么删除
  • 下一篇:基于51单片机的八路抢答器汇编语言Proteus仿真原理图程序
  • 版权备注
    最新资讯
    2023-12-08
    微信小程序开发常见问题解答
    (2)选择模板的方式去开发微信小程序,它的开发流程就比较简化,这种开发方式的流程相对简单,当然整个流···
    2023-12-08
    《课题中期报告》PPT模板下载
    《课题中期报告》PPT模板 43页1MB 本文档由 “ 格嫒 ” 提供并上传2021-09-01 ···
    2023-12-08
    蛋糕商家如何为小程序疯狂吸粉,成为人气店铺,诀窍都在这了!
    互联网时代很多蛋糕甜品商家都将视线转向了小程序,临漳县的王先生也是其中之一,他在搭建小程序后,运用五···
    2023-12-08
    微信小程序申请注册会员
    微信小程序是指在微信内部运行的小型应用程序,用户可以通过微信扫描二维码或者搜索小程序名称进入应用程序···
    2023-12-08
    🍉小程序优惠券引流实操
    🍉小程序运营推广引流-优惠券实战篇之前讲了很多小程序推广引流的方法这些方法都只是方向,没经验实操教难···
    随机资讯
    2023-09-08
    快手小程序推广申请入口在哪?赚钱吗?
    现在快手也推出了小程序功能,用户无需下载快手短视频,直接从快手小程序进入即可,但是有的朋友不知道快手···
    2023-08-07
    小程序制作平台有哪些
    小程序制作哪个网站功能比较全?1、前期资质准备在制作小程序的时候,按照主体的不同来对服务类目进行一个···
    2023-08-20
    电脑微信怎么使用小程序
    电脑微信小程序怎么使用微信小程序作为一种轻量级应用,目前已经成为了微信生态圈中一个重要的组成部分。但···
    2023-10-17
    如何做商家微信小程序开发
    怎么做微信小程序商家店铺很多朋友都对小程序开发制作感兴趣,也想拥有自己的小程序店铺,下面小木就来分享···
    2023-08-10
    共享充电宝小程序 共享充电宝小程序开发解决方案
    广州触角科技是华南地区领先的企业数字信息化解决方案专业提供商目前已为广东省公安厅、碧桂园、美的、珠海···
    友情链接: 南京网站建设 南京小程序开发 北京网站建设 网站仿制 深圳小程序开发