智能饮水机51单片机程序
基于单片机的简易净水器放水控制系统

其实,谢是我的一个师父,为人和善,是一个很慈祥的年轻人,在我现在的工作中教会了我很多东西,好了不罗嗦了,要不看官们该烦了,言归正传,其实我的单片机基础也就是三年半以前在学校了解的一点皮毛而已,但我固执的认为终有一天我要成为一名伟大的单片机工程师,也许有人说了单片机工程师有什么好伟大了,想想,好像还真没什么好伟大的,呵呵!那就让我们爱上单片机吧,我综合了一下谢的情况:第一:他有一个24V的电源。
第二:他还有一个工作电压为24V的电磁阀,可作为放水开关。
第三:他有时候想接一壶水,但有时候想接半壶水。
第四:他还想有暂停功能,以及点动功能。
第五:他还想要些工作状态指示灯。
好吧,就这些吧,要是让他提完他的要求,我估计可能就没完!既然他有了电磁阀以及电磁阀的工作电源,那就好办多了,下面我列了一下可能需要的清单:①STC单片机一个---------(谢:申通也出单片机了吗?:呃……)②微动开关若干----------X 若干③LED指示灯若干-------X 若干④PNP型三极管8550一个⑤5V电磁阀一个⑦复位电路(上电复位):0.1uF极性电容、4.7KΩ电阻⑧其他电阻若干。
下面是我在protuse中的仿真图:(图中未画出单片机的时钟电路,复位电路,以及电磁阀的接线)实现功能:①按一下半桶微动开关,谢就可以接到半桶水了。
②按一下一桶微动开关,谢就可以接到一桶水了。
③如果想暂停一下,那就按一下暂停微动开关,在按一次就④如果差一点就满了,那就请按下点动开关吧;如果已经接满水了,但还在放水,请按暂停键或者关闭单片机,本设计的主要原理:延时。
好吧,我把程序贴在这里吧,也好显得我写了些东西,哈哈。
#include<reg51.h>#define key P1sbit K = P2^0; //控制继电器sbit K1= P1^2; //点动放水按键sbit K2= P1^0; //半桶水按键sbit K3= P1^1; //一桶水按键sbit led1=P2^1;//半桶水工作指示灯sbit led2=P2^2;//一桶水工作指示灯sbit led3=P2^3;//点动指示灯sbit led4=P2^4;//暂停指示灯unsigned int count,m,n;unsigned char keyboard,a,b,c;void DelayMs(unsigned int x){unsigned char i;0 0当然下面这一句也会影响到效果的:好了,就这些吧,我觉得我又为我们单片机大家庭争取了一员大将。
基于51单片机的饮水机温度控制系统设计

基于51单片机的饮水机温度控制系统设计摘要:本文设计了一款基于51单片机的饮水机温度控制系统。
该系统主要由传感器、温控模块和51单片机三个部分组成。
在该系统中,传感器主要用于对饮水机中的温度进行实时监测,温控模块则负责根据当前温度情况对加热和制冷设备进行控制,而51单片机则是整个系统的核心控制器。
在本文中,我们首先对饮水机温度控制系统进行了详细分析,并介绍了目前市面上常见的温控技术。
其次,我们详细讲解了本系统中的各个模块的具体实现方式,并通过图表对其进行了进一步说明。
在系统测试方面,我们通过实验验证了系统的稳定性以及实时性,结果表明该系统能够高效、准确地对饮水机中的温度进行控制,并满足用户的需求。
通过本文的分析实验,我们可以得出结论,基于51单片机的饮水机温度控制系统具有以下优点:模块化设计,易于维护和扩展;具有高精度、高稳定性和实时性;集成度高,系统效率高。
本系统可以应用于各种饮水机,以满足不同用户的需求。
关键词:饮水机;温度控制;51单片机;传感器;温控模块Abstract:This paper designs a temperature control system for water dispensers based on 51 MCU. The system consists of three parts: sensors, temperature control module and 51 MCU. In this system, the sensor is mainly used to real-time monitor the temperature of the water dispenser, the temperature control module is responsible for controlling the heating and cooling equipment according to the current temperature situation, and 51 MCU is the core controller of the entire system.In this paper, we first analyzed the water dispenser temperature control system in detail and introduced the common temperature control technologies on the market. Secondly, we explained in detail the specific implementation methods of various modules in this system, and further explained them through charts. In terms of system testing, we verified the stability and real-time characteristics of the system through experiments. The results show that the system can efficiently and accurately control the temperature in the water dispenser and meet the needs of users.Through the analysis and experiments in this paper, we can conclude that the temperature control system for water dispensers based on 51 MCU has the following advantages: modular design, easy maintenance and expansion; high precision, stability and real-time performance; high integration and high efficiency. This system can be applied to various water dispensers to meet the needs of different users.Keywords: water dispenser; temperature control; 51 MCU; sensor; temperature control module.。
基于51单片机的家用水流量计设计毕业设计

目录绪论 (4)一、系统方案 (4)1、方案论证与选择 (4)1.1 电源模块的论证与选择 (4)1.2 水流量传感器模块论证与选择 (4)1.3 温度传感器模块论证与选择 (4)1.4 最小系统模块论证与选择 (5)1.5 显示模块论证与选择 (5)1.6 按键模块论证与选择 (5)1.7 报警部分论证与选择 (5)2 系统设计 (6)3 结构方框图 (6)4 理论分析与计算 (6)二、系统硬件电路设计 (8)1. 单片机最小系统 (9)2. 液晶显示电路 (9)3. 传感器检测电路 (16)3.1 温度传感器模块 (16)3.2 水流量传感器模块电路 (16)4 按键控制模块 (17)5 报警指示模块 (17)三、单片机程序设计 (18)1.模块软件流程图 (18)1.1主程序流程图 (18)1.2水流量传感器控制程序 (21)1.3温度传感器 (22)1.4 LCD液晶显示程序 (24)2.模式软件流程图 (25)2.1 模式一流程图 (25)2.2 模式二流程图 (26)2.3 模块控制流程图 (27)四、电路调试和方法 (28)1 .仪器表和实验材料 (28)2 .检测方法 (29)3.调试结果,问题分析和解决问题方法 (30)3.1硬件系统调试 (30)3.2 软件系统调试 (31)五、实现功能 (19)六、设计总结 (19)致谢 (35)参考文献 (35)基于 51 单片机的家用水流量计设计【摘要】:本设计作为一个家居的智能电子设备,以STC89C52RC 单片机为核心器件,主要研究基于单片机的智能控制和传感器的数据采集与相应的闭环控制系统的构建,电路元件少,制作方便。
单片机通过温度传感器和水流量传感器采集出相应的温度和水流量并在液晶屏幕上显示相应的数字,可以读出使用的水流量和水温,并查看出相应的价格,是一个数字化的智能水流量计。
【关键词】:STC89C52RC单片机;温度传感器;水流量传感器;LCD1602 【Abstract】 As a household intelligent electronic device, this design uses single chip microcomputer STC89C52 as core component, making a primary research on that single chip microcomputer, which is a digital intelligent water meter, can gather relevant temperature and water flow and display corresponding figure on LCD screen and thus we can read water flow and temperature used, check out relevant price based on temperature sensor and water flow sensor and its advantages of intelligent controls of single chip microcomputer, data acquisition of sensor and the construction of closed loop control system. And it possesses few circuit components and convenient making.【Key Words】 STC89C52 ,temperature sensor, water flow sensor绪论当今由于中国经济的腾飞,落后的科技已经不能适应时代的发展,只有不断进步的科技才能推动社会的发展,智能化的家居生活让人们感到身心的放松,本设计是以单片机STC89C52为主控芯片,用来监控不同的家电,智能水表除了可对用水量进行记录和电子显示外,还可以进行自动完成水价的计算,本设计还有一个重大的作用就是可以节约用水,水是生命之源,由于我国的人口众多,所以人均水量非常的贫乏,所以国家提倡节约用水,这款水流量计的设计非常符合中国的国情。
基于51单片机的饮水机水温控制系统的实现

