当前位置: 首页 > news >正文

基于51单片机的温度和液位监测系统(串口传输)

目录

具体实现功能

设计介绍

资料内容

全部内容

资料获取


具体实现功能

具体功能:
(1)检测温度和液位并显示;
(2)可以按键设定报警值,温度或液位超过报警值时声光报警,
(3)温度或液位超过报警值时可以通过串口发送并显示,模拟远程发送功能。

仿真演示视频:

基于51单片机的温度和液位监测系统(串口传输)-仿真视频

设计介绍

51单片机简介

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

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

资料内容

仿真实现(protues8.7)

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

程序(Keil5)

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

主函数如下:

///
void main (void)
{ u8 key;u8 SmokeFlag = false;u8 yewei_cashe;u8 TempFlag = false;u16 wendu_cashe;u8 IntrudeFlag = false;char String[50];char Value[3];Init1602();			  				//调用初始化显示函数UsartInit(); LCD_Write_String(0,0,"System self-test");  //开机界面LCD_Write_String(1,0,"Please wait.....");delay_ms(3000);LCD_Write_String(0,0,"SET T:00   Y:000");  //开机界面LCD_Write_String(1,0,"NOW T:00   Y:000"); while (1)        					//主循环{key=Key_Scan();					//按键扫描yewei=Adc0832(0);				//读取液位值wendu=check_wendu();	  //读取温度值if(key==KEY_SET){Mode++;}switch(Mode)						//判断模式的值{case 0:								//监控模式{Display_1602(yushe_wendu,yushe_yewei,wendu,yewei);  //显示预设温度,预设液位,温度值,液位值if(wendu>=(yushe_wendu*10) && wendu<=800)	  //温度大于等于预设温度值时(为什么是大于预设值*10:因为我们要显示的温度是有小数点后一位,是一个3位数,25.9°C时实际读的数是259,所以判断预设值时将预设值*10){Led_W=0;		  			//打开温度报警灯if(wendu_cashe != wendu){wendu_cashe = wendu;TempFlag = false;}if(TempFlag == false){sprintf(String,"Temperature Alert Start! Value:%2.1f \r\n",wendu*1.0/10);SendStr(String);TempFlag = true;}}else					  					//温度值小于预设值时{Led_W=1;		  			//关闭报警灯if(TempFlag == true){SendStr("Temperature Alert Stop!\r\n");TempFlag = false;}}	if(yewei>=yushe_yewei)	  //液位值大于等于预设值时{Led_Y=0;		  			//液位指示灯亮if(yewei_cashe != yewei){yewei_cashe = yewei;SmokeFlag = false;}if(SmokeFlag == false){Value[0] = 0x30+yewei/100%10;Value[1] = 0x30+yewei/10%10;Value[2] = 0x30+yewei%10;sprintf(String,"Level Alert Start! Value:%s \r\n",Value);SendStr(String);SmokeFlag = true;}}else					  					//液位值小于预设值时{Led_Y=1;		  			//关掉报警灯if(SmokeFlag == true){SendStr("Level Alert Stop!\r\n");SmokeFlag = false;}}if((wendu>=yushe_wendu*10)||(yewei>=yushe_yewei))	{Buzzer=0;			  		 //蜂鸣器报警打开}else{Buzzer=1;			  		 //蜂鸣器报警关闭}break;}case 1://预设温度模式{SelectPosition(0,7) ;					//指定位置write_com(0x0d);							//阴影闪烁if(key==KEY_ADD)							//加键按下{yushe_wendu++;					    //预设温度值(阀值)加1if(yushe_wendu>=99)			 		//当阀值加到大于等于99时yushe_wendu=99;					 		//阀值固定为99LCD_Write_Char(0,6,yushe_wendu,2) ;//显示预设温度}if(key==KEY_MINUS)				 		//减键按下{if(yushe_wendu<=1)					//当温度上限值减小到1时yushe_wendu=1;          		//固定为1yushe_wendu--;							//预设温度值减一,最小为0LCD_Write_Char(0,6,yushe_wendu,2) ;//显示预设温度}break;			  								//执行后跳出switch}case 2:				//预设液位模式{SelectPosition(0,15) ;				//指定位置	write_com(0x0d);							//打开显示 无光标 光标闪烁if(key==KEY_ADD)							//加键按下{if(yushe_yewei>=255)        //当阀值加到大于等于255时yushe_yewei=254;            //阀值固定为254yushe_yewei++;					    //预设液位值(阀值)加1,最大为255LCD_Write_Char(0,13,yushe_yewei,3) ;//显示预设液位}if(key==KEY_MINUS)						//减键按下{if(yushe_yewei<=1)					//当液位上限值减小到1时yushe_yewei=1;          	//固定为1yushe_yewei--;							//预设温度值减一,最小为0	  LCD_Write_Char(0,13,yushe_yewei,3) ;//显示预设液位}break;}default	:	{write_com(0x38);//屏幕初始化write_com(0x0c);//打开显示 无光标 无光标闪烁Mode=0;			//恢复正常模式break;}}}
} 

程序运行结果如图:

全部内容

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

资料获取

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

相关文章:

  • Vue 性能优化
  • kicad运行时出错,_Pnext->_Myproxy = nullptr;访问内存出错
  • 自我实现的量子隐喻:在可能性场域中动态拓展涌现节点
  • 安装前端vite框架,后端安装fastapi框架
  • Multisim仿真Buck电路基本拓扑
  • 进程和线程区别、管道和套接字、共享变量、TCP三次握手,是否可以少一次握手、子进程和主进程区别和API——Nodejs
  • Spring Cloud Gateway 全面学习指南
  • LabVIEW电路板焊点自动检测
  • 力扣刷题(第五十八天)
  • 【测开面试题】八股文总结
  • Kafka 可靠性保障:消息确认与事务机制(二)
  • 路由器端口映射怎么设置?本地固定内网IP给外面网络连接访问
  • MongoDB文档查询:从基础到进阶的探索之旅
  • Flask蓝图
  • AI 社交和AI情绪价值的思考 -延申思考2 -全局记忆
  • LLMs:《WebDancer: Towards Autonomous Information Seeking Agency》翻译与解读
  • PC16550 UART接收中断处理完整示例代码
  • 自定义Spring Boot Starter开发指南
  • python 将字典的值替换为键名作为变量名的形式(带缩进)
  • SCADA|KingSCADA4.0中历史趋势控件与之前版本的差异
  • 上海高端网站建设公/广州百度seo代理
  • 如何用域名访问网站/牛推网
  • 给公司做网站需要什么信息/产品线上营销有哪些方式
  • 网站界面设计 考虑因素/在百度怎么发广告做宣传
  • 设计建设网站公司/上海优化seo公司
  • 音乐网站用什么语言做/站外推广怎么做