单片机温度控制

上传人:沈*** 文档编号:68833876 上传时间:2022-04-04 格式:DOC 页数:45 大小:841.50KB
收藏 版权申诉 举报 下载
单片机温度控制_第1页
第1页 / 共45页
单片机温度控制_第2页
第2页 / 共45页
单片机温度控制_第3页
第3页 / 共45页
资源描述:

《单片机温度控制》由会员分享,可在线阅读,更多相关《单片机温度控制(45页珍藏版)》请在装配图网上搜索。

1、摘要随着电子产品向智能化和微型化的不断发展,单片机已成为电子产品研制和开发中首选的控制器。为了更好地推广单片机在实际生活和生产中的应用,本文从硬件和软件两个方面介绍了基于 AT89C52 单片机温度控制系统的设计, 以实现系统能自主 调节温度的功能。该系统的硬件部分由温度采集模块、键盘扫描及按键处理模块、温度显示模块、 继电器控制模块组成。 其中温度采集模块采用温度传感器 DS18B20 来采集当前温度, 并对采集的温度信号进行 AD 转换以数字信号的方式传送给单片机。键盘扫描及按 键处理模块由3 X4矩阵键盘、反相驱动器74LS06、显示驱动芯片8279组成,完成扫 描键盘,形成键码,并将其

2、送至单片机处理。温度显示模块由显示驱动芯片 8279 和 数码管组成,输入的温度值进行比较,并通过液晶显示器LCD 显示出来。继电器控制模块由继电器和升温电炉、 降温风扇组成。 如果采集温度低于设置温度, 系统将通过 继电器模块自动控制升温; 如果采集温度高于设置温度, 系统将通过继电器模块自动 控制降温。该系统的软件设计部分由系统主程序流程框图、 温度处理子程序流程框图、 键盘 处理子程序框图组成, 其中系统主程序由初始化程序、 扫描键盘程序及温度处理子程 序组成。 温度采集子程序由对温度传感器的初始化和温度处理程序组成。 键盘处理子 程序由 8279 芯片的初始化程序及扫描处理程序组成。关

3、键词:单片机AT89C52 ;温度控制;温度传感器DS18B20 ;液晶显示器LCD 。ABSTRACTWith the electronic products developing to intelligent and miniaturization, single chip has become the first chosen controller which is used to develop and explore the electronic product. In order to promote single chip applicating in real life and

4、 production, the paper will introduce a temperature control system which is based on a kind of single chip AT89C52, and it can achieve the function that the system can regulate the temperature independently.The hardware of the system by the temperature acquisition module, keyboard scan and key proce

5、ssing module, temperature display module, relay control module. Wherein the temperature sensor DS18B20 temperature acquisition module to acquire the current temperature, and the acquisition of the temperature signal to the A / D converted digital signal is transferred to the microcontroller. Keyboar

6、d scan and key processing module consists of a 3x 4 matrix keyboard, inverting driver 74LS06 display driver chip 8279, to complete the scan keyboard, a key code, and sent to the microcontroller processing. The temperature display module consists of a display driver chip 8279 and digital tubes, the i

7、nput temperature values are compared, and through the liquid crystal display LCD display. Relay control module relay and heating furnace, cooling fan. If the acquisition temperature is below the set temperature, the system will automatically controlled by the relay module temperature; the collecting

8、 temperature is higher than the set temperature, the system will automatically control the cooling relay module.Software design of the system by the system main program flow block diagram temperature processing the subroutine flow diagram, keyboard handling subroutine block diagram form, the system

9、main program initialization procedure, scanning keyboard program and temperature processing subroutines.The temperature acquisition subroutine by the temperature sensor the initialization and temperature handler. The keyboard handling routine by the 8279 chip initialization procedures and scanning p

10、rocess.Keywords : Single Chip AT89C52 ; Temperature Control ; Temperature Sensor- DS18B20 ;Liquid Crystal Display.目录绪论1选题背景与意义 1选题介绍 11 单片机温度控制系统总体设计 21.1 系统的特征 21.2 系统的设计目标和原则 21.3 系统模块设计 21.4 系统层次框图 22 硬件系统设计 42.1 单片系统设计 42.1.1 主要性能参数 42.1.2 功能特性概述 52.1.3 管脚说明 52.1.4 定时与计数 62.1.5 复位电路 62.1.6 时钟电路

11、62.2 温度传感模块的设计 72.2.1 DS18B20 的性能特点 72.2.2 DS18B20 控制方法 72.2.3 DS18B20 使用中注意事项 82.2.4 高速暂存存储器 92.3 键盘显示模块的设计 92.3.1 键盘显示驱动芯片 8279 1.0.2.3.2 8279 内部结构 1.12.3.3 键盘和数码管 1.22.4 继电器控制模块的设计 1.22.4.1 继电器接点说明 1.32.4.2 继电器控制升温 1.32.4.3 继电器控制降温 1.33 系统软件设计 1.43.1 系统主程序流程图 1.43.2 键盘处理子程序 1.53.3 DS18B20 子程序图 1.

