基于单片机的水温控制系统毕业设计(编辑修改稿)内容摘要:
线保持高电平,这样也允许在变换期间其它数据在单总线上传送。 此外,在单单片机的水温控制 9总线上可以并联多个 DS18B20,而且如果它们全部采用外部电源工作方式,那么通过发出相应的命令便可以同时完成温度变换。 图 29 DS18B20 供电方式 2 ( 4) DS18B20 设计中应注意的几个问题 DS18B20具有测温系统简单、测温精度高、连接方便、占用接口线少等优点 , 但在实际应用中也应注意以下几方面的问题 : 较小的硬件开销需要相对复杂的软件进行补偿 , 由于 DS18B20 与微处理器间采用串行数据传送。 因此 , 在对 DS18B20 进行读写编程时 , 必须严格的保证读写时序 , 否则将无法读取测温结果。 在 DS18B20 有关资料中均未提及 1Wire上所挂 DS18B20数量问题 , 容易使人误认为可以挂任意多个 DS18B20, 在实际应用中并非如此。 当 1Wire上所挂 DS18B20超过 8个时 , 就需要考虑微处理器的总线驱动问题 , 这一点在进行多点测温系统设计时要加以注意。 连接 DS18B20的总线 电缆是有长度限制的。 实际应用中 , 测温电缆线建议采用屏蔽 4芯双绞线 , 其中一对线接地线与信号线 , 另一组接 VCC 和地线 , 屏蔽层在源端单点接地。 本文以广泛应用的数字温度传感器 DS18B20为例 , 说明了 1Wire总线的操作过程和基本原理。 事实上 , 基于 1Wire总线的产品还有很多种 , 如 1Wire总线的 E2PROM、实时时钟、电子标签等。 他们都具有节省 I/O资源、结构简单、开发快捷、成本低廉、便于总线扩展等优点 , 因此有广阔的应用空间 , 具有较大的推广价值。 本设计将温度传感器 DS18B20与单片机 TXD引脚相连,读取温 度传感器的数值。 DS18B20与单片机连接图如图所示 210所示。 单片机的水温控制 10 图 210 DS18B20 与单片机连接图 电源电路 采用 L7805稳压块,输出为 5V。 电子组件要正常运作都需要电源电压供电,一般常用的电源电压为 +5V或 +12V,因为数字 IC ( Ingegrated Circuit:集成电路)所供给的电压为 +5V, 而 CMOS IC所供给的电压为 +12V, 7805是一个稳压块。 7805稳压管把高电压转换到低电压, 7805稳压管具有保护单片机 的作用。 L7805输出端要并联上一个电解电容,滤除交流电干扰,防止损坏单片机系统。 本设计采用两种供电方式,一种为 DC7~18V直流稳压电源变换成 5V的直流电;另一种为四节干电池共 6V经二极管加压后得到将近 5V的直流电源,电源配以开关和指示灯,以方便使用。 黄色发光二极管表示保温,红色的表示加热状态。 V C CD2I N 4 00 71122J22PGND2+ V C C 12 V1GND3J1电源座+ V C C 12 VD1I N 4 00 7IN1GND2OUT3U1L 78 0 5( 大 )12+ C122 0 U FV C CR11K1 2D3LED VCC EA/VP 31 X1 19 X2 18 RESET 9 RD 17 WR 16 INT0 12 INT1 13 T0 14 T1 15 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE/P 30 TXD 11 RXD 10 U2 AT80C51 DQ 2 GND 1 VCC 3 U3 DS1820 VCC R15 单片机的水温控制 11 图 211 系统电源设计图 报警电路设计 同时可以在系统里设定温度上限值,由于加热停止后,加热管还有余热当采集到的外界温度高于当前所设定温度上限值时,程序就会进入报警子程序,触发蜂鸣器进行报警。 报 警电路原理图如图所示。 VC CR 1 94 .7 KE1C3B2Q48 5 5 0FM 1B E L LP 2 .7 图 212 报警电路 图 图中的三极管 8550的作用是增加驱动能力,比 9012的驱动电流还大些,因此选用8550。 当程序进入报警子程序时,把 0,就会触发蜂鸣器, 为了使报警声音效果更好,对 , 发出报警 嘟噜 声音。 继电器是常用的输出控制接口,可以做交直流信号的输出切换。 它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种 “ 自动开关 ”。 故在电路中起着自动调节、安 全保护、转换电路等作用。 继电器控制接点操作说明如下: ●COM : Common,共同点。 输出控制接点的共同接点。 ●NC : Normal Close常闭点。 以 Com为共同点, NC与 COM在平时是呈导通状态的。 ●NO : Normal Open常开点。 NO与 COM在平时是呈开路状态的,当继电器动作时, NO与 COM导通, NC与 COM则呈开路状态。 当 89S52的 ,继电器不导通,反之当输出低电平时,继电器导通,这样就激活了连接回路。 单片机的水温控制 12 图 213 单片机控制继电器电单片机的水温控制 13 3 系统总设计 本系统采 用的是循环查询方式,来显示和控制温度的。 主要包括四段程序的设计:DS18B20读温度程序,数码管的驱动程序,键盘扫描程序,以及抱经处理程序。 自 动 加 热。 设 置 温 度。 NYNY温 度 ‘ + ’ 温 度 ‘ ’ 设 置 完 成。 N NY Y N加 热控 制开 始初 始 化读 D 1 8 B 2 0温 度 转 换显 示 温 度加 热 温 度 设 置 8 0 ℃预 设 温 度 + 5 预 设 温 度 5Y单片机的水温控制 14 实 测 温 度 = 预 设 温 度 保 温 指 示 灯 亮 , 停 止 加 热 加 热 指 示 灯 亮 , 开 始 加 热设 置 温 度。 温 度 ‘ + ’预 设 温 度 加 5 温 度 ‘ ’预 设 温 度 减 5设 置 完 成。 加 热控 制实 测 温 度 预 设 温 度加 热控 制读 1 8 B 2 0温 度 转 换显 示 温 度实 测 温 度 = 预 设 温 度 加 热 指 示 灯 亮 , 开 始 加 热实 测 温 度 预 设 温 度保 温 指 示 灯 亮 , 停 止 加 热YYYNNYYNNNNNYY图 31 主程序流程 图单片机的水温控制 15 各个模块的流程图 读取温度 DS18B20模块的流程 由于 DS18B20采用的是一根数据线实现数据的双向传输,而对 AT89S52单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软 件的方法来模拟单总线的协议时序来完成对 DS18B20芯片的访问。 DS18B20单线通信功能是分时完成的,它有严格的时隙概念。 因此系统对 DS18B20的各种操作必须按协议进行。 操作协议为:初始化 DS18B20(发复位脉冲) → 发 ROM功能命令 → 发存储器操作命令 → 处理数据 DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点, DS18B20必须首先调用启动温度转换函数,根据数据手册上对应转换时间来超作,如为 12位转换,则应该是最大 750mS,另外在对 DS18B20超作时,时序要求非常严格 ,因此最好禁止系统中断。 由于 DS18B20是在一根 I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。 DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。 该协议定义了几种信号的时序:初始化时序、读时序、写时序。 所有时序都是将主机作为主设备,而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。 数据和命令的传输都是低位在先。 DS18B20的读时序: ( 1)对于 DS18B20的读时序分为读 0时序和读 1时序两个过程。 ( 2)对于 DS18B20的读时隙是从主机把单总线拉低之后,在 15秒之内就得释放单总线 ,以让 DS18B20把数据传输到单总线上。 DS18B20在完成一个读时序过程,至少需要 60us才能完成。 DS18B20的写时序 : ( 1)对于 DS18B20的写时序仍然分为写 0时序和写 1时序两个过程。 ( 2)对于 DS18B20写 0时序和写 1时序的要求不同,当要写 0时序时,单总线要被拉低至少 60us,保证 DS18B20能够在 15us到 45us之间能够正确地采样 IO总线上的 “0” 电单片机的水温控制 16 平,当要写 1时序时,单总线被拉低之后,在 15us之内就得释放单总线。 系统程序设计主要包括三部分:读出温度子程序、温度转换命令子程序、显示温度子程序。 开 始初 始 化D S 1 8 B 2 0 存 在 吗。 R O M 操 作 命 令存 储 操 作 命 令读 取 温 度 值返 回YN 图 32 读取温度 DS18B20 模块的流程 图 程序代码为: GET_TEMPER: SETB DQ。 读出转换后的温度值 LCALL INIT_1820。 先复位 DS18B20 JB FLAG1,TSS2 RET。 判断 DS1820 是否存在 ?若 DS18B20 不存在则返回 TSS2: MOV A,0CCH。 DS18B20 已经被检测到 !!!!!!!!!!!!!!!跳过 ROM 匹配 LCALL WRITE_1820 MOV A,44H。 发出温度转换命令 LCALL WRITE_1820 LCALL DISPLAY。 这里通过调用显示子程序实现延时一段时间 ,等待 AD转换结束 ,12 位的话 750 微秒 LCALL INIT_1820。 准备读温度前先复位 MOV A,0CCH。 跳过 ROM 匹配 LCALL WRITE_1820 MOV A,0BEH。 发出读温度命令 单片机的水温控制 17 LCALL WRITE_1820 LCALL READ_18200。 将读出的温度数据保存到 35H/36H RET 键盘扫描处理流程 此流程为键盘扫描处理, CPU通过检测各数据线的状态 (0或 1)就能知道是否有按键闭合以及哪个按键闭合。 键盘管理程序的功能是检测是否有按键闭合,如果有按键闭合,消除抖动,根据键号转到相应的键处理程序,按键流程图如图 33所示。 开 始温 度 设 置 键 是 否 按 下 ?调 设 置 功 能 子 程 序温 度 + 5 键 是。基于单片机的水温控制系统毕业设计(编辑修改稿)
相关推荐
钟频率微调和稳定的作用,因此,在本时钟系统的的实际应用中一定要正确的选择参数 ( 30 3 PF) ,并保证对称性(尽可能匹配),选用正牌厂家生产的瓷片或云母电容,如果可能的话,温度系数要尽可能地低。 实验表明,这两个电容元件对时钟的 走时误差有很大的关系。 基于单片机的液晶屏显示的电子时钟设计 3 图 2 系统时钟电路 复位电路 随着微电子技术的的飞速发展,单片机的性能迅速提高,在运算
BB A, 3CH MOV 30H, A SETB EX0 ; 开外部中断 0 POP ACC POP PSW RETI 对于一个平坦的目标,距离测量包括两个阶段 :粗糙的测量和精细测量。 第一步:脉冲的传送产生一种简单的超声波。 第二步:根据公式改变回波放大器的获得量直到回拨被检测到。 第三步:检测两种回波的振幅与过零时间。 第四步:设置 回波放大器的所得来规格输出,假定是 3伏。
阻呈指数关 系减小、具有负温度系数的热敏电阻现象和材料。 它 的 主要材料 是 锰、 镍和铜等金属氧化物, 采用陶瓷工艺制造而成的。 这些金属氧化物材料都具有半导体性质,在导电方式上完全类似锗、硅等半导体材料。 随着温度的升高,载流子数目增加,所以电阻值降低 ; 当 温度低时 ,这些氧化物材料的载流子(电子和孔穴)数目少,所以其电阻值较高。 NTC 热敏电阻器在室温下的 电阻 变化范围 一般 在
作方便。 错误 !使用“开始”选项卡将 标题 1,章标题 (有序号 ) 应用于要在此处显示的文字。 错误 !使用“开始”选项卡将 标题 1,章标题 (有序号 ) 应用于要在此处显示的文字。 3 2 汽车超速报警系统设计方案的选择 设计要求 我们要求设计一个具有数字显示功能的单片 机系统,实现车辆当前速度输出,当达到公路限定速度值时蜂鸣器报警,提醒驾驶员减速,以保证驾驶人员及行人的人身安全。
按功能可分为两大类,即通用译码器和显示译码器。 本设计中的 74138 译码器是一种通用译码器,它是用 TTL与非门组成的 3线- 8线译码器。 74138 译码器结构图如 图 35 所 示。 74138译码器的 三个输入端 CBA 共有 8种状态组合( 000— 111) ,可译出 8 个输出信号 Y0— Y7。 这种译码器设有三个使能输入端,当 G2A与 G2B均为 0,且 G1为 1时
号由 1到 0下落生产时时,记数器的价值加 1,在这工作之下,每个机器周期 5SP2期间,继续采样对外在输入。 如果在第一个机器周期的采撷价值是 1,但是在下个机器周期的采撷是 0的价值,是在下个周期的 S3P1期间记数器的以下关闭加 1。 由于区别 1到 0跃迁需要 2个机器周期,因此, oscilation 频率的最高的计数率 1/24。 为了保证采样准确性,请求输入级维护一个完全周 期