基于51单片机的饮水机水温控制系统的实现作者:张铭源马万国马甲甲来源:《电脑知识与技术》2016年第26期摘要:本系统以STC89C52单片机为核心,实现饮水机饮用水制冷,主要包括DS18B20温度采集、按键操作、单片机控制、继电器驱动、制冷片、数码管数字显示等部分。
本系统通过信息的交互而实现温度设定、控制和显示。
关键词:半导体制冷片;单片机;Ds18B20中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)26-0231-02Realization of the Water Cooler Water Temperature Control System Based on 51 Single Chip MicrocomputerZHANG Ming-yuan1,MA Wan-guo2,MA Jia-jia2(1.Nanjing 29 Middle School, Nanjing 210000, China; 2.Hohai university Wen Tian College, Maanshan 243000, China) Abstract: STC89C52 single-chip microcomputer as the core, Implement water dispenser water cooling ,this system mainly includes the DS18B20 temperature acquisition, button operation, single-chip microcomputer control, relay drivers,refrigeration, such as digital tube digital display part. This system through information interaction of temperature setting, control and display.Key words: Semiconductor refrigeration piece; MCU; Ds18B201 硬件电路设计1.1 控制系统方框图本系统中温度的恒温控制采用STC89C52单片机为核心控制器件,实现对水温在的自动控制。
C51饮水机温度控制

河南机电高等专科学校《C51程序设计》大作业设计题目:基于单片机饮水机温度控制的设计班级:通计092学号:091415207姓名:余坤朋成绩:2011年11月1 设计任务单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。
目前,一个学习与应用单片机的高潮在全社会大规模地兴起。
本文用就是以80C51单片机为例,用我们学习的C51语言,详细全面的介绍一个基于单片机的温度控制系统的工作原理和工作过程。
2电路原理图原理图分析:1,温度检测的设计本系统对温度的提取和转换采用AD590温度传感器,AD590是美国模拟器件公司生产的单片集成两端感温电流源。
它的主要特性如下:a、流过器件的电流(mA)等于器件所处环境的热力学温度(开尔文)度数;即:,式中:Ir—流过器件(AD590)的电流,单位为mA;T—热力学温度,单位为K。
b、AD590的测温范围为-55℃~+150℃;c、AD590的电源电压范围为4V~30V;d、输出电阻为710MW;e、精度高。
2,系统整体分析本系统采用中断技术,每1秒采样一次,温度信号分别从p1.0和p1.1输入,电源接通时,黄灯亮,当温度大于95度时属于正常温度,绿灯亮,小于95度系统自动加热红灯亮。
3 系统流程图4 源程序#define OSC_FREQ 12000000#defineC_1ms(65536-OSC_FREQ/(12000000/980)) #include<reg51.h>#include<stdio.h>sbit p1_0=p1^0;sbit p1_1=p1^1;sbit p1_6=p1^6;sbit p1_7=p1^7;void ledGreen_on();void ledRed_on();void Xinto( void );void Timer_1ms(unit_1ms);void main(){P1=0x00;EA=1;EX0=1;IT0=1;IT1=1;while(1){for(int i=0;i<1000;i++) {Timer_1ms(unit_1ms); }}}void Xint0 (void) interrupt 0 using 3 {if(p1_0==0&&p1_1==0){ledRed_on();}else{ledGreen_on();}}void ledRed_on(){p1_7=1;p1_6=0;}void ledGreen_on(){p1_7=0;p1_6=1;}void Timer_1ms(unit_1ms){TMOD=TMOD&(0x0f)|0x10;TR1=1;while(_1ms--){TH1=C 1ms/256;TL1=C 1ms%256;while(!TF1);TF1=0;}TR1=0;}参考文献《单片机原理及应用》(2008年2月第1版);《单片机C51程序设计与实验》(2006年1月第1版);《电子线路CAD》(2009年8月第1版;。
基于51LPC单片机的智能供水控制器的设计与实现

目录引言--------------------------------------------------------------------------------1 1 系统设计-----------------------------------------------------------------------2 1.1 方案比较----------------------------------------------------------------------------------2 1.1.1 传感器选择方案------------------------------------------------------------------------2 1.1.2 A/D转换方案----------------------------------------------------------------------------2 1.1.3 单片机复位方案------------------------------------------------------------------------2 1.1.4 单片机起振方案------------------------------------------------------------------------3 1.1.5 驱动显示方案---------------------------------------------------------------------------3 1.1.6 电机驱动方案---------------------------------------------------------------------------3 1.1.7 电机选择方案---------------------------------------------------------------------------3 1.2 方案论证-----------------------------------------------------------------------------------3 1.2.1 总体思路---------------------------------------------------------------------------------31.2.2 设计方案---------------------------------------------------------------------------------42 硬件部分-----------------------------------------------------------------------4 2.1 51LPC单片机简介------------------------------------------------------------------------4 2.2 单元模块设计-----------------------------------------------------------------------------4 2.2.1 A/D转换设计----------------------------------------------------------------------------4 2.2.2 起振电路设计---------------------------------------------------------------------------5 2.2.3 数码显示设计---------------------------------------------------------------------------5 2.2.4 电机驱动设计---------------------------------------------------------------------------6 2.2.5 电机控制---------------------------------------------------------------------------------6 2.2.6 报警电路---------------------------------------------------------------------------------82.3 系统整体分析-----------------------------------------------------------------------------83 软件设计-----------------------------------------------------------------------8 3.1 详细流程图--------------------------------------------------------------------------------8 3.1.1 主程序------------------------------------------------------------------------------------9 3.1.2 中断子程序------------------------------------------------------------------------------9 3.1.3 GAODU子程序------------------------------------------------------------------------10 3.1.4 查表子程序-----------------------------------------------------------------------------11 3.1.5 状态子程序-----------------------------------------------------------------------------12 3.1.6 状态控制子程序-----------------------------------------------------------------------154 结论---------------------------------------------------------------------------18 参考文献------------------------------------------------------------------------19 附录------------------------------------------------------------------------------20摘要本设计从分析水位报警器的原理和设计方法入手,主要基于51LPC单片机的硬件电路和语言程序设计,实现一种能够实现水位自动控制、具有自动保护、自动声光报警功能的控制系统。
基于51单片机的饮水机温度控制系统设计