12、5体 会 1.7致 谢 1.8参考文献 1.9附 录 2.0绪论选题背景与意义在生产的管理过程中, 温度的控制是十分常见的。 国内已相继出现各种以微机为 核心的温度控制系统。这种系统控制精度高、重复性好、自动化程度高。在日常生活中,人们为了拥有一个更舒适的生活环境,往往需要室内拥有一个合 适的温度,而单片机的准确性高、价格低、功耗低等一系列优点,可结合升温和降温 设备,有效的应用到实际生活中。单片机温度控制系统是单片机控制的一项简单应用。近几年来单片机因其独特 的,方便,快捷的优势被广泛的应用于各个领域之中。选题简介课题名称:单片机温度控制系统设计 主要任务:将温度控制在设定的温度值,设定范围

13、为 0-99 度,针对在生产和日 常生活中温度智能化控制系统的实现。开发环境:本环境温度控制系统的软件部分是通过 KEIL进行编译。技术指标:(1 )以AT89C52系列单片机为核心部件( 2)以数字电路和模拟电路为硬件基础(3 )以。语言为软件实现语言功能概述: 在该环境温度控制系统中, 单片机作为核心部件进行检测控制, 增强 了设计的通用性,适时性。在该环境温度控制系统中温度检测采用 DS18B20 温度传 感器,它不仅具有较高的精度,而且适用电压宽。同时采用了 3X4 矩阵扫描键盘输 入,显示设备等外围扩展芯片。软件部分采用流程图来表示。1 单片机温度控制系统总体设计1.1 系统的特征从

14、功能上讲单片机温度控制系统应该能够快速提供真实准确的温度数据, 并能实 现断开操作, 从而使粮仓保持在一个恒定的温度。 同时单片机温度控制系统也具有如 下特征:(1) 粮仓温度需要不间断测量。(2) 必须有效地测量的精度。(3) 系统反应时间短,稳定性高。(4) 执行装置可靠 。1.2 系统的设计目标和原则单片机温度控制系统的建立是一个系统工程, 包括硬件和软件两个方面, 从技术 角度看,系统设计必须进行充分的需求调查, 对运作机制、 信息流程、现有仪器状态、 用户要求等做详尽的了解, 在从系统工程的角度出发、 采用快速原型法, 进行从上而 下的系统详细设计。根据单片机温度控制系统的特点,确定

15、如下设计原则:(1) 实用性原则:要求最大限度地满足实际工作的需要,充分考虑其实用性。(2) 可靠性原则:设计要简洁,保证长时间工作的可靠性。(3) 准确性原则:保证测量数据的准确性 。1.3系统模块设计1)单片机控制模块2)温度传感模块3)键盘、显示模块4)继电器控制模块1.4系统层次框图本文所研究的温度控制系统硬件部分按功能大致可以分为以下几个部分:单片机主控模块、温度传感模块、键盘显示模块、继电器控制模块。其中,温度控制系统以 AT89C52单片机为核心,并扩展外部存储器构成主控模块。利用温度传感器 DS18B20检测并转换成微弱的电压信号。它具有精度高、可靠性好和能直接将模拟 被测量转

16、换成数字量输出,因此不需要加 A/D转换,电路更加简单。键盘扫描及显 示模块主要由显示驱动芯片8279、反相驱动器74LS06、数码管和3X4组成,完成了 温度设定值的输入和显示温度的功能。 继电器控制模块完成对升温电炉和降温风扇的 控制。对上述各项功能需求进行集中、分块、按照结构化程序设计的要求,得到温度 测量保护系统层次框图,如图1-1所示。图1-1单片机温度控制系统层次框图2 单片机温度控制系统的电路设计单片机温度控制系统的电路设计在整个系统中占有非常重要的地位, 电路结构设 计的好坏将直接对应用系统的效率以及实现的效果产生的影响。 合理的电路结构设计 可以大大提高工作的效率, 保证数据

17、系统的可靠性。 同时合理的电路结构也将有利于 程序的实现。2.1 单片机模块单片机模块主要由单片机芯片 AT89C52 组成,本模块负责与温度传感器、键盘 显示驱动传递命令和数据,并进行数据的处理。单片机从 8279 读入键盘扫描得到的 温度设定值,并将数据保存在存储器某一单元。单片机还负责从 DS18B20 的数据引 脚读入实际的温度值,保存在某一单元。最后,单片机对两者进行比较,从而确定执 行的操作。单片机引脚图如图 2-1 所示PIOPllP13PBP14P15P16P17INTIWTOT1TOEa/VFXK3RESET匝WR理 n m9 i bo iFTct8279 IBl 孙To 8

18、29 IE2Sg ToftaiO IE3 莎皿初p r站-J S3?D T R 53TTu 6219 班3i To 6279 IE7AT89C52EKDPJEH1122CS33斑 827924W E2?91C1;3CTo 827P CLK-!-图2-1 89C52 单片机引脚图2.1.1 主要性能参数与MCS-51产品指令和引脚完全兼容256*8位内部RAM32可编程I/O线3个16位定时器/计数器8个中断源可编程串行UART通道片内振荡器和时钟电路8K字节可重擦写flash闪烁存储器全静态工作:0Hz-24Hz三级加密程序存储器1000次擦写周期2.1.2 功能特性概述AT89C52具有以下

19、标准功能: 8k字节Flash , 256字节RAM , 32位I/O 口 线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中 断结构,全双工串行口,片内晶振及时钟电路。另外, AT89C52可降至0Hz静态 逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、 定时器/计数器、串口、中断继续工作。掉电保护方式下, RAM内容被保存,振荡器 被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。2.1.3 管脚说明(1) VCC :供电电压(2)GND :接地。(3)P0 口: P0 口为一个8位漏级开路双向I/O 口,每脚可吸收8TTL门

20、电流。当 P1 口的管脚第一次写 1 时,被定义为高阻输入。 P0 口能够用于外部程序数据存储器, 它可以被定义为数据 /地址的第八位。在 FIASH 编程时, P0 口作为原码输入口,当 FIASH 进行校验时, P0 输出原码,此时 P0 外部必须被拉高。P1 口: P1 口是一个内部提供上拉电阻的 8位双向I/O 口,P1 口缓冲器能接收 输出 4TTL 门电流。 P1 口管脚写入 1 后,被内部上拉为高电平,可用作输入, P1 口 被外部下拉为低电平时,将输出电流。在FLASH编程和校验时,P1 口作为第八位地 址接收。(5)P2 口: P2 口为一个内部上拉电阻的8位双向I/O 口,

21、P2 口缓冲器可接收,输 出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输 入。P2 口的管脚被外部拉低,将输出电流,这是由于内部上拉的缘故。P2 口当用于外部程序存储器或 16位地址外部数据存储器进行存取时, P2 口输出地址的高八位。 在给出地址“ 1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写 时, P2 口输出其特殊功能寄存器的内容。 P2 口在 FLASH 编程和校验时接收高八位 地址信号和控制信号。(6)P3 口: P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4个 TTL门电流。当P3 口写入“ 1”后

22、,它们被内部上拉为高电平,并用作输入。作为输入, 由于外部下拉为低电平, P3 口将输出电流,这是由于上拉的缘故。 P3 口也可作为AT89C52 的一些特殊功能口,管脚备选功能如下:P3.0 RXD (串行输入口)P3.2 /INT0 (外部中断 0)P3.4 T0 (记时器0外部输入)P3.6 /WR (外部数据存储器写选通)P3.1 TXD (串行输出口)P3.3 /INT1 (外部中断 1)P3.5 T1 (记时器 1 外部输入)P3.7 /RD (外部数据存储器读选通)P3 口同时为闪烁编程和编程校验接收一些控制信号(7)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周

23、期的高电平。(8)ALE/PROG :当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的 地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时, ALE 端以不变 的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6 。因此它可用作对外部输出 的脉冲或用于定时目的。 然而要注意的是: 每当用作外部数据存储器时, 将跳过一个 ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行 MOVX , MOVC 指令时 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在 外部执行状态 ALE 禁止,置位无效。(9) /PSEN :外部程序存储器的选

24、通信号。在外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,两次有效的 /PSEN信号将不出 现。(10) /EA/VPP :当/EA保持低电平时,则在此期间外部程序存储器(OOOOH-FFFFH)工作,不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP )。(11) XTAL1 :反向振荡放大器的输入及内部时钟工作电路的输入。(12) XTAL2 :来自反向振荡器的输出。2.1.4 定时与记数AT89C52单片机内部设有3个16位的可

25、编程定时器/计数器,简称为定时器 O(TO)、定时器l(T1)和定时器2(T2)。可编程是指其功能(如工作方式,定肘时间、量 程、启动方式等)均可由指令来确定和改变。在定时器/计数器中除了有3个16位的 计数器之外,还有两个特殊功能寄存器(控制寄存器和方式寄存器)。2.1.5 复位电路AT89C52单片机复位是使CPU和系统中的其他芯片处于一个确定的初始状态,无论在系统刚开始接通电源时,还是在断开电源或者发生故障后都需要复位。单片机的复位条件是在复位引脚RST加上持续的2个机器周期以上的高电位。复位电路如 图2-2所示zzlQpF (丄LOIL图2-2复位电路2.1.6 时钟电路时钟电路是系统

26、的心脏,它控制着系统的工作节奏,时钟频率因型号而异,典型 值为12MHz 0 AT89C52单片机内部有一个带反馈的线形反相放大器,XTAL1,XTAL2 分别为反相器输入和输出端,外接晶振和电容组成震荡器。震荡器在加电以后延迟一 段时间(约10ms )起振产生时钟。时钟电路如图 2-3所示2.2温度传感模块温度传感模块主要由单线数字温度传感器 DS18B20组成,主要完成温度的测量,图2-4温度传感模块图2.2.1 DS18B20性能特点 采用单总线专用技术,既可通过串行口线,也可通过其它I/O 口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位)。 测温范围为

