代码实现功能 通过液晶LCD1602液晶实时显示瞬时流量和累计流量、实时温度、设置的累计流量。 通过按键设置累计流量阈值,如果累计流量超过设置阈值,蜂鸣器报警、继电器断开,否则不报警继电器闭合。 unsigned long PluNum=0;//检测速度转化来的脉冲量 unsigned long time_ms; //定时器计数 float ShunShi=0; //瞬时流量 float LeiJi=0; //累计流量 float setNum=1.5; //设置流量值 char dis0[16]; //显示更新暂存 char dis1[16]; //显示更新暂存 unsigned char dealFlag=0; //处理速度标志 bit rekey =0; //防止重复 unsigned char ReadTempFlag=0;//定义读时间标志 int temp1;//温度读取值 float temperature; //实际温度 void Init_Timer0(void); //函数声明 /*------------------------------------------------ 主函数 ------------------------------------------------*/ void main (void) { Init_Timer0(); //定时器0初始化 EX0=1; //外部中断0开 IT0=1; //边沿触发 EA=1; //全局中断开 LCD_Init(); //初始化液晶 DelayMs(20); //延时有助于稳定 LCD_Clear(); //清屏 buzzer=0;relay = 0;DelayMs(200);buzzer=1;relay = 1;//蜂鸣器继电器 上电动作下方便检测硬件 while (1) //主循环 { if(dealFlag==1) //定时处理流速 { dealFlag=0; ShunShi=(float)PluNum*0.00223*2;//计算瞬时流量 一个脉冲代表0.00223ml 3s处理一次 LeiJi=LeiJi+(float)PluNum*0.00223; //累计计算累计流量 ReadTempFlag++; if(ReadTempFlag>=2)//读取温度标志 { ReadTempFlag=0; temp1=ReadTemperature();//读取温度 temperature=(float)temp1*0.0625; //温度值转换 } sprintf(dis0,"S:%4.2fL/s %4.1f C",ShunShi,temperature); //打印 LCD_Write_String(0,0,dis0); //显示 瞬时流量 LCD_Write_Char(14,0,0xdf); //显示温度符号 sprintf(dis1,"L:%4.1fL %4.1f ",LeiJi,setNum); //打印 LCD_Write_String(0,1,dis1); //显示累计流量 PluNum=0;//清空计数 if(LeiJi>setNum) //对比设置和实际值 {buzzer=0;relay = 1;} //蜂鸣器报警 断开继电器 else {buzzer=1;relay = 0;} //关闭蜂鸣器 闭合继电器 } if((key1 == 0)||(key2 == 0))//有按键情况下 { if(rekey == 0) { DelayMs(10); if(key1 == 0) //按键1按下 { rekey =1;//防止重复按下 if(setNum<99 xss=removed xss=removed u6309键2按下 { rekey =1;//防止重复按下 if(setNum>0.1) //设置值-- setNum = setNum - 0.1; } } } else { rekey = 0;//防止重复按下 } } }
- 1
- 粉丝: 5
- 资源: 924
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 智能驾驶系统开发、感知开发
- 2010-2023年新质生产力原始数据.xlsx
- 2010-2023年新质生产力测算dofile.do
- 2010-2023年新质生产力测算结果.dta
- 2010-2023年新质生产力原始数据.dta
- 基于springboot的考研资讯平台lw+ppt
- 毕业设计源码:银行排队与VIP管理系统:C语言下的银行业务流程模拟
- 全新整理-地级市人口就业与工资数据(1978-2022年).xlsx
- 毕业设计源码:航空客运订票系统的C语言实现及应用
- 爬取猫眼电影Top 100榜单:从入门到实战
- d0961c726laceac2a53668f45c1beb67.mobileconfig
- 工业控制领域的新一代智能工控系统网络安全合规解决方案解析
- C语言基于控制台图形绘制技术实现动态圣诞树打印
- Python编程教学中基于print()函数实现名片格式化输出
- Java环境中基于Eclipse的多项目联合编译解决方案与实现方法详解
- 程序设计IP地址查询设计