基于单片机的温度控制系统本科生毕业论文(编辑修改稿)内容摘要:

输入、输出: ALE/PROG—— 地址锁存允许信号,输出。 ALE 以 1/6 的振荡频率稳定速率输出,可用作对外输出的时钟或用于定时。 在 EPROM 编程期间,作输入,输入编程脉冲( PROG)。 ALE 可以驱动 8 个 LSTTL 负载。 当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。 在 FLASH 编程期间,此引脚用于输入编程脉冲。 在平时, ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。 因此它可用作对外部输出的脉冲或用于定时目的。 注意:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。 如想禁止 ALE的输出可在 SFR8EH 地址上置 0。 此时, ALE 只有在执行 MOVX, MOVC 指令是 ALE才起作用。 另外,该引脚被略微拉高。 如果微处理器在外部执行状态 ALE 禁止,置位无效。 基于单片机的温度测量系统 8 输 出: PSEN—— 片外程序存储器选通信号,低电平有效。 在从片外程序存储器取址期间,在每个机器周期中,当 PSEN 有效时,程序存储器的内容被送上 P0口(数据总线)。 PSEN 可以驱动 8 个 LSTTL 负载。 AT89S52 的工作模式及注意事项 AT89S52单片机有两种可用软件编程的省电模式,它们是空闲模式和掉电工作模式。 这两种方式是控制专用寄存器 PCON(即电源控制寄存器 )中的 PD( PCON1)和 IDL(PCON0)位来实现的。 PD是掉电模式,当 PD=1时,激活掉电工作模式,单片机进入掉电工作状态。 IDL是空闲等待方式,当 IDL=1,激活空闲工作模式,点偏激进入睡眠状态。 如需同时进入两种工作模式,即 PD和 IDL同时为 1,则先激活掉电模式。 在空闲工作状态下, CPU保持睡眠状态而所有的片内的外设都保持激活状态,这种方式由软件产生,此时,片内 RAM和所有特殊功能寄存器的内容保持不变。 空闲模式可由任何允许的中断请求或硬件复位终止。 终止空闲工作模式的方法有两种,进入中断服务程序,执行完中断服务程序并紧随 RST1(中断返回)指令后,下一条要执行的指令就是使单片机进入空闲模式的那条指令后面的一条指令。 其二是通 过硬件复位可以将空闲工作模式终止。 需要注意的是,当由硬件复位来终止空闲工作模式时, CPU通常是从激活空闲模式那条指令的吓一跳指令开始继续执行程序的,要完成内部复位操作,硬件复位脉冲要保持两个机器周期( 24个时钟周期)有效,在这种情况下,内部禁止 CPU访问片内 RAM,而允许访问其他端口。 为了避免可能对端口产生意外写入,激活空闲状态的那条指令后一条指令不应是一条端口或外部存储器的写入指令。 在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令。 片内 RAM和特殊功能寄存器的内容在终止掉电模式前被 冻结。 退出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器但并没有因此改变 RAM中的内容,在 Vcc恢复到正常工作电平前,复位应无效,但必须保持一定时间以使振荡器重启动并稳定工作。 AT89S52单片机具有一些极限参数: ( 1)工作温度: 55摄氏度至 +125摄氏度 ( 2)储藏温度: 65摄氏度至 +150摄氏度 ( 3)任一引脚对地电压: + ( 4)最高工作电压: ( 5)直流输出电流: 基于单片机的温度测量系统 9 模式 程序存储器 ALE PSEN P0 P1 P2 P3 空闲模式 内部 1 1 数据 数据 数据 数据 空闲模式 外部 1 1 浮空 数据 地址 数据 掉电模式 内部 0 0 数据 数据 数据 数据 掉电模式 外部 0 0 浮空 数据 数据 数据 表 33 空闲和掉电模式外部引脚状态 温度传感器的选择 DS18B20 的特点及选择原因 DS18B20是美国 DALLAS公司继 DS1820之后推出的增强型单总线数字式温度传感器,它在转换速度、转换时间、传输距离、分辨率等方面较之前产品有了很大的改进,给用户带来了更方便、更令人满意的效果。 DALLAS 最新单线数字温度传感器 DS18B20是一种新型的“一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。 DALLAS 半导体公司的数字化温度传感器 DS18B20是世界上第一片支持“一线总线”接口的温度传感器。 温度测量范围为 55~ +125 摄氏度,可编程为 9位~ 12 位转换精度,测温分辨率可达 ,分辨率设定参数以及用户设定的报警温度存储在 EEPROM 中,掉电后依然保存。 被测温度用符号扩展的 16位数字量方式串行输出;其工作电源既可以在远端引入,也可以采用寄生电源方式产生;多 个 DS18B20可以并联到 3 根或 2 根线上, CPU只需一根端口线就能与诸多 DS18B20 通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。 因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。 DS18B20 内部结构主要由四部分组成: 64位光刻 ROM、温度传感器、非挥发的温度报警触发器 TH 和 TL、配置寄存器。 DQ 为数据输入 /输出引脚, 开漏单总线接口引脚。 当被用着在寄生电源下,也可以向器件提供电源; GND 为地信号;VDD 为可选择的 VDD 引脚。 当工作于寄生 电源时,此引脚必须接地。 在硬件上, DS18B20与单片机的连接有两种方法,一种是 VCC接外部电源,GND接地, I/O与单片机的 I/O线相连;另一种是用寄生电源供电,此时 UDD、 GND接地, I/O接单片机 I/O。 无论是内部寄生电源还是外部供电, I/O口线要接 5KΩ左右的上拉电阻 . DS18B20 的性能特点如下: 独特的单线接口方式, DS18B20 在与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。 基于单片机的温度测量系统 10 DS18B20 支持多点组网功能,多个 DS18B20 可以并联在唯一的三线上,实现组网多 点测温。 图 34 DS18B20内部结构框图 DS18B20 在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。 其具有 9条特点: ( 1)适应电压范围更宽,电压范围: ~ ,在寄生电源方式下可由数据线供电。 ( 2)温范围- 55℃~+ 125℃,在 10~ +85℃时精度为177。 ℃。 ( 3)零待机功耗。 ( 4)可编程的分辨率为 9~ 12位,对应的可分辨温度分别 为 ℃、 ℃、℃和 ℃,可实现高精度测温。 ( 5)在 9 位分辨率时最多在 内把温度转换为数字, 12 位分辨率时最多在 750ms 内把温度值转换为数字,速度更快。 ( 6)用户可定义报警设置。 ( 7)报警搜索命令识别并标志超过程序限定温度的器件。 ( 8)结果直接输出数字温度信号,以 一线总线 串行传送给 CPU,同时可传送 CRC 校验码,具有极强的抗干扰纠错能力。 DS18B20作为新型的器件,能够方便的和中心处理器进行连接,并具有很大的扩展空间。 温度范围较广,使得整体的测温范围 能大幅度的上升,零待机消耗更是起到了节能的作用。 利用用户能自定义报警设置这一特点,能够在实现报警功能上得到很大的便利,同时极强的抗干扰性能使得温度的检测更加准确,作为温度计最基本的要求,准确必须满足。 这些好处使得 DS18B20最终被选择。 64 位 ROM 和 单 线 接 口 存储器与控制逻辑 高速缓存 温度传感器 8 位 CRC 发生器 配置寄存器 高温触发器 低温触发器 基于单片机的温度测量系统 11 DS18B20 的测温原理 DS18B20 的测温原理如图 35 所示, 图中低温度系数晶振的振荡频率受温度的影响很小用于产生固定频率的脉冲信号送给减法计数器 1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器 2 的脉冲输入,图中还隐含着计数门, 当计数门打开时, DS18B20 就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量 .计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将 55 ℃ 所对应的基数分别置入减法计数器 1 和温度寄存器中,减法计数器 1 和温度寄存器被预置在 55 ℃ 所对应的一个基数值。 首先用 DS1820 提供的读暂存寄存器指令 (BEH)读出以 ℃ 为分辨率的温度测量结果,然后切去测量结果中的最低有效位 (LSB),得到所测实际温度整数部分T 整数,然后再用 BEH 指令读取计数器 1 的计数剩余值 M 剩余和每度计数值 M每度,考虑到 DS1820 测量温度的整数部分以 ℃ 、 ℃ 为进位界限的关系,实际温度 T 实际可用下式计算得到: T 实际 =(T 整数- ℃ )+(M 每度- M 剩余 )/M 每度。 图 35 DS18B20 测温原理图 显示器的选择 由于设计中要求显示测试温度,因此显示屏首先要能够一次性容纳这些字符。 工作电压不能太高,与单片机的连接方式需要简单,显示准确。 本设计中采用的是 四位共阴极 LED 液晶屏能够很好的满足这些要求。 LED(发 光二极管 Light Emitting Diode 的英文缩写)是利用 PN 结把电能转换成光能的固体发光器件,根据制造材料的不同可以发出红、黄、绿、白等不低温度系数晶振 高温度系数晶振 预置 斜率累加器 计数器 1 =0 计数器 2 =0 比较 预置 温度寄存器 基于单片机的温度测量系统 12 同色彩的可见光来。 LED 的伏安特性类似于普通二极管,正向压降约为 2伏左右,工作电流一般在 10 20mA 之间较为合适。 LED 显示器有多种结构形式,单段的圆形或方形 LED 常用来显示设备的运行状态, 8段 LED 可以显示各种数字和字符,所以也称为 LED 数码管,这里我们使用 8段 LED 液晶屏。 一个 8段 LED 显示器的结构是由 8 个发光二极管组成,各段依次记为 a、 b、c、 d、 e、 f、 g、 dp ,其中 dp 表示小数点(不带小数点的称为 7 段 LED)。 8 段LED 显示器有共阴极和共阳极两种结构。 8段 LED 通过不同段点亮时的组合,可以显示 0~ A~F 等十六进制数。 显然,将单片机的数据输出口与 LED 各段引脚相连,控制输出的数据就可以使 LED 显示不同的字符。 通常把控制 LED 数码管发光显示字符的 8 位字节数据称为段选码或者字符译码,如图 36所示。 图 36 8 段 LED 液晶屏引脚 共阴极 LED 的所有发光管的阴极并接成 公共端 COM, 共阴数码管在应用时应将公共极 COM 接到地线 GND 上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。 当某一字段的阳极为低电平时,相应字段就不亮。 LED 液晶屏 的价格便宜使用简单 , 在电器特别是家电领域应用极为广泛 ,空调 、 热水器 、 冰箱等等 绝大多数热水器用的都是数码管。 其优点是直观,成本低。 缺点是只能显示测量点温度值和有限的符号,电路复杂。 蜂鸣器 蜂鸣器是一种一体化结构的电子讯响器,广泛应用与计算机 、 打印机 、 报警器 、 定时器等电子产品中作发 声 器件。 蜂鸣器发声原理是电流通过电磁线圈,使电 磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机 IO 引脚输出的电流较小,单片机输出的电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。 S52 单片机 通过一个三极管 PN5138 来放大驱动蜂鸣器,原理图见图 34: 基于单片机的温度测量系统 13 图 34 驱动蜂鸣器原理图 排阻 排阻,就是若干个参数完全相同的 电阻 ,它们的一个引脚都连到一起,作为公共引脚,其余引脚正常引出。 所以如果一个排阻是由 n个电阻构成的,那么它就有 n+1 只引脚。 排阻一般应用在 数字电路 上,比如:作为某个并行口的上拉或者 下拉电阻 用。 使用排阻比用若干只固定电阻更方便。 本系统中因选用共阴极 LED 数码管,需高电平有效。 必须用上拉电阻提供电流才能产生高电平 ,且排阻可减小 P0口电流大小,保护 P0 口。 本系统选用respack8排阻。 图 35 排阻 respack8 基于单片机的温度测量系统 14 4 电路原理 整个设计的电路包括了 单片机 电路、温度 采集 电路、温度显示电路、 温度上下限设置 电路和 温度过限 报警电路五部分电路组成。 单片机 电路 单片机 电路 由晶振电路、复位电路、电源和 AT89S52 单片机组成。 如图 4。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。