首页 基于lcd1602温度报警器

基于lcd1602温度报警器

举报
开通vip

基于lcd1602温度报警器带液晶显示的温度报警器田婷王洁王娟王君梅1、显示温度值画面2、显示走时画面3、显示温度上下限值画面1、报警功能2、按键功能3、画面切换4、附加功能功能任务与要求voidmain(){TMOD=0x01;TH0=15536/256;TL0=15536%256;TR0=1;EA=1;ET0=1;lcd_init();diy();while(1){key();anjian();read_temp;been();ds1820disp();}}主函数开始定时器初始化Lcd初始化自定义字符按键切换画面读取温度蜂鸣器模块显示温度...

基于lcd1602温度报警器
带液晶显示的温度报警器田婷王洁王娟王君梅1、显示温度值画面2、显示走时画面3、显示温度上下限值画面1、报警功能2、按键功能3、画面切换4、附加功能功能任务与要求voidmain(){TMOD=0x01;TH0=15536/256;TL0=15536%256;TR0=1;EA=1;ET0=1;lcd_init();diy();while(1){key();anjian();read_temp;been();ds1820disp();}}主 关于工期滞后的函关于工程严重滞后的函关于工程进度滞后的回复函关于征求同志党风廉政意见的函关于征求廉洁自律情况的复函 数开始定时器初始化Lcd初始化自定义字符按键切换画面读取温度蜂鸣器模块显示温度采集温度处理送lcd显示显示温度值画面温度采集函数入口DS18B20复位存在否ROM操作命令(0xcc)RAM操作命令(0x44)延时等待DS18B20复位存在否ROM操作命令(0xcc)RAM操作命令(0xbe)数据传输YNYN温度采集函数入口read_temp(){uchara,b;ds1820rst();ds1820wr(0xcc);//*跳过读序列号*/ds1820wr(0x44);//*启动温度转换*/ds1820rst();ds1820wr(0xcc);//*跳过读序列号*/ds1820wr(0xbe);//*读取温度*/a=ds1820_read();b=ds1820_read();wendu=b;wendu<<=8;wendu=wendu|a;if(wendu<0x0fff)flag_zf=0;else{wendu=~wendu+1;flag_zf=1;}wendu=wendu*(0.625);//温度值扩大10倍,精确到1位小数return(wendu);}**读取温度值并转换**显示温度设置°CWendu/1000+0x30取百位数Wendu%1000/100+0x30取十位数wendu%1000/100/10+0x30取个位数设置小数点位wendu%10+0x30取十分位数显示wendu判断温度符号标志位==0Y不显示符号显示‘—’号百位数==0显示不显示0百位数==0显示不显示0YNNYN显示走时画面定时1s到秒加1秒是否到60秒清0分加1分是否=60分清0时加1时=24时间清0,日加1YNYNYNY返回N利用定时器实现1s定时,(定义标志位flag_1s来判断定时时间是否到),拆字voidchaifen(void){disbuf[0]=hou/10+48;disbuf[1]=hou%10+48;disbuf[2]=':';disbuf[3]=min/10+48;disbuf[4]=min%10+48;disbuf[5]=':';disbuf[6]=sec/10+48;disbuf[7]=sec%10+48;显示温度上下限值画面unsignedchardisbuf1[16]={"HIGHis:"};unsignedchardisbuf2[16]={"LOWis:"};keynum==1,进入此画面voiddisplay(){unsignedchari;wr_com(0x80);for(i=0;i<16;i++){if(keynum==1)wr_dat(disbuf1[i]);}wr_com(0xc0);for(i=0;i<16;i++){if(keynum==1)wr_dat(disbuf2[i]);}按键切换画面定义一变量unsignedcharkeynum,通过判断keynum的值来选择对应的画面Keynum==0进入开机画面Keynum==1进入温度显示画面Keynum==2进入时间显示画面Keynum==3进入温度上下限值画面Keynum==4进入结束画面;Keynum==0voidanjian(){if(!k2){high++;if(high>99){high=0;}}if(!k3){low++;if(low>20){low=0;}}}sbitk2=P3^3;sbitk3=P3^4;Ucharhigh=23^0;Ucharlow=10^0;按键自加上下限温度上限自加一判断K3是否按下上限值>99上限值清零判断K2是否按下下限自加一下限值>20下限值清零返回Keynum==2YYNN报警功能sbitsound=P2^0;voidbeen(){if(tvalue/10high){sound=0;delay1ms(500);sound=1;}elsesound=1;蜂鸣器报警延时500ms判断温度是否过限蜂鸣器停止报警开始返回附加功能3、一轮结束画面1、开机画面2、校时校分wr_com(0x87);//显示位置for(num=0;num<3;num++){wr_dat(tab5[num]);}wr_com(0xc7);//显示位置for(num1=0;num1<3;num1++){wr_dat(tab6[num1]);}delay1ms(3000);unsignedcharcodetab1[]={0x00,0x06,0x0f,0x1f,0x1f,0x1f,0x1f,0x1f,0x00,0x00,0x00,0x11,0x1b,0x1f,0x1f,0x1f,0x00,0x0c,0x1e,0x1f,0x1f,0x1f,0x1f,0x1f,0x0f,0x07,0x03,0x01,0x00,0x00,0x00,0x00,0x1f,0x1f,0x1f,0x1f,0x1f,0x0e,0x04,0x00,0x1e,0x1c,0x18,0x10,0x00,0x00,0x00,0x00};开机画面unsignedcharcodetab5[]={0x01,0x02,0x03};unsignedcharcodetab6[]={0x04,0x05,0x06};一轮结束画面unsignedcharcodedisbuf5[16]={"everyoneis"};unsignedcharcodedisbuf7[16]={"NO.one!"};keynum==4进入开机画面wr_com(0xc0);for(i=0;i<16;i++){if(keynum==4)wr_dat(disbuf5[i]);}unsignedchari;wr_com(0x80);for(i=0;i<16;i++){if(keynum==4)wr_dat(disbuf7[i]);}校时校分Keynum==3校时校分返回判断K2是否按下判断K3是否按下YYNNif(keynum==2){if(k2==0)delay1ms(15);if(k2==0){while(!k2);hou++;}if(k3==0)delay1ms(15);if(k3==0){while(!k2);min++;}}谢谢
本文档为【基于lcd1602温度报警器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
机构认证用户
希望图文
公司秉着用户至上的原则服务好每一位客户,专注课件、范文、教案设计制作
格式:ppt
大小:3MB
软件:PowerPoint
页数:18
分类:其他高等教育
上传时间:2022-05-05
浏览量:3