27、-55 C-+125 C,测量分辨率为0.0625 C。 内含64位经过激光修正的只读存储器 ROM。 适配各种单片机或系统机。 用户可分别设定各路温度的上、下限 内含寄生电源。2.2.2 DS18B20控制方法在硬件上,DS18B20与单片机的连接有两种方法,一种是 Vcc接外部电源, GND接地,1/0与单片机的I/O线相连;另一种是用寄生电源供电,此时Vcc、GND 接地,I/O接单片机I/O。无论是内部寄生电源还是外部供电,I/O 口线要接5KQ左 右的上拉电阻。DS18B20有六条控制命令,如表 2-1所示:表2-1 DS18B20 的六条控制命令指令约定代码操作说明温度转换44H启

28、动DS18B20进行温度转换读暂存器BEH读暂存器9个字节内容写暂存器4EH将数据写入暂存器的TH、TL字节复制暂存器48H把暂存器的TH、TL字节写到E2RAM中重新调e2ramB8H把E2RAM中的TH、TL字节写到暂存器 TH、TL字节读电源供电方式二B4H启动DS18B20发送电源供电方式的信号给主 CPU 12.2.3 DS18B20使用中注意事项DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点, 但在实际应用中也应注意以下几方面的问题:(1 )每一次读写之前都要对 DS18B20进行复位,复位成功后发送一条 ROM 指令,最后发送 RAM指令,这样才能对

29、DS18B20进行预定的操作。复位要求主 CPU将数据线下拉500 us,然后释放,DS18B20收到信号后等待16 60 us左 右,后发出60240 us 的存在低脉冲,主 CPU收到此信号表示复位成功。(所有 的读写时序至少需要 60us ,且每个独立的时序之间至少需要 1us的恢复时间。在 写时序时,主机将在下拉低总线 15us之内释放总线,并向单总线器件写 1 ;若主 机拉低总线后能保持至少 60us的低电平,则向单总线器件写0。单总线仅在主机 发出读写时序时才向主机传送数据,所以,当主机向单总线器件发出读数据指令后, 必须马上产生读时序,以便单总线器件能传输数据。)(2)在写数据时

30、,写0时单总线至少被拉低60us ,写1时,15us内就得 释放总线。( 3)转化后得到的 12 位数据,存储在 DS18B20 的两个 8 比特的 RAM 中, 二进制中的前面 5 位是符号位,如果测得的温度大于 0 ,这 5 位为 0 ,只要将 测到的数值乘于 0.0625 即可得到实际温度;如果温度小于 0 ,这5 位为 1 ,测到的 数值需要取反加 1 再乘于 0.0625 即可得到实际温度。( 4)较小的硬件开销需要相对复杂的软件进行补偿,由于 DS18B20 与微处理器间采用串行数据传送,因此,在对 DS1820 进行读写编程时,必须严格的保证读 写时序,否则将无法读取测温结果。在

31、使用 PL/M 、 C 等高级语言进行系统程序设 计时,对 DS18B20 操作部分最好采用汇编语言实现。(5) 在 DS18B20 的有关资料中均未提及单总线上所挂 DS18B20 数量问题, 容易使人误认为可以挂任意多个 DS18B20 ,在实际应用中并非如此。当单总线上 所挂 DS18B20 超过8 个时,就需要解决微处理器的总线驱动问题,这一点在进行 多点测温系统设计时要加以注意。(6) 连接DS18B20的总线电缆是有长度限制的。试验中,当采用普通信号电 缆传输长度超过 50m 时,读取的测温数据将发生错误。当将总线电缆改为双绞线 带屏蔽电缆时,正常通讯距离可达 150m ,当采用每

32、米绞合次数更多的双绞线带屏 蔽电缆时, 正常通讯距离进一步加长。 这种情况主要是由总线分布电容使信号波形产 生畸变造成的。因此,在用 DS1B820 进行长距离测温系统设计时要充分考虑总线 分布电容和阻抗匹配问题。测温电缆线建议采用屏蔽 4 芯双绞线,其中一对线接地 线与信号线,另一组接 VCC 和地线,屏蔽层在源端单点接地。(7) 在 DS18B20 测温程序设计中,向 DS18B20 发出温度转换命令后,程 序总要等待 DS18B20 的返回信号,一旦某个 DS18B20 接触不好断线,当程序读 该 DS18B20 时,将没有返回信号,程序进入死循环。这一点在进行 DS18B20 硬 件连

