毕业论文
计算机论文
经济论文
生物论文
数学论文
物理论文
机械论文
新闻传播论文
音乐舞蹈论文
法学论文
文学论文
材料科学
英语论文
日语论文
化学论文
自动化
管理论文
艺术论文
会计论文
土木工程
电子通信
食品科学
教学论文
医学论文
体育论文
论文下载
研究现状
任务书
开题报告
外文文献翻译
文献综述
范文
AT89S52单片机智能热水器控制系统的设计+源代码+电路图(4)
按键程序设计思想:系统开始运行时,扫描键盘,单片机开始查询是否有键盘按下,没有按下,则操作别的,若有再检测是否是加按键按下,若是则水温加一,如果是减键按下,则水温减去一。程序框图如图11所示。
按键处理时,必定有一定的抖动,这可能引起单片机的误判,为了解决这样的问题有两种可靠的方法可以选择:
(1)硬件去抖动,在按键处加一个电容,通过硬件设计好电容的充放电时间常数,不能太大,不然按键不能灵敏。
(2)软件延时去抖动,先判断是否有键按下,再用5ms-10ms延时函数,然后再检测该键是否被按下,如若有按下就调用相关的子程序[8,9]。这种方法简单易行,只需加入一个延时子程序即可达到要求,所以本文主要采用这种方法。
3.2 温度采集程序设计
显示程序前必须进行初始化等处理,还有几个通用的子程序,在使用之前可以直接调用。
初始化过程:初始化—ROM的操作命令—存储器的操作命令—处理数据
① DS18B20数据线上所有操作均初始化。初始化框图如图12所示。
② ROM 操作命令
总线上检测出DS18B20时,就能够发出ROM操作指令[10]。这一过程如下表1所示。
表1 ROM操作命令
指令 代码
Read ROM(读ROM) [33H]
Skip ROM(跳过ROM) [CCH]
Match ROM(匹配ROM) [55H]
Search ROM(搜索ROM) [F0H]
Alarm search(告警搜索) [ECH]
③ 存储器操作命令,如表2所示。
表2 存储器操作命令
指令 代码
Write Scratchpad(写暂存存储器) [4EH]
Read Scratchpad(读暂存存储器) [BEH]
Copy Scratchpad(复制暂存存储器) [48H]
Convert Temperature(温度变换) [44H]
Recall EPROM(重新调出) [B8H]
Read Power supply(读电源) [B4H]
图12 DS18B20初始化框图
3.3 显示模块和报警程序设计
显示器为LCD1602,能显示两行字符,显示时第一行分别为当前、报警、设定字符,第二行是当前水温。当检测的温度送入显示之前,首先也需要初始化,然后再调用显示子程序来显示要显示的数字和字母。通过按键设定的温度也能在显示器上显示,如果当前温度大于报警温度,就启动报警,会一直响,直到温度低于报警温度。若按键输入的温度大于当前检测值时,就启动加热模块,设定温度低于当前温度,则不做处理。这样水温就可以保持在设定值范围。LCD显示流程图如图13所示。
图13 LCD显示流程图
3.4 主程序设计
单片机开始运行时,首先检测水温,如果没有其他操作时,就会一直显示水温,系统默认的设置温度是45℃,水温也会保持这个温度。若水温大于上限时,蜂鸣器一直响,直到水温降低。并通过处理,把结果显示在液晶显示器上,若正常时,则检测键盘是否有按下,通过程序延时,确认是否有按键按下,如果有则判别是加键还是减键按下,并进入相应的处理程序,当水温低于设定值时,电加热丝开始加热(由于条件有限,本次使用的是LED灯,灯亮代表加热电路),使其温度达到设定温度。按键设定并显示,KEY键第一次按键是选择功能键,再次按下时是报警温度、设定温度,第三次按下时是确认。按键设置采用的是查询方式,程序编写比较容易。
共5页:
上一页
1
2
3
4
5
下一页
上一篇:
AT89S52单片机的自学习红外遥控器设计+源代码+电路图
下一篇:
PLC即时车流量控制系统设计+梯形图
单片机数字红外测距系统设计+电路图+程序
动车组滚动轴承FCM智能诊断研究
基于51单片机自动门智能控制系统设计
STC89C52单片机智能温度监测系统设计
STC89C52单片机盲人用时钟的设计+电路图+程序
动车组滚动轴承SVM智能诊断研究
粉料称重装置的单片机控...
浅谈传统人文精神茬大學...
浅谈新形势下妇产科护理...
国内外无刷直流电动机研究现状
多元化刑事简易程序构建探讨【9365字】
中国古代秘书擅权的发展和恶变
辩护律师的作证义务和保...
谷度酒庄消费者回访调查问卷表
《醉青春》导演作品阐述
拉力采集上位机软件开发任务书
高校网球场馆运营管理初探【1805字】