温控论文.doc_第1页
温控论文.doc_第2页
温控论文.doc_第3页
温控论文.doc_第4页
温控论文.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

摘 要单片机在我们的生活中已有广泛的应用,主要用于控制领域,尤其是提高产品的智能化和实时性。本文是基于AT89C52单片机的温度实时显示与智能控制。利用DB18B20温度传感器,将采集到的温度信号送入单片机,由单片机实现对信号的转换并送LCD液晶显示。同时还加入了DS12C887时钟芯片,用于对温度的实时显示,可以用作实验的数据采集等。另外有按键设置、温度超出范围报警和温度、时间的智能调节功能,这样更增加了设计的实用性。本设计主要由单片机最小系统、温度采集电路、实时时钟电路、LCD显示电路、时间与温度智能调节按键电路、报警电路及电源电路组成。运用理论基础和软件对设计进行了硬件制作和仿真,达到了设计要求,实现了温度的实时显示与智能控制。关键词:温度控制系统 DS18B20温度时间智能调节实时显示系统 DS12C887 按键与报警目 录第一章 概述41.1 课题的来源与目的41.2 温度实时显示系统的前景与意义4第二章 系统的总体设计52.1 系统的总体要求52.2 方案的选择与论证52.2.1 温度采集器的选择52.2.2 时钟芯片的选择5 2.2.3 显示元件的选择5 2.2.4 按键的选择52.3 系统的组成与技术指标62.3.1 系统的组成62.3.2 系统的技术指标62.4 系统的工作原理与工作流程62.4.1 系统的工作原理72.4.2 系统的工作流程7第三章 硬件电路的设计83.1 温度采集83.1.1 DB18B20简介83.1.2 温度传感器电路的设计93.2 时钟电路103.2.1 DS12C887简介103.2.2 实时时钟电路的设计113.3 显示电路113.3.1 1602简介123.3.2 液晶显示电路的设计133.4 按键电路133.5 报警电路133.6 单片机最小系统133.6.1 单片机简介143.6.2 最小系统电路16第四章 系统软件的设计164.1主程序的设计164.2 温度采集子程序的设计184.3 实时时钟子程序的设计194.4 显示子程序的设计204.5温度与时钟自动调节子程序的设计214.6报警子程序设计22第五章 系统的调试与测试235.1 使用仪器235.2 硬件电路的焊接与调试235.2.1 电脑制图235.2.1 焊接实物板245.2.3 实物板调试 245.3 软件的仿真24第六章 总结25参考文献27致谢28 第一章1.1 课题的来源与目的单片机是一门新兴领域,有着广阔的前景。单片机的出现时近代计算机发展史上的一个重要的里程碑,它的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。单片机是应嵌入式系统应用而产生,其体积小。成本低,使其可广泛应用于如玩具、家用电器、机器人、汽车电子系统、工业控制单元、办公自动化、舰船、个人终端信息及通信产品中。单片机以面向对象的实时监测和控制为己任,不断增强控制能力,降低成本,减小体积,改变开发环境,迅速而广泛的取代了经典电子系统。我在大三上学期才开始接触到单片机,在学校学了一个学期,可是总感觉自己没学到什么东西,对汇编语言基本上也知之甚少,很难去编写一个程序,总的感觉是:单片机很高深,可以做很做我们想不到的东西,所以很想去更好的去学习。看到一些同学了培训,自己就等看着他们学的怎么样,结果都学得不错,所以我暑假就报了班。在里面真的学到了好多,可以自己做些简单的小产品,感觉很有意思,我们最后需要做一件作品和写论文。老师给了好多题目,经过自己的思考和询问决定了做这个课题:温度的实时显示与控制!如今,温度的传感与控制应用相当广泛,在工业、环境监测、医疗和家庭里都有应用。同时利用单片机进行智能控制的产品也越来越多。本设计就是基于AT89C52的温度实时显示与控制,它包含了温度的采集、数据的处理与显示、温度的调节与报警(此设计中没有接外围设备,在实际使用中可以在其它的I/O口接继电器或者电机驱动外围设备降温或者加热),同时还增加了实时时钟(可以用于数据的统计分析等一些场合)。本设计以实际应用为出发点,采用了DS18B20、DS12C887等控制芯片。1.2 温度实时显示系统的前景与意义在人类的生活环境中,温度扮演着极其重要的角色。温度是工业生产中常见的工艺参数之一,任何物理变化和化学反应过程都与温度密切相关,因此温度控制是生产自动化的重要任务。对于不同的生产情况和工艺温度下的控制,所采用的加热方式,燃料,控制方案也有所不同。无论你生活在哪里,从事什么工作,无时无刻不在与温度打交道。自18世纪工业革命以来,工业发展对是否能掌握温度有着绝对的联系。在冶金、钢铁、石化、水泥、玻璃、医疗等行业,可以说几乎80%的工业都不得不考虑着温度的因素。目前温度控制系统种类繁多,但功能参差不齐。有简单的应用于家庭的,如空调,电饭煲、太阳能热水器,电冰箱,等家用电器的温度检测和控制系统。此外,还有较为成熟的温度控制器,利用感温液体热胀冷缩及液体不可压缩的原理而实现自动调节。国内外市场以单片机为核心的温度控制系统很多,不仅方案灵活,且应用面比较广,可用于工业上的加热炉、热处理炉、反应炉,在生活当中的应用也比较广泛,如热水器,室温控制,农业中的大棚温度控制。传统的温度计温度间隔通常都很密,不容易准确分辨,读数困难,而且他们的热容量还比较大,达到热平衡所需的时间较长,因此很难读准,并且使用非常不方便,像高速公路,工厂,血库等特殊地点的温度监控造成了很大的不便。本设计所介绍的温度实时显示与控制系统与传统的温度计相比,具有读数方便,测温范围广,测温准确,并能自动报警,实时检测等优点,其输出温度采用数字显示,测试的温度能够快速直观的在LED数码管上显示,解决了传统温度计的弊端,而且价格也十分便宜。因此有着广阔的前景!第二章 系统的总体设计2.1 系统的总体要求1. 温度控制范围1835,可调节的上下限设为050。2. 系统正常工作时,液晶屏用于实时显示当前检测的温度,报警温度值及时间。3. 能根据设定的温度值实现自动降温和升温处理。4.时间是同步时钟,具有高度可靠性。5.时间和温度的上下限都是可调节的。6. 设计出简洁、稳定的系统电路。2.2 方案的选择与论证2.2.1 温度采集器的选择本设计是使用DS18B20温度传感器进行温度的采集。其主要原因是:DS18B20是单总线连接器件,电路连接简单且不需要外接A/D转换,大大减少了焊接的工作量;同时,DS18B20测温范围广,测量的精度较高,抗干扰能力强,更经济、更灵活。热敏电阻是利用对温度敏感的半导体材料制成,其阻值随温度变化有明显的改变。其特点是在工作温度范围内电阻阻值随温度的上升而降低。可满足40 90测量范围,但热敏电阻精度、重复性、可靠性较差,不适用于检测小于1的信号;而且线性度很差,不能直接用于A/D转换,应该用硬件或软件对其进行线性化补偿,故不选。红外温度传感器MLX90615ESG-DAA。温度计能适应从-40C到85C的广泛工作温度范围。但此芯片易于损坏,故不选用。综合考虑最终选用DS18B20温度传感器。2.2.2 时钟芯片的选择 本设计选用的时钟芯片是DS12C887。其主要原因是:该器件提供RTC/日历、定是闹钟、三个可屏蔽的中断和一个通用终端输出、可编程方波以及114字节电池备份的静态RAM。同时将DS12R885与石英晶体和电池集成在一起,断电后可自动供电,保持时钟的同步。而单片机自带的定时器,虽然可以精确到微妙,也可以通过显示装置进行显示,但是每当复位和断电后就会回来初始化状态,不具有实时性,因而不用单片机自带的定时器。2.2.3 显示元件的选择本设计使用1602LCD液晶显示。其主要原因是:LCD的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。可同时显示不同的信息,便于观察比较和修改,其硬件电路的连接简单明了,操作方便。LED数码管是一种半导体发光器件,其基本单元是发光二极管。LED数码管是一类显示屏。能够显示时间、日期、温度、等所有可用数字表示的参数。而且工作电低,显示简单明了,但显示单一不能同时显示各个信息,多为在一起电路连接繁琐。故不选数码管。2.2.4 按键的选择本设计采用的是独立按键。其主要原因是:每个按键各接一根输入线,一根输入线上的按键工作状态不会影响其他输入线上的工作状态。因此,通过检测输入线的电平状态可以很容易判断哪个按键被按下了。独立式按键电路配置灵活,软件简单。且该设计所用的按键较少。矩阵式按键工作原理是按键设置在行、列交叉点上,行、列线分别连接到按键开关的两端。行线通过上拉电阻接到+5V上。平时无按键按下时,行线处于高电平状态,而当有按键按下时,行线电平状态由与此电平相连的列线电平决定。列线电平如果为低,则行线电平为低;列线电平为高,则行线电平为高。这是识别矩阵键盘是否被按下的关键所在。由于矩阵键盘中行、列线为多键共用,各按键均影响该键所在行和列的电平,因此,各按键彼此将相互发生影响,所以不必将行、列线信号配合起来并作适当处理,才能决定闭合键位置。占用I/O口线少,但软件结构复杂且电路焊接费时,用于按键较多的场合,因此不用。2.3 系统的组成与技术指标2.3.1 系统的组成温度的实时显示与智能控制系统主要由以下几个方面组成:DS18B20温度传感器、1602LCD液晶显示、DS12C887时钟的实时显示、AT89C52单片机、设置按键、蜂鸣器报警、单片机最小系统。2.3.2 系统的技术指标(1)DS18B20采用单总线技术,与单片机通信只需要一个I/O口,在一根线上可以同时挂多个(最多8个)DS18B20。(2)DS12C887自带晶振和电池,掉电可以工作,用于实时显示。(3)低压供电。电源范围为35V,可以本地供电,也可以从数据线上直接窃取电源(寄生电源方式)(4)系统测温范围为:55+125,在-1085范围内误差为0.5。(5)系统温度分辨率:0.5V。(6)用户可以自己设置限定报警温度,但复位后恢复设置初值,如需要要自己设置调定。(7)LCD显示屏型号:1602A(8)时钟也可以自己调时,如需要还可以设置闹钟。2.4 系统的工作原理与工作流程2.4.1 系统的工作原理该系统是以AT89C52为基础,关于温度的实时显示与智能控制。其工作原理:温度传感器DS18B20采集温度,通过A/D转换变成数字量传入单片机中,单片机对其进行适当的转换,使其显示并与设定的温度进行比较,如果大于设定温度上限,发出报警并驱动设备制冷,降低温度;如果小于设定的温度下限,发出报警并驱动设备加温,增加温度,使其温度控制在一定的范围内。同时还增加了温度的实时显示,由DS12C887S实现实时监测温度,其系统原理图如图1所示。AT89C52单片机时钟输入时钟输出温度传感器显 示驱 动制冷加热空气 图1 工作原理图2.4.2 系统的工作流程系统的工作流程如下:开始,先接通电源,LCD液晶显示器自动显示出当前温度、报警值及当时时间,温度报警值是上限35,下限20。第一次按下s1按键,时钟秒位设置值,第二次按下s1,时钟分位开始设置,第三次按下s1时钟小时位开始设置,第四次按下s1温度报警上限值设置,第五次按下s1温度报警值下限设置,最后按s1是恢复正常工作状态。在按s1的前五次中,s2为加1键,按此键则温度设定加1度或时间加1。s3为减1键,按此键则温度设定减1度或时间减1。时间与温度的极限值就是如此设定。就这样通过温度芯片的反馈信息,实现温度保持在预定温度,从而达到实时显示与自动控制温度的功能。第三章 硬件电路的设计3.1 温度采集3.1.1 DB18B20简介(1)DS18B20的主要特征: 1.全数字温度转换及输出。 2.先进的单总线数据通信。 3.最高12位分辨率,精度可达土0.5摄氏度。 4.12位分辨率时的最大工作周期为750毫秒。 5.可选择寄生工作方式。 6.检测温度范围为55C +125C (67F +257F) 7.内置EEPROM,限温报警功能。 8.64位光刻ROM,内置产品序列号,方便多机挂接。 9.多样封装形式,适应不同硬件系统。 (2)DS18B20引脚功能: GND 电压地 DQ 单数据总线 VDD 电源电压 (3)DS18B20工作原理及应用: DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。在讲解其工作流程之前我们有必要了解18B20的内部存储器资源。18B20共有三种形态的存储器资源,它们分别是: ROM 只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。数据在出产时设置不由用户更改。DS18B20共64位ROM。 RAM 数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。在上电复位时其值将被刷新。第5个字节则是用户第3个EEPROM的镜像。第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第9个字节为前8个字节的CRC码。EEPROM 非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作。(4)DS18B20的内部结构DS18B20采用脚PR35封装或8脚SOIC封装,其内部结构框图如图2所示。64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器TH和TL,可通过软件写入户报警上下限。温度传感器高温触发器TH配置寄存器低温触发器TL8位CRC发生器存储器与控制逻辑高 速 缓 存64位ROM和单线线接口 图2 DS18B20内部结构(5)DS18B20温度传感器与单片机的接口电路DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,如图2-5所示单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。 当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的。3.1.2 温度传感器电路的设计如果要控制多个DS18B20进行温度采集,只要将所有的DS18B20的I/O口全部连接到一起就可以。此外,单总线控制的通常要外接一个约为5K的上拉电路。本系统的温度采集电路如图3所示,DS18B20与单片机连接的电路非常简单单片机只需要一个I/O口就可以控制多个DS18B20。在具体操作时,通常通过读取每个DS18B20内部芯片的序列号来识别。其电路图如图3:图3 温度传感器电路3.2 时钟电路3.2.1 DS12C887简介(1)DS12C887主要特点1、 可作为IBMAT计算机的时钟和日历2、 与MC146818B和DS1287管脚兼容3、 在没有外部电源的情况下可工作10年4、 自带晶体振荡器和电池5、 可计算到2100年前的秒、分、时、星期、月、年、七种信息并带瑞年补偿6、 用二进制码或BCD码代表日历和闹钟7、 有12和24小时两种制式,12小时制式有AM和PM提示8、 可选用夏令时模式9、 地址和数据总线复用10、 内建128字节RAM:14字节时钟控制寄存器、114字节通用RAM11、 三种可编程中断:时间性中断,可产生每秒一次直到每天一次中断;中期性中断122ms到500ms;时钟更新结束中断(2)引脚功能GND、VCC:直流电源,其中VCC 接+5V 输入,GND 接地,当VCC 输入为+5V 时,用户可以访问DS12C887 内RAM 中的数据,并可对其进行读、写操作;当VCC 的输入小于+4.25V 时,禁止用户对内部RAM 进行读、写操作,此时用户不能正确获取芯片内的时间信息;当VCC 的输入小于+3V 时,DS12C887 会自动将电源发换到内部自带的锂电池上,以保证内部的电路能够正常工作。MOT:模式选择脚,DA12C887 有两种工作模式,即Motorola 模式和Intel 模式,当MOT接VCC 时,选用的工作模式是Motorola 模式,当MOT 接GND 时,选用的是Intel 模式。本文主要讨论Intel 模式。SQW:方波输出脚,当供电电压VCC 大于4.25V 时,SQW脚可进行方波输出,此时用户可以通过对控制寄存器编程来得到13 种方波信号的输出。AD0AD7:复用地址数据总线,该总线采用时分复用技术,在总线周期的前半部分,出现在AD0AD7 上的是地址信息,可用以选通DS12C887 内的RAM,总线周期的后半部分出现在AD0AD7 上的数据信息。AS:地址选通输入脚,在进行读写操作时,AS 的上升沿将AD0AD7 上出现的地址信息锁存到DS12C887 上,而下一个下降沿清除AD0AD7 上的地址信息,不论是否有效,DS12C887 都将执行该操作。DS/RD:数据选择或读输入脚,该引脚有两种工作模式,当MOT 接VCC 时,选用Motorola 工作模式,在这种工作模式中,每个总线周期的后一部分的DS 为高电平,被称为数据选通。在读操作中,DS 的上升沿使DS12C887 将内部数据送往总线AD0AD7 上,以供外部读取。在写操作中,DS 的下降沿将使总线AD0AD7 上的数据锁存在DS12C887 中;当MOT 接GND 时,选用Intel 工作模式,在该模式中,该引脚是读允许输入脚,即Read Enable。R/W:读/写输入端,该管脚也有2 种工作模式,当MOT 接VCC 时,R/W工作在Motorola 模式。此时,该引脚的作用是区分进行的是读操作还是写操作,当R/W 为高电平时为读操作,R/W为低电平时为写操作;当MOT 接GND 时,该脚工作在Intle 模式,此时该作为写允许输入,即Write Enable。CS:片选输入,低电平有效。IRQ:中断请求输入,低电平有效,该脚有效对DS12C887 内的时钟、日历和RAM 中的内容没有任何影响,仅对内部的控制寄存器有影响,在典型的应用中,RESET 可以直接接VCC,这样可以保证DS12C887 在掉电时,其内部控制寄存器不受影响。3.2.2 实时时钟电路的设计DS12C887电路连接简单。其有24个引脚,8个数据口,接单片机的P0口,4个控制口分别接P1的各个引脚,还有/IQR 接P33,还有6个空引脚。其电路图如图4: 图4实时时钟电路3.3 显示电路3.3.1 1602简介1.主要技术参数显示容量:162个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.954.35(WXH)mm2.管脚功能引脚符号功能说明1VSS一般接地2VDD接电源(+5V)3V0液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。4RSRS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。5R/WR/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。6EE(或EN)端为使能(enable)端,下降沿使能。7DB0低4位三态、 双向数据总线 0位(最低位)8DB1低4位三态、 双向数据总线 1位9DB2低4位三态、 双向数据总线 2位10DB3低4位三态、 双向数据总线 3位11DB4高4位三态、 双向数据总线 4位12DB5高4位三态、 双向数据总线 5位13DB6高4位三态、 双向数据总线 6位14DB7高4位三态、 双向数据总线 7位(最高位)(也是busy flag)15BLA背光电源正极16BLK背光 电源负极3.工作原理液晶板上排列着若干57或510点阵的字符显示位,每个显示位可显示1个字符,从规格上分为每行8、16、20、24、32、40 位,有一行、两行及四行三类。接口方面,有 8 条数据,三条控线。可与微处理器或微控制相连,通过送入数据和指令,就可使模块正常工作。4.字符集表1所示是字符库的内容、字符码和字形的对应关系。例如“A”的字符码为41(HEX),“B”的字符码这42(HEX)。3.3.2 液晶显示电路的设计该部分电路由一个10K的变阻器和一个1602a的液晶屏组成。液晶屏有16个引脚,八个数据引脚,连接P0口,RS、EN分别于单片机的P35、P34相连,因为不需要读,所以R/W接地,变位器用于调节液晶屏的亮度。液晶显示电路如图5:图5 液晶显示电路3.4 按键电路本设计使用的是独立按键,每个按键接一跟输入线,各个按键之间互不影响。软件设计采用程控扫描方式,低电平有效。按键直接与单片机相连,通过读I/O口状态即可识别按键。其3个按键分别与P20、P21、P22相连接,分别定义为s1、s2、s3。s1为功能键,前五次是设置不同的值,最后一次恢复正常状态。s2为加1设置键,可以给温度或者时间加1。s3为减1设置键,可以给温度或者时间减1。其电路如图6:P2.2P2.1P2.0图6 按键电路3.5 报警电路该电路由一个三极管9012PNP、蜂鸣器和一个限流电阻组成。三极管用来驱动,当I/O口为底时,蜂鸣器工作。蜂鸣器与P26相连,当温度大于上限或者小于下限都会短暂报警,直到温度在此范围内,蜂鸣器停止工作。其电路如图7:VccP2.6图7 报警电路3.6 单片机最小系统3.6.1 单片机简介AT89C52是美国ATMEL公司生产的低功耗、高性能CMOS8位单片机,片内含8KB的可系统编程的 EEPROM只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。 ATMEL公司的功能强大,低价位AT89C52单片机提供许多高性价比的应用场合,可灵活应用于各种控制领域。1 单片机的基本组成(1)中央处理器(运算器和控制器)(2)存储器(8KEEROM程序存储器128BRAM数据存储器)(3)4个8位并行I/O口(4)1个全双工串行I/O口(5)3个16位定时器/计数器(6)6个中断源(7)定时电路与元件2.引脚功能 40个引脚大致可分为四类:电源、时钟、控制、I/O口引脚(1) 电源与晶振Vcc 运行和程序校验时加+5VVss 接地XTAL1 输入到振荡器的反向输入端XTAL2 反向放大器的输出,输入到内部时钟发生器当用外部振荡器时,XTAL1接收外振荡器信号,XTAL2悬空。(2) I/O口P08位,漏极开路的双向I/O口当使用片外存储器时,作为底8位地址和数据总线分时复用。用做输出时需外加上拉电阻。P18位,准双向I/O口,具有内部上拉电阻P1.0T2,定时器的计数端且为输入P1.1T2EX,定时器的外部输入端P28位,准双向I/O口,具有内部上拉电阻当使用外部存储器时,输出高8位地址。在编程、校验期间,接收高位字节地址。P38位,准双向I/O口,具有内部上拉电阻P3口提供各种替代功能。在提供这些功能时,其输出锁存器应由程序置1。(3) 控制线RST 复位输入信号,高电平有效。在振荡器工作时,在RST上作用两个机器周期以上的高电平,将器件复位。/EA和Vpp 片外程序存储器访问允许信号,低电平有效。在编程时,其上施加21V或12V编程电压。ALE和/PROG 地址锁存允许信号,输出。用作片外存储器访问时,低字节地址锁存。ALE以1/6的振荡器稳定速率输出,可用作对外输出的时钟或用于定时。在EPROM编程期间。作输入,输入编程脉冲。/PSEN 片外程序存储器选通信号,低电平有效。在从片外程序存储器取址期间,在每个机器周期中,当/PSEN有效时,程序存储器的内容被送上P0口。3.6.2 最小系统电路单片机最小系统由电源、复位、晶振组成。电源为+5V供电。RST引脚是复位信号的输入端,复位信号是高电平有效,其有效时间持续24个振荡脉冲周期(即两个机器周期)以上。复位操作有上电自动复位、按键电平复位、外部脉冲复位和自动复位四种方式。本设计中采用按键电平复位方式,使复位端经电阻与VCC电源接通而实现。AT89C51中有一个构成内部震荡器的高增益反向放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。本次设计采用内部震荡电路,瓷片电容采用30P,晶振采用12MHZ。最小系统电路如图8:图8最小系统电路第四章 系统软件的设计4.1主程序的设计主程序流程图如图9:YN开始LCD初始化12C887时钟显示18B20温度采集大于上限数据与上下限比较扫描键盘数据处理数据显示小于下限报警报警YNYY 图9 主程序流程图主程序开始后,首先清理系统内存,液晶屏开始初始化显示,然后时钟开始工作,接着进行数据采集,并直接通过DS18B20内部的A/D转换后,传输到单片机,再由单片机控制显示设备,显示现在的温度,然后系统进入,键盘输入设定温度,然后系统将设定温度与现实温度进行比较,得出结果后,启动报警声。并控制驱动外部设备进行制冷或者加热。4.2 温度采集子程序的设计读时间隙时控制时的采样时间应该更加的精确才行,读时间隙时也是必须先由主机产生至少1uS的低电平,表示读时间的起始。随后在总线被释放后的15uS中DS18B20会发送内部数据位,这时控制如果发现总线为高电平表示读出“1”,如果总线为低电平则表示读出数据“0”。每一位的读取之前都由控制器加一个起始信号。注意:如图10所示,必须在读间隙开始的15uS内读取数据位才可以保证通信的正确。 此外,温度转换大概需要650750ms的延时。DS18B20的读时序如图10: DS18B20读时序图10首先,对DS18B20进行初始化,复位DS18B20,然后单片机等待DS18B20的应答脉冲。一旦检测到应答脉冲,便可以匹配ROM,成功执行ROM操作命令后,就可以使用内存操作命令,启动温度转换,延时一段时间后,等到温度转换完成。再次匹配ROM,然后度暂存器,将转换的结果读出,并转换为显示码,送到液晶屏显示。更需要注意的是:复位要求CPU将数据线下拉500,然后释放,DS18B20收到信号后等待1660左右,后发出60240的存在低脉冲,主CPU收到此信号表示复位成功。温度采集子程序流程图如图11。图11温度采集子程序流程图4.3 实时时钟子程序的设计本设计采用英特尔时序,在DSB12C887的读写时序中,时间间隔都是ns,而单片机的指令周期至少1us,因此不用延时函数,其定时精度很高,断电可长时间工作。在时钟工作时,把DS12C887中的秒、分、时都读到单片机中,送液晶屏显示。按键可以设置时钟的时间,设置完后把秒、分、时分别写到DS12C887的相应单元中,再读取显示,如此循环,实现时钟的实时性。时钟子程序流程图如图12:开始读DS12C887秒读DS12C887分读DS12C887时秒分时送入DS12C887秒送1602显示分送1602显示时设置时送1602显示分设置秒设置是否设置?Y按键设置N 图12时钟子程序流程图4.4 显示子程序的设计显示选用液晶显示首先将液晶初始化,DS12C887时钟显示,先从DS12B887中读取秒、分、时。再送入液晶相应的地址进行显示。通过DS18B20温度传感器,将温度传送给单片机,再将温度转换为十进制,将实际温度分解后逐一传送给液晶屏.过程如下,首先将温度分解为十位、个位、小数位,再将各位的数化为对应的ASCII码,然后用写指令函数将要现实的位的地址写给液晶屏,地址写完后再将有输入的数给液晶屏.同时为了进一步明确报警时间增加了时钟,并且可通过按键调节时间和温度显示子程序流程图如图13:开始液晶写指令液晶写数据液晶屏初始化显示时钟显示设置状态温度采集显示是否设置?YN图13 显示子程序流程图4.5温度与时钟自动调节子程序的设计温度与时钟子程序设计就是按键的扫描程序,s1为功能键,根据s1键的有效次数,可以分别对不同量值进行设置,s2用于对量值进行加1,而s3用于对量值进行减1设置。温度与时钟自动调节子程序流程图如图14:开始alnum=0Ns1=0?Yflag=0flag1=0flag=1,flag1=1alnum+alnum=0YNNNNNalnum=4alnum=3alnum=5alnum=2alnum=1alnum=6YYYYYNNs3=0s2=0YY时间或者温度减1时间或者温度加1 图14温度与时钟自动调节子程序流程图4.6报警子程序设计报警是用蜂鸣器发出声音,当温度超过上限或者下限时都会短暂报警,直到温度在控制范围之内。报警子程序流程图如图15:开始检测温度 断开设备与设定温度比较?NY驱动设备短时报警图15报警子程序流程图第五章 系统的调试与测试5.1 使用仪器仿真器、数字万用表、编程器、电烙铁、剪刀、剥线钳、镊子、吸锡器等。5.2 硬件电路的焊接与调试5.2.1 电脑制图虽然Protel 99SE功能强大,人机界面友好,但在设计过程中往往遇到一些一些问题。在画原理图连线时,应尽量做到:在元件端点处连线;元器件连线尽量一线连通,少出现直接将其端点对接上的方法来实现。5.2.1 焊接实物板焊接是电气设备制造中最为关键的一道工序,焊接质量的好坏直接影响到设备正常运转的质量。以下总结出几点经验:1、选用合适的焊锡,应选用焊接电子元件用的低熔点焊锡丝。2、电烙铁使用前要上锡,具体方法是:将电烙铁烧热,待刚刚能熔化焊锡时,涂上助焊剂,再用焊锡均匀地涂在烙铁头上,使烙铁头均匀的吃上一层锡。3、焊接方法,把焊盘和元件的引脚用细砂纸打磨干净,涂上助焊剂。用烙铁头沾取适量焊锡,接触焊点,待焊点上的焊锡全部熔化并浸没元件引线头后,电烙铁头沿着元器件的引脚轻轻往上一提离开焊点。4、焊接时间不宜过长,否则容易烫坏元件,必要时可用镊子夹住管脚帮助散热。5、首先在万用板上布线,在布线时要注意应尽可能减少混叠。6、对一些重要器件使用底座,以防烙铁烧伤。5.2.3 实物板调试 1、 先测试电源,测多有地和Vcc是否是+5V。测完没有问题。2、 写一条简单的程序看蜂鸣器是否工作,下载进去不工作,检查电路,结果三极管焊接错误。3、 调试液晶,先写个液晶初始化程序,下载进去液晶不工作,查找电路,结果没发现问题,又找别人检查还是没问题,换了杜邦线工作了,原因是杜邦线接触不良。4、时钟芯片的检测,编好程序下载后,液晶屏能够读入一个秒值,但不能刷新正常工作,结果肯定是DS12C887出现了问题,拿到电子市场换了一个可以使用,可能原因是焊接时,烧伤芯片。5、DS18B20的调试,下入程序后测温和显示都很正常,没有任何错误。硬件电路调试结束。 5.3 软件的仿真本设计采用的仿真软件是Proteus。Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:1、实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS-232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能,有各种虚拟仪器如示波器、逻辑分析仪、信号发生器等。2、支持主流单片机系统的仿真。3、提供软件调试功能。在硬件仿真系统中也具有全速、单步、设置断点等调试功能。同时,还可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中也具有这些功能。同时,还支持第三方的软件编译和调试环境,如Keil C51等软件。4、具有强大的原理图绘制功能。操作步骤:运行Proteus的ISIS 后出现程序主窗口界面,鼠标左键单击窗口左侧的元器件工具栏的component.按钮, 接着再点击窗口左侧的元器件选择区的Pick Divices.按钮,弹出如图1所示的Pick Devices窗口,再在Categ栏里

温馨提示

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

评论

0/150

提交评论