33、接和软件设计时也要给予重视。2.2.4 高速暂存存储器在 DS18B20 内部结构中有一个高速暂存存储器, 该存储器由 9 个字节组成, 其 分配如表 2.2 所示。当温度转换命令发布后, 经转换所得的温度值以二进制补码形式 存放在高速暂存存储器的第 0和第 1 个字节。单片机可通过单线接口读到该数据, 读取时低位在前,高位在后,数据格式如表 2-2 所示。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当 S=1时,先将补码变为原码,再计算成 十进制值。表2-2DS18B20暂存器分布顽隹 區度高位 吓 肛 閘置 假留0呆留H呆留帀位皿LSBUSECPU对DS18B20的访问流

34、程是:先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器和数据进行操作。DS18B20每一步操作都要遵循严格的工作时序和通信协议。如主机控制 DS18B20完成温度转换这一过程,根据 DS18B20的 通讯协议,须经三个步骤:每一次读写之前都要对 DS18B20进行复位,复位成功后 发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。2.3 键盘、显示模块键盘、显示模块主要由键盘、显示驱动芯片8279、数码管、3 X4键盘矩阵、反相驱动器74LS06组成,完成温度设定数值的输入和温度的显示功能。键盘、显示驱 动芯片8279主要完成和单片机芯片进行数据的

35、交换,将单片机送来的、需要显示的数据经反相驱动器74LS06反相后驱动数码管,译码扫描输出信号SL0-SL3完成对数码管的选择,并且自动刷新显示数据。8279还负责扫描键盘,形成键码,并将其送至单片机。数码管显示设定温度和实际温度,键盘完成温度数据的设定。总体电路 如图2-5所示:!LE4图2-5键盘、显示模块电路图2.3.1 键盘、显示驱动芯片82798279芯片是一种通用的可编程键盘显示器接口器件,单个芯片就能完成键盘输 入和七段码显示控制两种功能。引脚如图2-6IRQ :中断请求,高电平有效。为输出线。DOD7 :数据总线,为双向三态总线,和单片机的数据总线相连接,用于传送CPU和827

36、9之间的命令、数据和状态等信息。CSUTMarraa cwraiarraiDS 口BDbel冋旳DBSSLIDea4碍ruRLfi冈就E4RLJCiRL4RDftUWERLdAl加KILKSKTFTRE5rcZhTLzS8279细厂图2-6 8279 芯片引脚图RD、WD :读写选通信号,来自CPU,低电平有效。控制8279读、写操作。 CS :片选信号。CS=O时选中8279,为输入线。A0 :数据选择线,A0=1时,CPU写入8279的数据为命令字、从8279读出 的数据为状态;A0=0时,CPU读写的字节均为数据。RESET:复位端。RESET=1时8279复位,复位时芯片有关状态是:程

37、序时钟 编程为31、外部译码键扫描方式,双键互锁,16个字符显示。CLK:系统时钟。外部时钟输入,经分频后产生100kHz,作为8279的内部时钟。RL0RL7 :反馈输入线。平时保持“ 1 ”,当键盘矩阵结点上有键闭合时,边为 “0 ”。在选通方式时作为8位输入线。SHIFT :移位信号。高电平有效,可用它扩充键盘功能,作为上、下档功能选择 键。在传感器方式或选通方式中无效。CNTL/STB :控制/选通输入线。高电平有效,常用于扩充键的控制功能,该信 号的上升沿可将来自RL0RL7的数据存入FIFO RAM中。SL0SL7 :扫描输出线,用于键盘、显示器或传感器的扫描线。OUTA0OUTA

38、3 : A组段显示数据输出线。OUTB0OUTB3 : B组段显示数据输出线。A、B两组可以单独使用,也可合并使用。与多位数字显示的扫描线SL0SL3同步。BD :消隐输出线,低电平有效。当有显示切换或消隐命令时,使显示器消灭。2.3.2 8279内部结构1. I/O控制和数据缓冲器数据缓冲器是双向缓冲器,连接内部总线和外部总线D7D0,用于传送CPU和8279之间的命令状态和数据。I/O控制线是CPU对8279进行控制的引线,CS是片选信号,A0用于区别信 息的特征。2控制逻辑控制与定时寄存器用来寄存键盘和显示器的工作方式以及由 CPU编程的其他操 作方式。这些寄存器一旦接受锁存送来的命令,

39、 就通过译码产生相应的信号,从而完 成相应的控制功能。定时和控制包含一些计数器,其中有一个5位计数器,对CLK引线输入的时钟 信号进行分频,产生100kHz的定时信号,然后再经过分频为键盘扫描提供适当的逐 行扫描频率和显示扫描时间。3扫描计数器扫描计数器有编码和译码两种工作方式。按编码方式工作时,扫描计数器的状态 从SL0SL3输出,通过外部译码器,可以外接16位显示器和8 X8键盘;按译码方 式工作时,扫描计数器的低 2位的状态从SL0SL3输出,状态为00,SL0输出低 电平,SL1SL3输出高电平;状态为01 , SL1输出为低电平,其他输出为高电平 此时只能外接4位显示器和4 X8键盘

40、。4 键输入控制和FIFO (先进先出)RAM这部分电路可以完成对键盘的自动扫描,锁存 RLoRL7的输入信号,搜索闭合 键,去除键抖动,并将键输入数据写入先进先出存储器(FIFO RAM )。8279具有8 个字节先进先出的键输入存储器,当FIFO RAM中存有键盘上闭合键的键码时,IRQ 变为高电平,向CPU请求中断:当CPU从FIFO RAM中读取数据时,IRQ变为低 电平。若RAM中仍有数据,则IRQ再次恢复高电平;当CPU将RAM中的输入数 据全部读出时,IRQ下降为低电平。键盘扫描方式中,8279输入数据按下列格式存放:D7D6D5 D4 D3D2 D1 D0CNTLSHITFSC

41、ANRETURNCNTL (D7 ):控制键CNTL的状态。SHITF ( D6):控制键SHITF的状态。SCAN ( D5D3 ):输入键的行数,由 SLOSL2的状态确定。RETURN (D2D0):指出输入键的列数,由 RL0RL7状态确定。5 .显示RAM和显示地址寄存器8279中有16个字节的显示寄存器。CPU将段数据写入显示存储器,存储的显 示数据轮流从显示寄存器输出,CPU将显示数据写入存储器有左端送入和右端送入 两种方式。左端送入为依次填入方式,右端送入为移位方式,显示寄存器的输出与显 示扫描配合,不断的将显示 RAM中的数据在显示器上显示出来,也可以合送一个8位的二进制数据

42、。显示地址寄存器用来寄存由 CPU进行读/写显示RAM的地址,它可以由命令设 定,也可以设置成每次读出或写入之后自动递增。2.3.3 键盘和数码管在本模块中键盘向单片机芯片输入用户准备设定的温度值,显示部分的数码管显 示设定的温度值和实际温度值。现规定设定温度值在 0 C到99 C之间,故需要显示 的数码位数为两位数,需要的数码管总数为 4,用于温度设定的键盘采用 3 X4键盘 矩阵。结合上述8279芯片的介绍,显示电路采用译码扫描、 4字符显示、左进工作方 式,数码管采用共阳极LED数码管。扫描输出SL0SL3已经过译码,故可直接作为 4个数码管的选通信号,轮流刷新4个数码管。OUTA03与

43、OUTB 03共同作为显示 输出,经74LS06反相驱动后接至LED显示器,每个输出驱动一段,各个数码管相同的段连接在一起。显示内容来自显示 RAM。现规定第一位数码管显示设定温度的 十位数字,第二位数码管显示设定温度的个位数字,第三位数码管显示实际温度的十位数字,第四位显示实际温度的个位数字。 键盘的12个键中,10个键用于设定温度 值的0-9这10个数,一个键用于删除输入错误的数字,一个用于确定所输入的温度 值。按键及相关说明如表2-3所示:表2-3按键及相关说明按键行扫描信号列扫描信号键盘扫描数据键码SL2SL1SL0RL3RL2RL1RL0S01101110110000000S1101

44、1110110010001S20111110110100002S31101101110000013S41011101110010014S50111101110100015S61101011110000106S71011011110010107S80111011110100108S91100111110000119S1010101111100101110S11011011111010011112.4继电器控制模块本模块主要是用来控制温度高低,当环境的温度高于或低于设定的温度值,继电器开始工作,进行降温或升温以达到设定温度值。继电器模块电路图如图2-7所示K2CS53QEN0CCVCC图2-7继电

45、器模块2.4.1 继电器接点说明NC :常闭点,以COM为共同点,NC与COM在平时是呈导通状态的。COM :共通点,输出控制接点的共同接点。NO :常开点,NO和COM平时呈开路的状态,当继电器工作时,NO和COM 导通,NC和COM则呈开路状态。在本设计中为了达到降温或升温的目的, 在单片机的P1.1和P1.7脚分别接 一个继电器,一个继电器的2脚和3脚间接加热电炉另一个继电器的 2脚和3脚间 接风扇,当继电器P1脚输入一个低电平时,C8550B处于截至状态,继电器不工作, 当给一个高电平时,由于磁场的吸合作用使得继电器开始工作,同时 1脚和3脚断 开,2脚和3脚接通。从外面可以看到发光二

46、极管点亮,说明继电器在正常的工作。2.4.2 继电器控制升温在单片机的P1.1接一个继电器,继电器的3脚和2脚间接加热电炉,当继电器 P1脚输入一个低电平时,C8550B处于截至状态,继电器不工作,当给一个高电平 时,由于磁场的吸合作用使得继电器开始工作,同时1脚和3脚断开,2脚和3脚接通说明此时电炉升温。从外面可以看到发光二极管点亮,说明继电器在正常的工作。2.4.3 继电器控制降温在单片机的P1.7接一个继电器,继电器的3脚和2脚间接降温风扇,当继电器 P1脚输入一个低电平时,C8550B处于截至状态,继电器不工作,当给一个高电平 时,由于磁场的吸合作用使得继电器开始工作,同时1脚和3脚断

47、开,2脚和3脚接 通说明此时使用风扇降温。 从外面可以看到发光二极管点亮, 说明继电器在正常的工 作。3 系统软件设计3.1 系统主程序框图本系统的流程框图中, Ts 设定温度 Tr 实际温度,系统主程序要做的主要工作是 上电后对系统初始化和构建系统整体软件框架,主要完成 AT89C52 芯片、 8279 芯 片和 DS18B20 的初始化, 对继电器、数码显示管的初始化, 完成对键盘处理子程序、 18B20 子程序、 显示子程序的调用, 并完成对温度值的比较判断 ,然后等待温度设定, 若温度已经设定好了, 判断系统运行键是否按下, 若系统运行, 则依次调用各个相关 模块,循环控制直到系统停止

48、运行。如图3-1所示(温度处理中,允许最大的温差为3C)懸处理子程序,设定温E %1 r1SB2C处理子程帛温度采集Tx数码管动态降温煙k銅关继电器图3-1主程序框图3.2键盘处理子程序框图键盘处理子程序流程框图主要完成对键盘设置温度值进行处理,如图3-2所示本课题中共需要设置两位数字。 框图将数字位数送入R1,将读入的键盘值送入缓冲 单元28H,完成初始化后,循环判断是否有按键,有,则读入键码值并将其转换成 二进制数并存储在指定单元,计数器减 1,地址增1 ;无,则返回继续判断是否存在 按键。存储单元28H迸地址寄存器R2读眉女縫的键盘殛低為K2+1査表,将所得破D码转换成二进制图3-2键盘

49、处理子程序框图3.3 DS18B20子程序框图DS18B20子程序框图主要完成对温度传感器 DS18B20的初始化和从18B20中 读出数据的操作,负责温度信号的采集以及将采集到的模拟量通过A/ D转换器转化为相应的数字量提供给单片机。如图3-3所示。单片机对DS18B20的数据引脚进行 500uS的低电平复位,并判断复位是否成功。没有成功则继续进行复位;复位成功 则进行读操作。每一次对DS18B20进行读写操作先必须依次经过复位、ROM指令。图3-3DS18B20子程序框体会单片机温度控制系统采用了高性能的单片机, 其丰富的片内源, 使得外围扩展器 件少,体积小,降低了成本,也降低了故障率。

50、通过两个多月的毕业设计,我对AT89C52系列单片机和数字温度传感器DB1280有了初步了解 ,从中获得了很多课堂上学习不到的知识,其中我对以下几点有比较深 的体会:(1 )电路的设计要细致认真,对于使用芯片的特点要熟知。(2)编程一定要规范,必要时应加上注解。不要想当然地定义某个变量、常量。 标准的定义方法和习惯,用助于其他程序员理解程序代码,以便今后进行维护。(3)查阅资料是必不可少的一个环节,如果能找到与设计有关的合适参考文献, 将对所做的编程工作有极大的帮助, 可以避免走许多不必要的弯路。 在互联网上搜索 相关资料,往往会有意想不到的惊喜,大大提高效率。(4)程序编写好后,对它的调试也

51、是及其重要的一步。调试程序的意义在于,可 以逐步改正程序中的错误, 努力使程序达到最佳的状态。 在调试的过程中应该尽量以 普通用户的思想去测试,而不是程序设计者。这次毕业实习与毕业设计对我来讲是一次难得实践机会, 在真正的工作中加深了 对专业知识的理解, 积累了经验! 无论是自己的意志品质还是适应社会的能力都得到 了磨练,为今后走向社会打下了坚实的基础。致谢在论文完成之际,回顾大学的成长道路,我在学业和生活上得到了众多老师、 同 学和朋友们的热心帮助和大力支持。在此,我要向你们表示我最诚挚的谢意!本论文是在林刚勇教授的悉心指导下完成的, 在此我首先对林教授表示诚挚的谢 意。在我的整个学习阶段,

52、无论在专业学习,还是在课题研究和论文撰写上,林教 授都给予了极大的关心、指导和鼓励。林教授求真务实的治学精神、渊博的知识、丰 富的实践经验、勇于开拓的科学精神和平易近人的态度, 是我终身难忘,并将深深影 响我以后的工作和学习,再次感谢林教授对我不倦的栽培!在毕业设计期间,教研组的所有老师都给予我非常大的关心和指导,感谢你们。 使我能顺利的完成毕业论文。最后感谢所有对我有过帮助在我人生中知遇的许许多多匆匆过客,愿他们能心想事成!参考文献1 秦实宏,徐春辉 . MCS-51 单片机原理及应用 M . 武汉:华中科技大学出版社,2010.2 陈明荧. 8051 单片机课程设计实训教材 M . 北京:

53、清华大学出版 ,2004.3 凌玉华. 单片机原理与应用系统设计 M . 长沙: 中南大学出版社 ,2006.4 李军. 检测技术及仪表 M . 北京:中国轻工业出版社 ,2002.5 栾桂东,金欢阳 . 传感器及其应用 M . 西安 :西安电子科技大学 ,2002.6 康华光. 电子技术基础模拟部分(第四版) M. 北京:高等教育出版社, 1999.7 谭浩强.C程序设计(第三版)M.北京:清华大学出版社.2005-7-3.8 侯玉宝.基于Proteus的51系列单片机设计与仿真M.电子工业出版社.20089 刘鸣,车立新,陈兴梧,赵煜. 温度传感器 DS18B20 的特性及程序设计方法 J

54、. 电 测与仪表 ,2001 ,( 10) .10 周月霞,孙传友. DS18B20 硬件连接及软件编程 J. 传感器世界 ,2001 ,(12)11 陈涛. DS18B20 芯片与单片微控制器的接口设计与应用 J. 山东煤炭科 技.2002,(03).12 陈跃东 . DS18B20 集成温度传感器原理及其应用 J. 安徽工程科技学院学 报,2002(04).附录单片机内存分配申明 :TEMPESEQU 27H;用于保存设定温度值TEMPER_LEQU 29H;用于保存实际温度Tr的低8位TEMPER_HEQU 28H;用于保存实际温度Tr的高8位FLAG1EQU 38H;是否检测到 DS1

55、8B20 标志未LOEQU #0F60H;定时器低字节HIEQU #0F6H;定时器高字节FLAG2EQU 39H;按键标志位A_BITEQU 20H;数码管实际温度 Tr 个位数存放位置B_BITEQU 21H;数码管实际温度Tr十位数存放位置C_BITEQU 18H;数码管设定温度 Ts 个位数存放位置D_BITEQU 19H;数码管设定温度 Ts 十位数存放位置SDWDEQU 30H;转换后的设置温度SJWDEQU 31H;转换后的实际温度SW1EQU P1.1;继电器 1 控制引脚,加热继电器SW2EQU P1.7;继电器 2 控制引脚,降温继电器DS18EQU P1.0; DS18B

56、20 的数据引脚SJKEQU FFE8H; 8279 的数据口MLKEQU FFEAH; 8279 的命令口8CLKEQU ALK; 8279 的时钟信号输入端ORG00HJMPMAINORG0BHCLR SWCLRSW2 ;MOVA_BIT,#0MOVB_BIT,#0MOVC_BIT,#0MOVD_BIT,#0MOVTEMPES,#0MOVTEMPER_L,#0MOVTEMPER_H,#0MAIN :关继电器 2;关继电器 1INIT_1820 :SETBDS18NOPCLRDS18MOVR1,#3TER1:MOVR0,#107DJNZR0,$DJNZR1,TSR1SETBDS18NOP;主

57、机发出延时 537 微妙的复位低脉冲;拉高数据线NOPNOPNOPMOVR0,#25HTSR2:JNBDS18,TSR3;等待 DS18B20 回应DJNZR0,TSR2;延时LJMPTSR4TSR3:SETBFLAG1;置标志位,表示 DS18B20存在LJMPTSR5TSR4:CLRFLAG1;清标志位,表示 DS18B20不存在LJMPTSR7TSR5:MOVR0,#117TDR6:DJNZR0,TSR6;时序要求延时一端时间TSR7:SETBDS18RETLP:MOVXA, DPTRJBACC.7,LPMOVA,#2AH;S 时钟十分频成 100KHzMOVXDPTR,AMOVXDPT

58、R,#DISHBH ;提示符 0000 代码首地址LCALLDISMOV27H,#80HSETBITSETBEASETBEX1INIT_TIMTR :MOVTMOD ,#22H;定时器初始化,使用定时器0模式2MOVIE,#00H;启用定时器0 中断产生MOVTL0,#L0;加载低字节MOVTH0 ,#HI;加载高字节SETBTR0;启动定时器0 开始记时SETBEASETBET0JNBTF0,$CPL8CLKMOVSP,#60HCLREAMOVDPTR,#MLKMOVA,#0D1HMOVXDPTR,AJPCLZHUCHXU :LCALLLCALLDISPLAYAA:LCALLGET_TEMPERMOVA,SJWDCJNEA,SDWD,PDXD:LCALLDISPLAYLJMPZHUCHXUPD:JCPD1SUBA,3CJNEA,SDWD,PD2LCALLXDPD2:JNCJWLCALLXDPD1:ADDA,#3CJNEA,SDWD,PD2LCALLXDPD2:JCSWLCALLXD

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!