基于51单片机的饮水机温度控制系统设计摘要本文基于51单片机设计了一种饮水机温度控制系统。
该系统通过传感器采集水温数据,并通过51单片机进行处理和控制,实现了对饮水机温度的精确控制。
本文首先介绍了饮水机的发展背景和需求,然后详细介绍了系统的硬件设计和软件实现,最后对系统进行了测试和评估。
实验结果表明,该系统能够稳定地将饮水机温度控制在用户设定的范围内,具有较好的实用性和可靠性。
关键词:51单片机;饮水机;温度控制;传感器;硬件设计;软件实现第一章引言1.1 研究背景随着人们生活条件的改善和健康意识的提高,人们对于生活用品的要求也越来越高。
其中,饮用水是人们日常生活中必不可少的一部分。
然而,在夏季高温时期或者在寒冷冬季,直接喝取自来水可能会给人们带来不适。
因此,在家庭或者办公场所中普遍配备了饮水机,以提供适宜的饮用水温度。
1.2 研究目的本文旨在设计一种基于51单片机的饮水机温度控制系统,通过对水温数据的采集和控制,实现对饮用水温度的精确控制,提高用户体验和生活质量。
第二章系统设计2.1 系统框架本系统主要包括传感器模块、51单片机模块、温度控制模块和显示模块。
传感器模块用于采集水温数据,并将数据传输给51单片机模块。
51单片机通过对接收到的数据进行处理和判断,控制温度控制模块进行相应操作,并将结果显示在显示模块上。
2.2 传感器选择与接口设计为了准确地获取水温数据,本系统选择了一种高精度的数字式温度传感器。
该传感器具有较高的测量精确度和快速响应速度,并且具有较低的功耗。
在接口设计上,采用了I2C总线通信协议来与51单片机进行通信。
2.3 51单片机程序设计为了实现对饮水机温度的精确控制,本系统采用了PID控制算法。
PID控制算法是一种经典的控制算法,具有较好的稳定性和适应性。
在51单片机程序设计中,通过采集传感器数据和计算PID控制器输出,实现对温度控制模块的精确调节。
2.4 硬件设计本系统的硬件设计包括传感器模块、51单片机模块、温度控制模块和显示模块。
基于单片机的智能节能饮水机系统的设计

