基于单片机的家电热水器控制系统设计毕业设计(7)

2019-01-12 12:19

南京工程学院康尼学院本科毕业设计(论文)

序列号,这样才可以对总线上的某个DS18B20进行ROM匹配,将其选中,但是本案例中除了单片机外只有一个DS18B20芯片,所以就跳过了ROM匹配。第一步初始化总线上DS18B2O,首先向总线上的DS18B20发出复位脉冲,这通过将数据线拉低至少480μs来实现,随机单片机等待总线上的DS18B20发回的存在脉冲,DS18B20则从检测复位脉冲的上升沿开始等待15μs后,通过将单总线拉低60μs实现存在脉冲的发送。第二步进行温度转换,首先发送跳过ROM命令,对在线的DS18B20进行温度转换,然后发送温度转换命令,然后等待一段时间。第三步读取总线上DS18B20的温度值,温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。 单片机可通过单线接口读到该数据,读取时低位在前,高位在后。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S =1时,先将补码变为原码,再计算十进制值。 3.2.3电加热继电器控制子程序流程图

开始 取当前温度值 Y 判别当前温度值是否达到设定温度 N P3.6置低电平 P3.6置低电平 结束

图3.3电加热继电器控制子程序框图

首先,单片机会命令温度传感器读取当前温度值,当前温度值没有达到设定温度值时,会给接口P3.6一个高电平,这样继电器就导通加热;反之继电器不导通。

25

南京工程学院康尼学院本科毕业设计(论文)

3.2.4 LED显示程序流程图

开始 输入位选通信号 初始化显示参数

延时

关所有位显示

位选通信号位移

取显示数据

指向下一显示数据

输出断码数据 N 6位显示完?

图3.4 显示程序流程图

返回 Y LED数码管动态显示是一位一位地轮流点亮各位数码管的,因此要考虑每一位点亮的保持时间和间隔时间。保持时间太短,则发光太弱而人眼无法看清;时间太长,则间隔时间也将太长(假设N位,则间隔时间=保持时间X(N-1)),使人眼看到的数字闪烁。在程序中要合理的选择合适的保持时间和间隔时间。而循环次数则正比于显示的变化速度。 3.2.5定时器中断流程图

26

南京工程学院康尼学院本科毕业设计(论文)

开始 置T0中断工作方式 设置定时常数 设置初始状态为 设置秒计数值 中断允许 输出状态位 等待中断 图3.5 定时器中断流程框图

内部计数器在单片机中主要有定时器和计数器两个功能。定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于设置定时器/计数器的工作方式,并确定用于定时还是用于计数。TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。因为中断定时常数的设置对中断程序的运行起到关键作用,所以在设置前要先关对应的中断,置数完之后再打开相应的中断。

3.2.6仿真原理图

27

南京工程学院康尼学院本科毕业设计(论文)

图3.6 数码管显示温度

图3.6显示是温度显示的调试结果图,左边是设定温度,右边是当前温度,设定温度值为最大值75度。

28

南京工程学院康尼学院本科毕业设计(论文)

图3.7数码管显示时间

图3.7显示的是实时时间的调试结果图,在系统工作的时候,实时时间也在跳动。

3.3调试中遇到的问题及解决方法

1. 在仿真过程中,4位数码管只显示设定温度值而不显示当前温度,就换了一个6位数码管来显示设定温度和当前温度,并且利用切换键来显示实时时间。

2.调试中一开始数码管不能正常显示,后来在单片机与数码管之间添加了驱动芯片74LS245,同时将三极管由NPN型替换为PNP型,最终正常显示;

3.在继电器加热电路中由于使用了不匹配的继电器,加热时继电器指示灯不亮,后来换了一个有效的继电器解决了这个问题。

4.一开始准备在单片机芯片外围扩展芯片来显示实时时间的,因为单片机内部有定时器中断,所以直接利用内部中断来显示实时时间。

29


基于单片机的家电热水器控制系统设计毕业设计(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:怎样在Word2003中如何去掉Word页眉横线

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: