基于51单片机的智能调温淋浴器

目录

具体实现功能

设计介绍

资料内容

全部内容

资料获取


具体实现功能

具体功能:

(1)对淋浴器进行调温,水温低则加热,水温高则加冷水,直到到达设定的温度;

(2)淋浴器水箱没水则自动补水;

(3)LCD1602显示当前温度、时间和设定温度;

(4)报警时蓝牙发送时间和温度值(用串口模拟)。

仿真演示视频:

178-基于51单片机的智能调温淋浴器

设计介绍

51单片机简介

51单片是一种低功耗、高性能CMOS-8位微控制器,拥有灵巧的8位CPU和可编程Flash,使得51单片机为众多嵌入式控制应用系统提供灵活、高效的解决方案。

本设计所使用的芯片可兼容以下所有的51系列单片机(包括AT系列和STC系列)。

资料内容

仿真实现(protues8.7)

本设计利用protues8.7软件实现仿真设计,具体如图。

程序(Keil5)

本设计利用KEIL5软件实现程序设计。

主函数如下:

复制代码
///////////////////////////////////////////////////
//*******************主函数**************************
//***************************************************
void main()
{
	P1=0xff;
	lcd_init();      //调用液晶屏初始化子函数
	ds1302_init();   //调用DS1302时钟的初始化子函数
	uart_cfg(); //???4800    ,0xf9
	warn=450;
	warn_L=150;
	warn_H=600;
	while(1)  //无限循环下面的语句:
	{	
		miao = BCD_Decimal(read_1302(0x81));
		fen = BCD_Decimal(read_1302(0x83));
		shi  = BCD_Decimal(read_1302(0x85));
		ri  = BCD_Decimal(read_1302(0x87));
		yue = BCD_Decimal(read_1302(0x89));
		nian=BCD_Decimal(read_1302(0x8d));
		
		write_temp(0,12,warn);//显示温度设定值
		delayms(500);
		//week=BCD_Decimal(read_1302(0x8b));     //不读取,直接通过日期计算得到
		//显示温度、秒、时、分数据: 
		if(wd)
		{ 
			flag=ReadTemperature();
			write_temp(1,10,flag);//显示温度,从第二行第12个字符后开始显示
			delayms(500);
		}
		KEY();
		Alarm();
		if(low==0)
		{
			motor=0;
		}
		if(high==0)
		{
			motor=1;
		}
		write_sfm(6,miao);//秒,从第二行第8个字后开始显示(调用时分秒显示子函数)
		write_sfm(3,fen);//分,从第二行第5个字符后开始显示
		write_sfm(0,shi);//小时,从第二行第2个字符后开始显示
		//显示日、月、年数据:
		write_nyr(9,ri);//日期,从第二行第9个字符后开始显示
		write_nyr(6,yue);//月份,从第二行第6个字符后开始显示
		write_nyr(3,24);//年,从第二行第3个字符后开始显示
  }
}

程序运行结果如图:

全部内容

全部资料包括程序(keil5)、protues仿真(protues8.7)、设计说明、答辩PPT、开发资料、资料使用介绍、仿真视频、最小系统介绍视频等。

资料获取

https://docs.qq.com/doc/DT3VtZXNUYVRqQWJ3

相关推荐
LCG米2 小时前
STM32硬件CRC外设实测:多项式固定陷阱、CRC-32校验不匹配根因与软件查表法耗时对比落地
stm32·单片机·嵌入式硬件
La Pulga6 小时前
【FreeRTOS源码学习笔记】任务切换
单片机·mcu·学习·嵌入式·freertos·实时操作系统
女神下凡9 小时前
芯参谋(85):Linux_PPI_NAND_驱动开发指南
linux·运维·arm开发·驱动开发·单片机·嵌入式硬件·设计规范
硅基手札11 小时前
【Linux 内核专栏 19】20 · 嵌入式子系统 — GPIO·pinctrl·clock·regulator
linux·运维·单片机·linux内核·嵌入式开发·调试定位
何粥学13 小时前
Vivado 2024.2 开发记录(AC820 Zynq-7020)——软件使用,点亮led灯
单片机·嵌入式硬件·zynq
Sakura_j_h_14 小时前
51 单片机驱动四位数码管:动态扫描、限流电阻与消影的取舍
单片机·嵌入式硬件·51单片机·嵌入式·数码管·动态扫描·限流电阻
HANDY0920015 小时前
从“不照人”到“剂量达标”:扇叶遮挡式UV-C空气消毒的工程边界与可验证评估框架
开发语言·人工智能·嵌入式硬件·智能家居
飞凌嵌入式18 小时前
千次静电放电试炼,守住飞凌嵌入式硬件可靠底线
嵌入式硬件
蹊黎1 天前
Linux 下用 C 语言实现进度条
linux·c语言·单片机
无敌贵点大王1 天前
从寄存器层面重学STM32(6)——串口USART实战部分
stm32·单片机·嵌入式硬件