题目:智能节能饮水机系统的设计目录摘要 (4)前言 (5)第一章智能节能饮水机系统的设计背景 (5)1.1 智能节能饮水机的优势 (5)1.2 智能节能饮水机系统的设计目的 (5)1.3 系统设计的要求 (5)第二章智能节能饮水机系统的设计方案分析 (6)2.1系统总体功能描述 (6)2.2 系统工作原理 (6)2.3设计方案论证 (7)第三章智能节能饮水机系统硬件电路设计 (8)3.1 STC89C52型单片机 (8)3.2 温度检测电路 (8)3.3 液晶显示电路 (10)3.4 水阀继电器控制电路 (11)3.5 红外发射接收对管电路 (12)3.6 加热控制电路 (13)3.7 键盘设置电路 (13)3.8 供电部分 (14)第四章智能节能饮水机系统软件设计 (15)4.1 软件设计思路 (15)4.2 总体软件流程 (15)4.3 按键扫描程序 (17)第五章系统测试与分析 (18)5.1 原件清单 (18)5.2 电路焊接...................................................................................................................... 错误!未定义书签。
5.3 测试与分析.................................................................................................................. 错误!未定义书签。
结论 .. (19)参考文献 (20)附录一: (21)总体硬件设计电路原理图 (21)附录二: ............................................................................................................. 错误!未定义书签。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include reg52.H 51头文件
#include intrins.H
#include math.H 数学函数
#define uchar unsigned char
#define uint unsigned int
sbit rw = P3^6; 读写选择端
sbit RS = P3^5; 数据、命令选择端sbit bin =P3^7; 蜂鸣器
sbit LCDEN = P3^4; 使能
sbit k1=P3^0; 加
sbit k2=P3^1; 减
sbit k3=P3^2; 设置
sbit jd=P3^3; 继电器
sbit red=P1^0; 红外避障unsigned int temp,flag,flag1,biaozh; uchar aa,bb;
void delayUs()
{
_nop_();
}
void delayMs(uint a)
{
uint i, j;
for(i = a; i 0; i--)
for(j = 100; j 0; j--);
}
void writeComm(uchar comm)
{
RS = 0;
P0 = comm;
LCDEN = 1;
delayUs();
LCDEN = 0;
delayMs(1);
}
写数据RS=1, RW=0;
void writeData(uchar dat)
{
RS = 1;
P0 = dat;
LCDEN = 1;
delayUs();
LCDEN = 0;
delayMs(1);
}
void init()
{
rw = 0;
writeComm(0x38);
writeComm(0x0c);
writeComm(0x06);
writeComm(0x01);
}
void writeString(uchar str, uchar length) {
uchar i;
for(i = 0; i length; i++)
{
writeData(str[i]);
}
}
DS18B20
sbit ds = P2^2;
void dsInit()
{
unsigned int i;
ds = 0;
i = 100;
while(i0) i--;
ds = 1;
i = 4;
while(i0) i--;
}
void dsWait()
{
unsigned int i;
while(ds);
while(~ds);
i = 4;
while(i 0) i--;
}
bit readBit()
{
unsigned int i;
bit b;
ds = 0;
i++;
ds = 1;
i++; i++;
b = ds;
i = 8;
while(i0) i--;
return b;
}
unsigned char readByte()
{
unsigned int i;
unsigned char j, dat;
dat = 0;
for(i=0; i8; i++)
{
j = readBit();
dat = (j 7) (dat 1);
}
return dat;
}
void writeByte(unsigned char dat) {
unsigned int i;
unsigned char j;
bit b;
for(j = 0; j 8; j++)
{
b = dat & 0x01;
dat = 1;
if(b)
{
ds = 0;
i++;
i++;
ds = 1;
i = 8;
while(i0) i--;
}
else
{
ds = 0;
i = 8;
while(i0) i--;
ds = 1;
i++; i++;
}
}
}
void sendChangeCmd() {
dsInit();
dsWait();
delayMs(1);
writeByte(0xcc);
writeByte(0x44);
}
void sendReadCmd()
{
dsInit();
dsWait();
delayMs(1);
writeByte(0xcc);
writeByte(0xbe);
}
int getTmpValue()读取温度{
unsigned int tmpvalue;
int value;
float t;
unsigned char low, high;
sendReadCmd();
low = readByte();
high = readByte();
tmpvalue = high;
tmpvalue = 8;
tmpvalue = low;
value = tmpvalue;
t = value 0.0625;
value = t 100 + (value 0 0.5 -0.5); 大于0加0.5, 小于0减0.5 return value;
}
void display(int v)
{
unsigned char count;
unsigned char datas[] = {0, 0, 0, 0, 0};
unsigned int tmp = abs(v);temp=tmp100;
datas[0] = tmp 10000;
datas[1] = tmp % 10000 1000;
datas[2] = tmp % 1000 100;
datas[3] = tmp % 100 10;
datas[4] = tmp % 10;
writeComm(0xc0+3);
if(v 0)
{
writeString(- , 2);
}
else
{
writeString(+ , 2);
}
if(datas[0] != 0)
{
writeData('0'+datas[0]);
}
for(count = 1; count != 5; count++)
{
writeData('0'+datas[count]);
if(count == 2)
{
writeData('.');
}
}
}
DS18B20
void main()
{
uchar table[] = current tempera;
uchar table1[] = set temperature;
flag=29; 设置的温度
flag1=100flag;
sendChangeCmd();
biaozh=0; 标志位
k1=1;k2=1;k3=1;jd=1;
while(red){jd=1;}
while(!red) 当红外避障检测到人体
{
init();
writeComm(0x80);
writeString(table, 16);if(k3==0){while(!k3);P1=0;}
while(biaozh==0)
{ while(red){jd=1;}
flag=flag1100;
delayMs(750); 温度转换时间需要750ms以上
writeComm(0xc0);
display(getTmpValue());
if(temp=flag)当实际温度大于等于设定温度
{
bin=0;蜂鸣器响
jd=1; 继电器关掉
}
if(tempflag){bin=1;jd=0;}
sendChangeCmd();
if(k3==0){while(!k3);biaozh=1;}
}
sendChangeCmd();
init();
writeComm(0x80);
writeString(table1, 16);
while(biaozh==1)
{
while(red){jd=1;}
writeComm(0xc0);
display(flag1);
sendChangeCmd(); if(k3==0){while(!k3);biaozh=0;}
if(k1==0){while(!k1);flag1+=100;}
if(k2==0){while(!k2);flag1-=100;}
}
}
}。