毕业设计-基于AT89S51单片机的智能温度控制系统设计.doc_第1页
毕业设计-基于AT89S51单片机的智能温度控制系统设计.doc_第2页
毕业设计-基于AT89S51单片机的智能温度控制系统设计.doc_第3页
毕业设计-基于AT89S51单片机的智能温度控制系统设计.doc_第4页
毕业设计-基于AT89S51单片机的智能温度控制系统设计.doc_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西安工程大学本科毕业设计(论文) 摘摘 要要 随着电子产品向智能化和微型化的不断发展,单片机已成为电子产品研制和 开发中使用较为广泛的控制器。为了更好地推广单片机在实际生活和生产中的 应用,本文介绍一种应用 at89s51 单片机设计的空调智能温度控制系统。 该系统通过温度传感器多点采集温度取其平均值后反馈给单片机,单片机 通过采集到的平均值与内设的温度值进行比较,来决定运行冬天模式还是夏天 模式。在智能模式下,系统启动后,会根据选择的冬天或夏天模式自动调节到 人体最适温度,调节室温。实现了温度的自动控制,同时也达到了一定的节能 目的。在手动模式下,系统启动后,在冬天或夏天模式中均可运行加热或制冷 模式,温度的高低由设定值决定。而加热和制冷模式的运行,取决于设定值与 平均值的比较。通过数码管实时显示出当前的温度。本文根据任务要求从理论 出发,设计思路,最终实现了任务要求。 关键词:单片机,温度控制,智能化 西安工程大学本科毕业设计(论文) abstract with the development of electronic products in intelligentialize and microminiaturization,single chip microcomputer has become the most widely uesd controller in the research and development of electronic products.for popularizing the single chip microcomputers use in our lives and produce better,this article introduces one kind of intelligent temperature control system based on at89s51. this system feedback different temperature which collected by temperature transmitter to the single chip microcomputer.then single chip microcomputer compares the different temperature to deside using which mode.winter or summer and heating or refrigerating.when the system works,it will controls the temperature to make people feel comfortable by different modes.by this way system comes true the purpose that intelligence.on the other hand it can saving energy.by nixie tube,people can know the temperature at the same time.this article according to the mission requirement,designs the project,finally realized the mission requirement. key words: single chip microcomputer,temperature control,intelligentize 西安工程大学本科毕业设计(论文) 目 录 前 言.1 第 1 章 系统方案的确立.2 1.1 系统方案的确立2 1.2 本设计采用的方案2 1.3 系统原理框图2 第 2 章 系统方案的设计.4 2.1 系统的功能4 2.2 单片机最小系统电路4 2.2.1 电源电路 5 2.2.2 复位电路 5 2.2.3 晶振电路 5 第 3 章 系统硬件电路设计.7 3.1 主控芯片7 3.1.1 at89s51 单片机的主要性能特点 7 3.1.2 at89s51 单片机的管脚说明 8 3.1.3 at89s51 单片机的中断系统 .10 3.2 各模块的硬件设计.12 3.2.1 电源模块 .12 3.2.2 温度采集模块 .13 3.2.3 显示模块 .16 3.2.4 按键模块 .18 3.2.5 加热及制冷电路模块 .18 第 4 章 系统软件设计20 4.1 protel99se 简介 20 4.1.1 电路原理图编辑器 .20 4.1.2 原理图元件库编辑器 .21 4.1.3 protel 99se gerbe 输出文件后缀名定义 .21 西安工程大学本科毕业设计(论文) 4.2 keil 的简介 22 4.3 系统程序流程图.23 第 5 章 总结与展望28 参考文献.29 致 谢30 附录:电路原理图.31 附录:主程序程序代码.32 附录:ds18b20 子程序代码 .35 西安工程大学本科毕业设计(论文) 1 前 言 本课题研究一种基于单片机的空调智能温度控制系统,该系统能根据环境 温度自动调节室内温度,让人们有一个舒适的生活和工作环境。 随着社会的发展,科技的进步,以及测温仪器在各个领域的应用,智能化 已是现代温度控制系统发展的主流方向。特别是近年来,温度控制系统已应用 到人们生活的各个方面,但温度控制一直是一个未开发的领域,却又是与人们 息息相关的一个实际问题。针对这种实际情况,设计一个温度控制系统,具有 广泛的应用前景与实际意义。 在日常生活中,人们为了拥有一个更舒适的生活环境,往往需要室内拥有 一个合适的温度,而单片机的准确性高、价格低、功耗低等一系列优点,可结 合升温和降温设备,有效的应用到实际生活中。 第一代空调温控器主要是电气式产品,空调温控器的温度传感器采用双金 属片或气动温包,通过“给定温度盘”调整预紧力来设定温度,风机三速开关 和季节转换开关为泼档式机械开关。这类空调温控器产品普遍存在“温度设定 分度值过粗”、“时间常数太大”、“机械开关易损坏”等问题。 第二代空调温控器为电子式产品,温度传感器采用热敏电阻或热电阻,部 分产品的温度设定和风速开关通过触摸键和液晶显示屏实现人机交互界面,冷 热切换自动完成,运算放大电路和开关电路实现双位调节。这类智能空调温控 器产品改善了人机交互界面,解决了“温度设定分度值过粗”等问题,但仍存 在“控制精度不高”、“时间常数大”、“操作较复杂”等问题。 目前国内外生产厂家正在研究开发第三代智能型室温空调温控器,个厂家 积极响应国家的政策,应用新型控制模型和数控芯片实现智能控制。这一生产 带动电子行业的发展。 本课题研究一种基于单片机的空调智能温控系统,该系统分为两种模式,即 冬天模式和夏天模式。在每种模式下再分为两种模式,即加热模式和制冷模式。 通过两个温度传感器多点采集温度,通过温度平均值与设定值比较选择模式, 当温度低于某一温度时,实行冬天模式,当温度高于某一温度时,实行夏天模 西安工程大学本科毕业设计(论文) 2 式。 第 1 章 系统方案的确立 1.1 系统方案的确立 考虑到本设计要使用温度传感器,在单片机电路设计中,最常见的一种方 法是,使用多个ds18b20采集多点温度值,然后将各点温度值反馈给单片机,单 片机读取温度值并进行相应运算,决定空调采用哪种模式,再对加热器或压缩 机发出相应指令,即可满足设计要求。 1.2 本设计采用的方案 本方案以at89s51单片机为控制核心,以智能温度传感器ds18b20为温度测 量元件,对多点进行温度测量。对采集到的温度值取平均值,再与设定的人体 最适温度进行比较,来决定空调采用哪种模式。温度由两位数码管显示。配有 按键,可以改变空调的模式及温度。 1.3 系统原理框图 初始方案原理框如图1-1所示。 图1-1 最初方案原理框图 考虑到温度多变,不同的人群对温度需求不同的问题,故给系统加上了按 键,以便于人们对空调的模式和温度的高低进行实时的个性化调节,满足个人 ds18b20 ds18b20 at89s51 加热器 压缩机 西安工程大学本科毕业设计(论文) 3 的需求。再加上温度显示,人们对于温度的调节可以更加精确。 最终方案原理框图如图1-2所示。 图1-2 最终方案原理框图 按键 at89s51ds18b20 ds18b20 加热器 压缩机 两位数码管 西安工程大学本科毕业设计(论文) 4 第 2 章 系统方案的设计 2.1 系统的功能 本系统是基于单片机的空调智能温度控制系统,拥有冬天模式和夏天模式, 在每种模式下又分为加热模式和制冷模式。系统以 at89s51 单片机为核心, ds18b20 为温度测量元件,附有数码管显示当前温度值,有按键可改变当前模 式以及温度。 系统通过 ds18b20 采集到多点温度值,取其平均值。空调内设定两个温度 值(18c 和 28c)。当平均值低于 18c 时,空调采用冬天模式,默认下 运行加热模式,当加热至 22c 时停止加热,延时五分钟后若平均值低于 22 c,则继续加热到 22c 时再停止,否则不加热并继续延时 5 分钟,如此循环 下去。当平均值高于 28c 时,空调采用夏天模式,默认下运行制冷模式,当 温度降至 26c 时停止制冷,延时五分钟后若平均值高于 26c,则继续制冷 到 26c 时再停止,否则不制冷并继续延时 5 分钟,如此循环下去。 该系统配有按键,可改变空调的模式,以及温度高低。当空调自动运行冬 天模式或夏天模式时,若开关 s1 闭合则此时进入手动模式。手动模式下,温度 高低由人为设定,温度传感器采集到的数据平均值与设定值比较,当平均值高 于设定值时,运行制冷模式,温度降至设定值后停止制冷,并延时 5 分钟,然 后再判断温度是否高于设定值,否则停止制冷并继续延时 5 分钟,是则继续制 冷,如此循环下去。当平均值低于设定值时,运行加热模式,温度升至设定值 后停止加热,并延时 5 分钟,然后在判断温度是否低于设定值,否则停止加热 并继续延时 5 分钟,是则继续加热,如此循环下去。 系统原理图见附录 2.2 单片机最小系统电路 因为该系统是以单片机为控制核心,故必有组成单片机最小系统的电路, 西安工程大学本科毕业设计(论文) 5 即电源电路、复位电路、晶振电路。 2.2.1 电源电路 电源模块使用 l7805cv 芯片,电源模块如图 2-1 所示。 vin 73 gnd 74 vout 75 u2 l7805c v c 4 220uf c 5 470uf c 8 0.01uf c 6 0.01uf c 7 0.01uf +12vvc c 图2-1 单片机电源模块 2.2.2 复位电路 at89s51的复位输入端为rst,高电平有效。当振荡器复位器件时,要保持 rst脚两个机器周期的高电平时间。如图2-2,当摁下摁键s4时,rst输入高电平, 单片机复位。为了可靠,再加上一只0.luf的电容以消除干扰、杂波。复位电路 如图2-2所示。 c 3 10pf vc c r 5 1k s4 图2-2 单片机复位电路 2.2.3 晶振电路 单片机的 xtal1 和 xtal2 分别为用作片内振荡器的反向放大器的输入和输 西安工程大学本科毕业设计(论文) 6 出。这个振荡器可以使用石英晶体,也可以使用陶瓷谐振器。c1 和 c2 的数值 要一样,不管使用的是晶体还是谐振器。最佳的数值与使用的晶体或谐振器有 关,还与杂散电容和环境的电磁噪声有关。数据手册中给出了针对晶体选择电 容的一些指南。对于陶瓷谐振器,应该使用厂商提供的数值。本系统的晶振设 计采用典型电路,晶振两端接 30pf 左右的电容。晶振电路如图 2-3 所示。 y1 12m hz c 1 30pf c 2 30pf 图2-3 单片机晶振电路 西安工程大学本科毕业设计(论文) 7 第 3 章 系统硬件电路设计 3.1 主控芯片 本系统采用at89s51单片机作为主控芯片。 at89s51是一个低功耗,高性能cmos 8位单片机,片内含4k bytes isp(in- system programmable)的可反复擦写1000次的flash只读程序存储器,器件采用 atmel公司的高密度、非易失性存储技术制造,兼容标准mcs-51指令系统及 80c51引脚结构,芯片内集成了通用8位中央处理器和isp flash存储单元, at89s51在众多嵌入式控制应用系统中得到广泛应用。外加atmel公司现在已经 停产了89cxx系列的单片机,考虑到购买问题,故选择at89s51单片机。 3.1.1 at89s51 单片机的主要性能特点 (1) 4k bytes flash片内程序存储器;集成度高、体积小、可靠性高; (2) 128 bytes的随机存取数据存储器(ram); (3) 32个外部双向输入/输出(i/o)口; (4) 5个中断优先级、2层中断嵌套中断; (5) 6个中断源; (6) 2个16位可编程定时器/计数器; (7) 2个全双工串行通信口; (8) 看门狗(wdt)电路; (9) 片内振荡器和时钟电路; (10)与mcs-51兼容; (11)全静态工作:0hz-33mhz; (12)三级程序存储器保密锁定; (13)可编程串行通道; (14)低功耗的闲置和掉电模式。 西安工程大学本科毕业设计(论文) 8 3.1.2 at89s51 单片机的管脚说明 vcc:电源电压输入端。 gnd:电源地。 p0 口:p0 口为一个 8 位漏级开路双向 i/o 口,每脚可吸收 8ttl 门电流。 当 p1 口的管脚第一次写 1 时,被定义为高阻输入。p0 能够用于外部程序数据 存储器,它可以被定义为数据/地址的低八位。在 fiash 编程时,p0 口作为原 码输入口,当 fiash 进行校验时,p0 输出原码,此时 p0 外部必须被拉高。 p1 口:p1 口是一个内部提供上拉电阻的 8 位双向 i/o 口,p1 口缓冲器能 接收输出 4ttl 门电流。p1 口管脚写入 1 后,被内部上拉为高,可用作输入, p1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 flash 编程和校验时,p1 口作为第八位地址接收。 p2 口:p2 口为一个内部上拉电阻的 8 位双向 i/o 口,p2 口缓冲器可接收, 输出 4 个 ttl 门电流,当 p2 口被写“1”时,其管脚被内部上拉电阻拉高,且 作为输入。并因此作为输入时,p2 口的管脚被外部拉低,将输出电流。这是由 于内部上拉的缘故。p2 口当用于外部程序存储器或 16 位地址外部数据存储器 进行存取时,p2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉 优势,当对外部八位地址数据存储器进行读写时,p2 口输出其特殊功能寄存器 的内容。p2 口在 flash 编程和校验时接收高八位地址信号和控制信号。 p3 口:p3 口管脚是 8 个带内部上拉电阻的双向 i/o 口,可接收输出 4 个 ttl 门电流。当 p3 口写入“1”后,它们被内部上拉为高电平,并用作输入。 作为输入,由于外部下拉为低电平,p3 口将输出电流(ill)这是由于上拉的 缘故。p3 口除了作为普通 i/o 口,还有第二功能: p3.0 rxd(串行输入口) p3.1 txd(串行输出口) p3.2 /int0(外部中断 0) p3.3 /int1(外部中断 1) p3.4 t0(t0 定时器的外部计数输入) p3.5 t1(t1 定时器的外部计数输入) p3.6 /wr(外部数据存储器的写选通) 西安工程大学本科毕业设计(论文) 9 p3.7 /rd(外部数据存储器的读选通) p3 口同时为闪烁编程和编程校验接收一些控制信号。 i/o 口作为输入口时有两种工作方式,即所谓的读端口与读引脚。读端口 时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经 过某种运算或变换后再写回到端口锁存器。只有读端口时才真正地把外部的数 据读入到内部总线。89c51 的 p0、p1、p2、p3 口作为输入时都是准双向口。除 了 p1 口外 p0、p2、p3 口都还有其他的功能。 rst:复位输入端,高电平有效。当振荡器复位器件时,要保持 rst 脚两个 机器周期的高电平时间。 ale/prog:地址锁存允许/编程脉冲信号端。当访问外部存储器时,地址锁 存允许的输出电平用于锁存地址的低位字节。在 flash 编程期间,此引脚用于 输入编程脉冲。在平时,ale 端以不变的频率周期输出正脉冲信号,此频率为 振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要 注意的是:每当用作外部数据存储器时,将跳过一个 ale 脉冲。如想禁止 ale 的输出可在 sfr8eh 地址上置 0。此时, ale 只有在执行 movx,movc 指令是 ale 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ale 禁止,置位无效。 psen:外部程序存储器的选通信号,低电平有效。在由外部程序存储器取 指期间,每个机器周期两次/psen 有效。但在访问外部数据存储器时,这两次 有效的/psen 信号将不出现。 ea/vpp:外部程序存储器访问允许。当/ea 保持低电平时,则在此期间外 部程序存储器(0000h-ffffh),不管是否有内部程序存储器。注意加密方式 1 时,/ea 将内部锁定为 reset;当/ea 端保持高电平时,此间内部程序存储器。 在 flash 编程期间,此引脚也用于施加 12v 编程电源(vpp)。 xtal1:片内振荡器反相放大器和时钟发生器的输入端。 xtal2:片内振荡器反相放大器的输出端。 at89s51 管脚图如图 3-1 所示。 西安工程大学本科毕业设计(论文) 10 图 3-1 at89s51 单片机管脚图 3.1.3 at89s51 单片机的中断系统 (1) 中断:程序执行过程中,允许外部或内部事件通过硬件打断程序的执行, 使其转向为处理内部事件的中断服务程序中去;完成中断服务的程序后,cpu继 续原来被打断的程序,这样的过程称为中断过程。 (2) 中断源:能产生中断的外部和内部事件。 89s51有5个中断源: 1)int0:外部中断0请求,低电平有效。通过p3.2引脚输入。 2)int1:外部中断1请求,低电平有效。通过p3.3引脚输入。 3)t0:定时器/计数器0溢出中断请求。 4)ti:定时器/计数器1溢出中断请求。 5)txd/rxd:串行口中断请求。当串行口完成一帧数据的发送或接 收时,便请求中断。 每一个中断源都对应一个中断请求标志位,它们设置在特殊功能寄存器 tcon和scon中。当这些中断源请求中断时,相应的标志分别有tcon和scon中的 相应位来锁存。 (3) 89s51中断系统有以下4个特殊功能寄存器: 1)定时器控制寄存器tcon(用6位); 西安工程大学本科毕业设计(论文) 11 2)串行口控制寄存器scon(用2位); 3)中断允许寄存器ie; 4)中断优先级寄存器ip。 其中,tcon和scon只有一部分用于中断控制。通过对以上各特殊功能寄存 器的各位进行置位或复位等操作,可实现各种中断控制功能。 (4) 中断的响应过程及中断矢量地址: 中断处理过程可分为3个阶段:中断响应、中断处理和中断返回。89c51的 cpu在每个机器周期的s5p2期间顺序采样每个中断源,cpu在下一个机器周期s6 期间按优先级顺序查询中断标志。如查询到某个中断标志为1,则将在接下来的 机器周期s1期间按优先级进行中断处理。中断系统通过硬件自动将相应的中断 矢量地址装入pc,以便进入相应的中断服务程序。表2既是各个中断源对应的中 断矢量地址。 由于89s51系列单片机的两个相邻的中断源中断服务程序入口地址相距只有 八个单元,一般的中断服务程序是容纳不下的,通常是在相应的中断服务程序 入口地址中放一条常跳转指令ljmp,这样就可以转到64kb任何可用区域了。 中断服务程序从矢量地址开始执行,一直到返回指令reti为止。reti指令 的操作一方面告诉中断系统该中断服务程序已执行完毕,另一方面把原来压入 堆栈保护断点地址从栈顶弹出,装入程序寄存器pc,使程序返回到被中断的程 序断点处继续执行。 在编写中断服务程序时应注意: (1)在中断矢量地址单元处存放一条无条件转移指令(如ljmp h),使中断程序可灵活的安排在64kb程序存储器的任何空间。 (2)在中断服务程序中,用户应注意用软件保护现场,以免中断返回后丢 失原寄存器、累加器中的信息。 (3)若要在执行当前中断程序时禁止更高优先级中断,则可先用软件关闭 cpu中断或禁止某中断源中断,在中断返回前在开放中断。 西安工程大学本科毕业设计(论文) 12 3.2 各模块的硬件设计 3.2.1 电源模块 at89s51工作,需要为其提供5v电源。本系统采用线性稳压电源,通过三端 稳压管l7805cv,输出+5v直流电压。 l7805cv 的基本参数为: 1.输出电压:4.75-5.25v; 2.最大输入电压:35v; 3.静态电流:4.2-8ma; 4.输出噪音电压:40uv; 5.纹波抑制比:78db; 6.输出电阻:17m; 7.输出电压温度系数-1.1mv/c。 l7805cv 的特征: 1.输出电流可达 1.5a; 2.不需外接补偿元件; 3.内含限流保护电流,防止负载短路烧毁元件; 4.内含高温过热保护电路,防止结温过热烧毁器件; 5.内含功耗限制电路,防止烧毁输出驱动器晶体管。 电源模块原理图如图 3-2 所示。 vin 73 gnd 74 vout 75 u2 l7805c v c 4 220uf c 5 470uf c 8 0.01uf c 6 0.01uf c 7 0.01uf +12vvc c 图 3-2 电源模块 西安工程大学本科毕业设计(论文) 13 3.2.2 温度采集模块 ds18b20是目前使用较为广泛的温度传感器,且其接线方便,适用于多种场 合,故本系统中也使用ds18b20作为温度测量元件。 系统通过 ds18b20 采集到多点温度值,取其平均值。空调内设定两个温度 值(18c 和 28c) 。当平均值低于 18c 时,空调采用冬天模式,默认下为 加热模式,当加热至 22c 时停止加热,延时五分钟后若平均值低于 22c, 则继续加热到 22c 时再停止,否则不加热并继续延时 5 分钟,如此循环下去。 当平均值高于 28c 时,空调采用夏天模式,默认下为制冷模式,当温度降至 26c 时停止制冷,延时五分钟后若平均值高于 26c,则继续制冷到 26c 时再停止,否则不制冷并继续延时 5 分钟,如此循环下去。 封装后的 ds18b20 可用于电缆沟测温,高炉水循环测温,锅炉测温,机房 测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨 耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温 和控制领域。 温度传感器可编程的分辨率为912位 温度转换为12位数字格式最大值为 750毫秒 用户可定义的非易失性温度报警设置 应用范围包括恒温控制,工业系 统,消费电子产品温度计,或任何热敏感系统。 描述该ds18b20的数字温度计提供9至12位(可编程设备温度读数。信息被 发送到/从ds18b20 通过1线接口,所以中央微处理器与ds18b20只有一个一条口 线连接。为读写以及温度转换可以从数据线本身获得能量,不需要外接电源。 因为每一个ds18b20的包含一个独特的序号,多个ds18b20s可以同时存在于一条 总线。这使得温度传感器放置在许多不同的地方。它的用途很多,包括空调环 境控制,感测建筑物内温设备或机器,并进行过程监测和控制。 ds18b20采用一线通信接口。因为一线通信接口,必须在先完成rom设定, 否则记忆和控制功能将无法使用。主要首先提供以下功能命令之一: 1 )读 rom, 2 )rom匹配, 3 )搜索rom, 4 )跳过rom, 5 )报警检查。这些指 令操作作用在没有一个器件的64位光刻rom序列号,可以在挂在一线上多个器件 选定某一个器件,同时,总线也可以知道总线上挂有有多少,什么样的设备。 西安工程大学本科毕业设计(论文) 14 若指令成功地使ds18b20完成温度测量,数据存储在ds18b20的存储器。一 个控制功能指挥指示ds18b20的演出测温。测量结果将被放置在ds18b20内存中, 并可以让阅读发出记忆功能的指挥,阅读内容的片上存储器。温度报警触发器 th和tl都有一字节eeprom 的数据。如果ds18b20不使用报警检查指令,这些寄 存器可作为一般的用户记忆用途。在片上还载有配置字节以理想的解决温度数 字转换。写th,tl指令以及配置字节利用一个记忆功能的指令完成。通过缓存器 读寄存器。所有数据的读,写都是从最低位开始。 ds18b20有4个主要的数据部件: (1)光刻rom中的64位序列号是出厂前被光刻好的,它可以看作是该 ds18b20的地址序列码。64位光刻rom的排列是:开始8位(28h)是产品类型标 号,接着的48位是该ds18b20自身的序列号,最后8位是前面56位的循环冗余校 验码(crc=x8+x5+x4+1)。光刻rom的作用是使每一个ds18b20都各不相同,这 样就可以实现一根总线上挂接多个ds18b20的目的。 (2)ds18b20中的温度传感器可完成对温度的测量,以12位转化为例:用 16位符号扩展的二进制补码读数形式提供,以0.0625/lsb形式表达,其中s为 符号位。 ds18b20的主要特性: 1适应电压范围更宽,电压范围:3.05.5v,在寄生电源方式下可由数 据线供电。 2. 独特的单线接口方式,ds18b20 在与微处理器连接时仅需要一条口线即 可实现微处理器与 ds18b20 的双向通讯。 3. ds18b20 支持多点组网功能,多个 ds18b20 可以并联在唯一的三线上, 实现组网多点测温。 4. ds18b20 在使用中不需要任何外围元件,全部 传感元件及转换电路集成 在形如一只三极管的集成电路内。 5. 温范围55+125,在-10+85时精度为0.5。 6. 可编程 的分辨率为 912 位,对应的可分辨温度分别为 0.5、 0.25、0.125和 0.0625,可实现高精度测温。 7. 在 9 位分辨率时最多在 93.75ms 内把温度转换为数字,12 位分辨率时 西安工程大学本科毕业设计(论文) 15 最多在 750ms 内把温度值转换为数字,速度更快。 8. 测量结果直接输出数字温度信号,以“一 线总线“串行传送给 cpu,同 时可传送 crc 校验码,具有极强的抗干扰纠错能力。 9.负压特性:电源极性接反时,芯片不会因发热而烧毁, 但不能正常工作。 ds18b20的应用范围: 1. 该产品适用于冷冻库,粮仓,储罐,电讯机房,电力机房,电缆线槽等 测温和控制领域。 2. 轴瓦,缸体,纺机,空调,等狭小空间工业设备测温和控制。 3. 汽车空调、冰箱、冷柜、以及中低温干燥箱等。 4. 供热/制冷管道热量计量,中央空调分户热能计量和工业领域测温和控 制。 ds18b20的管脚介绍: to92封装的ds18b20的引脚排列见图3-3,其引脚功能描述见表3-1。 图3-3 ds18b20底视图 表 3-1 ds18b20 详细引脚功能描述 序号名称引脚功能描述 1gnd 地信号 2dq 数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄 生电源下,也可以向器件提供电源。 3vdd 可选择的vdd引脚。当工作于寄生电源时,此引脚必须接地。 其内部结构图如图3-4所示。 西安工程大学本科毕业设计(论文) 16 图3-4 ds18b20内部结构 gnd 1 i/o 2 vdd 3 j1 ds18b 20 gnd 1 i/o 2 vdd 3 j2 ds18b 20 vc c vc c 图3-5 温度采集模块 3.2.3 显示模块 在做这个模块的设计时有两种方案选择,一种是采用液晶屏显示,另一种 是数码管显示。考虑到数码管显示较液晶屏显示清晰,其次液晶屏的编程也较 为繁琐,所以本设计采用了数码管显示。 显示模块原理图如图3-6所示。 西安工程大学本科毕业设计(论文) 17 a bf c g d e dpy1 2 3 4 5 6 7 a b c d e f g 8 dp dp led1 a bf c g d e dpy1 2 3 4 5 6 7 a b c d e f g 8 dp dp led2 1y1 45 1y2 46 1y3 47 1y4 48 2y1 50 2y2 51 2y3 52 2y4 53 1/g 55 2a4 56 2a3 57 2a2 58 2a1 59 1a4 61 1a3 62 1a2 63 1a1 64 2/g 65 u2 74ls 244 r 10 1k r 11 1k r 12 300 r 13 300 r 14 300 r 15 300 r 16 300 r 17 300 r 18 300 vc c 图3-6 显示模块 led数码管的结构及工作原理: led数码管(led segment displays)是由多个发光二极管封装在一起组成 “8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电 极。led数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位 “+1”型。位数有半位,1,2,3,4,5,6,8,10位等等,led数码管根 据led的接法不同分为共阴和共阳两类,了解led的这些特性,对编程是很重要 的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不 同的。 其引脚定义如图3-7所示。 图3-7 引脚定义 每一笔划都是对应一个字母表示 。dp是小数点。 数码管正面引脚示意图如图3-8所示。 西安工程大学本科毕业设计(论文) 18 图3-8 数码管正面引脚示意图 3.2.4 按键模块 这个模块是为了方便人们自主调节空调的温度和模式而设计的。 按键模块如图3-9所示。 s2 s3 r 7 1k r 8 1k vc c r 6 1k s1 k1 图3-9 按键模块 当 s1 闭合时系统运行手动模式。手动模式下,制冷模式和加热模式的运行 取决于,人为设定的温度和温度传感器采集到的温度平均值之间的比较。当平 均值低于设定值时,运行加热模式。当平均值高于设定值时,采用制冷模。s2 用来调高温度,每摁一下设定温度升高一度。s3 用来调低温度,每摁一下设定 温度降低一度。当 s1 断开时,系统运行智能模式。 3.2.5 加热及制冷电路模块 在本设计中采用了发光二级管来指示空调的模式运行,以及加热和制冷模 块的运行。 l1表示夏天模式,l2表示冬天模式,l3表示加热模式,l4表示制冷模式。 西安工程大学本科毕业设计(论文) 19 模式指示模块如图3-10所示。 r 1 1k r 2 1k r 3 1k r 4 1k l1 led 加 l2 led 加 l3 led 加 l4 led 加 图3-10 模式指示模块 当运行制冷模式时,三极管q1导通,继电器k1开关闭合,压缩机开始工作。 当运行加热模式时,三极管q2导通,继电器k2开关闭合,加热器开始工作。 l5,l6用来保护电路。r9和r10用来限流,防止三极管被烧坏。 加热及制冷模块如图3-11所示。 k1 k2 q1 pnp q2 pnp vc c vc c l5 l6 0 0 1 1 q3 加加加 2 2 3 3 q4 加加加 220v 220v r 10 2k r 9 2k 图3-11 加热及制冷模块 西安工程大学本科毕业设计(论文) 20 第 4 章 系统软件设计 4.1 protel99se 简介 protel 99se是prokltechnology公司开发的基于windows环境下的电路板设 计软件。该软件功能强大,人机界面友好,易学易用,仍然是大中专院校电学 专业必学课程,同时也是业界人士首选的电路板设计工具。 protel 99se 由两大部分组成:电路原理图设计(advanced schematic) 和多层印刷电路板设计(advanced pcb)。其中advanced schematic由两部分 组成:电路图编辑器(schematic)和元件库编辑器(schematic library)。 4.1.1 电路原理图编辑器 4.1.1.1 概述 进入design protel 99se后在documents中通过右键 “new” 建立 “schematic document”文件,打开后即可进行电路原理图的编辑。先按照已 画好的电路草图将所有元件找到拖放到编辑框里。将编辑框缩小,将元件照电 路的样子搭好,整体上排列匀称。接下来就可以进行局部的连线了。或者可以 先将电路的各个模块先搭好,再通过框定各模块平移组合成完整的电路,取消 框定要通过editdeselectinside area再用鼠标框定以前选中的模 块,就可以解除,表现为模块由黄色变成普通颜色。对某个工程的操作是对一 个数据库的操作,因此不同的数据库会在不同的窗口中打开,通过最小化可看 高各个数据库的窗口。 4.1.1.2 常用操作 1、调用画图工具viewtoolbarscustomize。 2、在移动元件时按空格可旋转元件。 3、找元件时要参照对元件库的描述,converter含有ad、da等;analog是模 拟器件如运放等;memory是存储器件. 西安工程大学本科毕业设计(论文) 21 4、一个工程数据库中最好不要将所有文件都放在文件夹documents中,因为 这样会产生一些意想不到的小问题。而将文件直接放在数据库根目录下则不会 出现这些问题。 4.1.2 原理图元件库编辑器 4.1.2.1 概述 虽然protel本身包含了庞大的元件库,但在实际应用中总会遇到找不到元 件的情况,这时就需要根据元件资料自己动手在元件库中制作这个元件。还有 一种情况是各种元件分散在各个公司的元件库中,不便与使用,所以要把常用 元件集中到一个元件库中,这就要自己动手制作,将经常用到的元件复制到这 个元件库中,方便以后的使用。 4.1.2.2 基本操作 元件库文件(.lib)也是基于数据库文件(.ddb)下的操作,同一个数据 库下元件库中的元件才可以通过tools - copy component 相互复制,不同数 据库时可先用右键的copy将整个元件库复制到当前数据库,再在该数据库中进 行单个元件的复制。在放置芯片引脚时大头指的是引脚外侧,引脚名称会嵌到 芯片框里,引脚号在外侧。 1、在画芯片图时,如果用到画线的功能,则应将view - snap grid 功能 打开,可增加画线时的定位精度。 2、不同设计文件之间拷贝模块时,操作如下:先选中要拷贝的部分拷 贝,鼠标变成十字线后在选定的区域中间点击左键切换到另一个设计文件, 粘贴即完成了操作。 4.1.3 protel 99se gerbe 输出文件后缀名定义 toplayer .gtl 顶层走线 bottomlayer .gbl 底层走线 topoverlay .gto 顶层丝印 西安工程大学本科毕业设计(论文) 22 bottomoverlay .gbo 底层丝印 toppaste .gtp 顶层表贴(做激光模板用) bottompaste .gbp 底层表贴(做激光模板用) topsolder .gts 顶层阻焊(也叫防锡层,负片) bottomsolder .gbs 底层阻焊(也叫防锡层,负片) midlayer1 .g1 内部走线层1 midlayer2 .g2 内部走线层2 midlayer3 .g3 内部走线层3 midlayer4 .g4 内部走线层4 internalplane1 .gp1 内平面1(负片) internalplane2 .gp2 内平面2(负片) mechanical1 .gm1 机械层1 keepoutlayer .gko 禁止布线层 drillguide .gg1 钻孔引导层 drilldrawing .gd1 钻孔图层 top pad master .gpt 顶层主焊盘 bottom pad master .gpb 底层主焊盘 本系统采用protel 99se中文版进行原理图的。 4.2 keil 的简介 keil c51是美国keil software公司出品的51系列兼容单片机c语言软件开 发系统,与汇编相比,c语言在功能上、结构性、可读性、可维护性上有明显的 优势,因而易学易用。keil提供了包括c编译器、宏汇编、连接器、库管理和一 个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境 (uvision)将这些部分组合在一起。运行keil软件需要 win98、nt、win2000、winxp等操作系统。 keil vision3: 2006年1月30日arm推出全新的针对各种嵌入式处理器的软件开发工具,集 成keil vision3的realview mdk开发环境。 realview mdk开发工具 西安工程大学本科毕业设计(论文) 23 keilvision3源自keil公司。 realview mdk集成了业内领先的技术,包括 keil vision3集成开发环境与realview编译器。支持arm7、arm9和最新的 cortex-m3核处理器,自动配置启动代码,集成flash烧写模块,强大的 simulation设备模拟,性能分析等功能,与arm之前的工具包ads等相比, realview编译器的最新版本可将性能改善超过20%。 keilvision4: 2009年2月发布keil vision4,keil vision4引入灵活的窗口管理系统, 使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控 制的任何地方。新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗 口,提供一个整洁,高效的环境来开发应用程序。新版本支持更多最新的arm芯 片,还添加了一些其他新功能。 2011年3月arm公司发布最新集成开发环境realview mdk开发工具中集成了 最新版本的keil uvision4,其编译器、调试工具实现与arm器件的最完美匹配。 本设计采用了keil vision3进行软件编程。 4.3 系统程序流程图 系统主程序流程图如图 4-1 所示。 当系统运行后,采集温度传感器数值的平均值,平均值会实时的显示出来。 系统内设了两个温度 28c 和 18c,平均值会与这两个温度比较。大于 28c 时,系统自动运行夏天模式,此时开关 s1 若是闭合的则运行手动模式,否则运 行智能模式。智能模式下,压缩机工作,每隔 5 分钟系统自动比较一次温度平 均值与 26c 的大小。若高于 26c 则压缩机继续工作;否则停止制冷并延时 5 分钟后比较平均值与 26c 的大小。若此时温度高于 26c,则压缩机开始工 作,5 分钟后再比较平均值与 26c 的大小;若此时温度不高于 26c,则继续 延时 5 分钟,如此循环下去。 当采集到的温度平均值低于 28c 时,再判断它是否低于 18c。若高于 18c,则判断开关 s1 是否闭合,闭合了就运行手动模式,没有闭合就运行智 能模式。当温度平均值低于 18c 时,系统自动运行冬天模式,此时开关 s1 若 西安工程大学本科毕业设计(论文) 24 闭合则运行手动模式,否则运行智能模式。智能模式下,工作原理与夏天模式 相似。 否 是 否 否 是 否 是 否 是 是 是 否 是 否 是 开始 初始化 采集温度传感器的 数值并取其平均值 平均值是否 大于 28c 平均值是否 小于 18c 开关 s1 是 否闭合 运行手动模式 运行冬天模式 运行夏天模式 开关 s1 是 否闭合 开关 s1 是 否闭合 加热器开始工作 温度是否升 至 22c 显示 压缩机开始工作 温度是否降 至 26c 停止制冷并延时 5 分 钟 温度是否高 于 26c 运行手动模式 bc d 是 西安工程大学本科毕业设计(论文) 25 是 否 图 4-1 主程序流程图 a 是 否 图 4-1 主程序流程图 b 子程序流程图如图 4-2 和图 4-3 所示。 否 是 图 4-3 显示子程序流程图 图 4-2 ds18b20 子程序流程图 停止加热并延时 5 分 钟 温度是否低 于 22c a c a b d 开始 初始化 延时 写入一个字节 读取一个字节 查表校验是 否正确 读取温度值 返回 开始 初始化 延时 读取 ds18b20 的数据 显示 返回 西安工程大学本科毕业设计(论文) 26 ds18b20 子程序:系统运行后,温度传感器开始采集温度,先采集到的温 度值要与其自身能够采集到的温度范围作比较,若采集到的温度不在其范围内 则重新采集温度值,若采集到的温度值在其范围内,那么采集这个温度值。 显示子程序:系统运行后,显示模块实时读取温度传感器的数据,实时显 示出环境的温度。手动模式子程序流程图如图 4-4 所示。 否 是 否 否 是 是 是 是 否 开始 初始化 设定温度值 采集温度传感器数 值并取其平均值 平均值是否大 于设置温度 运行制冷模式 压缩机工作 平均值是否 降至设置值 停止制冷并延时 5 分 钟 平均值是否 高于设置值 运行加模式 加热器工作 平均值是否 升至设置值 停止加热并延时 5 分钟 返回 平均值是否 低于设置值 显示 西安工程大学本科毕业设计(论文) 27 否 图 4-4 手动模式子程序流程图 手动模式运行后,人为先设定一个温度,温度传感器采集到的温度平均值 与这个设定温度比较,当平均值高于设定温度时,系统运行制冷模式,压缩机 开始工作,每隔 5 分钟比较一次平均值与设定值的大小,若平均值高于设置值, 则压缩机继续工作,延时 5 分钟后再比较两者大小;若平均值不高于设置值, 那么延时 5 分钟后再比较两者大小。此时,若平均值高于设置值,那么压缩机 继续工作,5 分钟后再比较两者大小;此时,若平均值不高于设置值,那么继 续延时 5 分钟后再比较两者大小。如此循环下去。 当平均值低于设置温度时,系统运行加热模式,加热器开始工作,每隔 5 分钟比较一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论