基于51单片机及ds18b20温度传感器的数字温度计程序内容摘要:
若测量值是负值 { if((temp+temp_d*)=min)//当测量值大于最小值时报警 {w=1。 TR1=1。 } if((temp+temp_d*)min)//当测量值小于最小值时不报警 {w=0。 } } } } if(f_max==1) //若下限值是负值 { if(f_min==1) //若下限值是负值 { if(f==1) //若测量值是负值 { if((temp+temp_d*)=max||(temp+temp_d*)=min) {w=1。 TR1=1。 } //当测量值小于最大值或大于最小值时报警 if((temp+temp_d*)minamp。 amp。 (temp+temp_d*)max) {w=0。 } //当测量值小于最小值且 大于最大值时不报警 } if(f==0){w=1。 TR1=1。 } //若测量值是正值时报警 } } } endif /********************************************************************** * 程序名。 __keyscan_H__ * 功 能: ds18b20键盘头文件,通过键盘设定设定上下限报警温度 * 编程者: ZPZ * 编程时间: 2020/10/2 **********************************************************************/ ifndef __keyscan_H__ //定义头文件 define __keyscan_H__ sbit key1=P2^2。 //可位寻址变量定义,用 key1表示 sbit key2=P2^1。 //用 key2表示 sbit key3=P2^0。 //用 key3表示 sbit key4=P3^3。 //用 key4表示 uchar i=0。 //定义全局变量 i用于不同功能模式的选择,‘ 0’正常模式,‘ 1’上限调节模式,‘ 2’下限调节模式 uchar a=0。 //定义全局变量 a用于不同模式下数码管显示的选择 bit k4=0。 //K4按键双功能选择位, k4=0时 K4按键选择消按键音的功能, k4=1时 K4按键选择正负温度设定功能 bit v=0。 //K K3按键双功能选择位, v=0时选择上下限查看功能, v=1时选择上下限温度加 减功能 bit v1=0。 //v1=1时定时 1250ms 时间到自动关闭报警上下限查看功能 bit v2=0。 //消按键音功能调整位,为‘ 0’时开按键音,为‘ 1’时关按键音 /***************************读键盘延时子函数 **************************/ void keyscan_delay(uint z) //延时 1ms 左右 { uint i,j。 for(i=z。 i0。 i) for(j=120。 j0。 j)。 智笔记 7 } /****************************温度调节函数 ******************************/ int temp_change(int count,bit f) //上下限温度调整 { if(key2==0) //判断 K2是否按下 { if(v2==0)beer=0。 //v2=0开按键音,否则消按键音 keyscan_delay(10)。 //延时 10ms if(key2==0) //再次判断 K2是否按下(实现按按键时消抖 ) { beer=1。 //K2按下关按键音 if(f==0) //若温度为正 { count++。 //每按一下 K2温度上调 1 if(a==1){if(count125) count=125。 }//当温度值大于 125时不上调 if(a==2){if(count125) count=125。 } } if(f!=0) //若温度为负 { count++。 //每按一下 K2温度下调 1 if(a==1){if(count55) count=55。 }//当温度值小于 55时不再下调 if(a==2){if(count55) count=55。 } } } while(key2==0)。 keyscan_delay(10)。 //K2松开按键时消抖 } if(key3==0) { if(v2==0)beer=0。 keyscan_delay(10)。 if(key3==0) //K3按按键时消抖 { beer=1。 count。 //每按一下 K3温度为正时下调 1,为负时上调 1 if(a==1){if(count0) count=0。 }//当温度值达到 0时不再调 if(a==2){if(count0) count=0。 } } while(key3==0)。 keyscan_delay(10)。 //K3松开按键时消抖 } return count。 } /*****************************读键盘函数 ******************************/ void keyscan() { if(key1==0) { if(v2==0) beer=0。 keyscan_delay(10)。 if(key1==0) //K1按按键时消抖 { beer=1。 TR1=1。 //开定时器 1,通过 s 标志位的变化,实现在上下限温度调整时温度显示时闪烁的功能 k4=1。 //在上下温度调节功能模式下选 择 K4的调整上下限温度正负的功能 v=1。 //在上下温度调节功能模式下选择 K K3的温度加减功能 i++。 //K1按一下 i加 1, i=‘ 0’进入正常模式, i=‘ 1’进入调上限模式, i=‘ 2’进入调下限模式 if(i2) //K1按下三次后退出调节模式 { i=0。 //进入正常模式 TR1=0。 //关定时器 1 智笔记 8 k4=0。 //在正常模式下选择 K4的消按键音功能 v=0。 //在正 常模式下选择 K K3的查看上下限报警温度功能 store_t()。 //存储调整后的上下限报警温度 } switch(i) //显示选择 { case 0:a=0。 break。 //a=0选择显示测得的温度 case 1:a=1。 break。 //a=1 选择显示上限温度 case 2:a=2。 break。 //a=2 选择显示下限温度 default:break。 } } while(key1==0)。 //K1松按键时消抖 keyscan_delay(10)。 } if(a==1amp。 amp。 v==1) //a=1选择显示上限温度且 v=1时选择上下限温度加功能 {led=0。 max=temp_change(max,f_max)。 }//显示上限温度 else if(a==2amp。 amp。 v==1) //a=2选择显示下限温度且 v=1时选择上下限温度减功能 {led=1。 min。基于51单片机及ds18b20温度传感器的数字温度计程序
相关推荐
系统硬件电路的设计 为使硬件电路设计尽可能合理,应注意以下几方面: ( 1) 尽可能采用功能强的芯片,以简化电路,功能强的芯片可以代替若干普通芯片,随着生产工艺的提高,新型芯片的的价格不断下降,并不一定比若干普通芯片价格的总和高。 ( 2)留有设计余地。 在设计硬件电路时,要考虑到将来修改扩展的方便。 因为很少有一锤定音的电路设计,如果现在不留余地
者方便用户对现有事件作出一定的修改或者删除。 ( 3) 课程管理模块:在课程管理模块中需要有星期的标识,在某一天记录课程时,需要对这门课程的时间有一定的显 示,还有作业的情况方面的提醒,其他的增添删除操作基本同日程管理模块类似。 ( 4) 设置界面模块:其中包含了一些对界面的设置以及对日程的设置选项。 ( 5) 关于信息模块:其中包含了一些本软件的设计信息及使用的一些基本信息。
write_1602dat(Error[j])。 } ThreeAlam()。 //错误提示 pass=0。 ReInputEn=0。 //关闭重置功能, ReInputCont=0。 DisplayChar()。 break。 } } if(i==6) { //DisplayListChar(0,1,ResetOK)。 write_1602(er)。 for(j=0。 j16。 j++) {
并召开 ) 制定整体策划、执行时间表(甘特图) 活动项目策划流程 : 参 与 人 员 工 作 内 容 成 果 初次策划会议 联络人、 项目组、策划、 执行、销售 、 讲师 ★ 当地市场背景、经销商需求; ★ 培训活动目标、培训课程内容 ; ★ 培训活动地点、时间、受训人群、方式 等内容 ; ★ 宣传内容设计(喷绘、展架等) ; ★ 做出活动效果预估。 ★ 撰写初步活动方案 ★ 设计宣传内容 ★
,数秒即可完成一片。 ( 8) 具有 EEPROM 功能。 5 ( 9) 具有 看门狗 功能。 ( 10) 共 3个 16位 定时器 /计数器。 即 定时器 T0、 T T2。 ( 11) 外部中断 4路, 下降沿中断或低电平触发电路, Power Down模式可由 外部中断低电平触发 中断方式 唤醒。 ( 12) 通用异步 串行口 ( UART),还可用定时器 软件 实现多个 UART。 (
第四条 甲方的权利 1.要求 乙方 按时完成授课,维护授课时的教学秩序 等。 2.组织学生对授课质量进行评议,并根据学生的评议对授课内容及人员进行调整。 3.有权根据自身情况对课时进行调整,对授课内容进行变更,但必须提前通知 乙方。 第五条 甲方的义务 硬笔书法课: 30 元人民币 /课时的授课报酬(学生一对一); 60 元人民币 /课时的授课报酬(小班级教学:八人以下); 软笔书法课: 50