基于51单片机的智能温度调节装置设计_第1页
基于51单片机的智能温度调节装置设计_第2页
基于51单片机的智能温度调节装置设计_第3页
基于51单片机的智能温度调节装置设计_第4页
基于51单片机的智能温度调节装置设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、电子设计与制作报告题 目: 基于51单片机的智能温度调节装置设计 班 级: 12级电气X班 姓 名: XX 学 号: XXXXXXXX 同组成员: XXX,XXX,XXX,XXX,XXX 成 绩: 基于51单片机的智能温度调节装置设计摘要:随着现代信息化技术的飞速发展和传统工业改造的逐步实现,能独立工作的温度检测系统已广泛应用于各种不同的领域。本文介绍了一个基于89C51单片机和数字温度传感器DS18B20以及操控半导体制冷片的智能控温系统,并用LCD12864液晶屏显示温度值,并且能够显示时间以及显示调节温度至指定温度所用的时间。系统电路简单、操作简便,能任意设定报警温度,系统完成了电子设计

2、的基本要求和大部分扩展内容要求。扩展部分的波形显示花屏,未能做出来。关键词:89c51,lcd12864,报警,时间,波形目录1 引言42 任务要求42.1 基本要求42.2 扩展功能43 总体方案设计53.1 方案论证53.1.1 方案一53.1.2 方案二53.2 总体设计框图54 本组设计及完成情况64.1 单片机系统64.2 数字温度传感器模块74.2.1 DS18B20性能74.2.2 DS18B20外形及引脚说明84.2.3 DS18B20接线原理图84.3显示模块84.3.1 LCD12864性能84.3.2 LCD12864引脚及说明94.3 报警模块94.4 驱动模块104.

3、5完成情况104.5.1基本功能实现104.5.2附加功能实现104.5.3未完成功能:114.5.4系统优缺点115 本人承担工作及完成情况介绍125.1实时温度显示125.1.1对18b20进行操作:125.1.2对lcd12864进行操作125.1.3显示操作135.2按键功能135.3波形显示13参考文献:141 引言随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便是不可否定的,各种数字系统的应用也使人们的生活更加舒适。数字化控制、智能控制为现代人的工作、生活、科研等方面带来方便。其中数字温度计就是一个典型的例子。数字温度计与传统的温度计相比,具有读数

4、方便、测温范围广、测温精确、功能多样话等优点。其主要用于对测温要求准确度比较高的场所,或科研实验室使用,该设计使用80C51单片机作控制器,数字温度传感器DS18B20测量温度,单片机接受传感器输出,经处理将温度显示在用12864液晶屏上。2 任务要求2.1 基本要求1.能够通过键盘和液晶(或数码管)设定温度值,温度值的设定范围为-1010摄氏度,最小区分度为1摄氏度2.控制装置实时显示被控对象温度,当温度达到设定值时,控制装置通过液晶或声光发出提示信号3.被控对象温度精度为2摄氏度2.2 扩展功能1.控制装置实时显示当前时间2.控制装置可记录被控对象温度达到设定值的时间(时间最小分辨率为0.

5、1s)3.用液晶实时显示的被控对象温度值,3秒刷新一次。并显示被控对象温度随时间变化的曲线,实时刷新显示,30秒刷新一次。4.被控对象温度精度为1摄氏度,尽量缩短被控对象达到温度设定值的时间3 总体方案设计3.1 方案论证3.1.1 方案一由于本设计是测温电路,可以使用热敏电阻之类的器件,将随被测温度变化的电压或电流采样,进行A/D转换后就可以用单片机进行数据处理,实现温度显示。这种设计需要用到A/D转换电路,增大了电路的复杂性,而且要做到高精度也比较困难。3.1.2 方案二考虑到在单片机属于数字系统,容易想到数字温度传感器,可选用DS18B20数字温度传感器,此传感器为单总线数字温度传感器,

6、起体积小、构成的系统结构简单,它可直接将温度转化成串行数字信号给单片机处理,即可实现温度显示。另外DS18B20具有3引脚的小体积封装,测温范围为-55+125摄氏度,测温分辨率可达0.0625摄氏度,其测量范围与精度都能符合设计要求。以上两种方案相比较,第二种方案的电路、软件设计更简单,此方案设计的系统在功耗、测量精度、范围等方面都能很好地达到要求,故本设计采用方案二。3.2 总体设计框图本方案设计的系统由单片机系统(80C51)、数字温度传感器(DS18B20)、12864液晶屏、按键控制模块、温度报警模块组成,其总体架构如下图1。80C51单片机测温模块(DS18B20)驱动模块半导体制

7、冷片显示模块(12864液晶屏)报警模块按键模块图1 系统总体方框图4 本组设计及完成情况4.1 单片机系统本设计采用80C51单片机作为控制器,完成所有功能的控制,包括:1.DS18B20数字温度传感器的初始化和读取温度值2.12864液晶屏的驱动和显示3.温度的读取比较和报警单片机系统电路原理图:图2 单片机系统原理图4.2 数字温度传感器模块4.2.1 DS18B20性能l 独特的单线接口仅需一个端口引脚进行通信l 简单的多点分布应用l 无需外部器件l 可通过数据线供电l 零待机功耗l 测温范围-55+125,以0.5递增l 可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.2

8、5、0.125和0.0625l 温度数字量转换时间200ms,12位分辨率时最多在750ms内把温度转换为数字l 应用包括温度控制、工业系统、消费品、温度计和任何热感测系统l 负压特性:电源极性接反时,传感器不会因发热而烧毁,但不能正常工作4.2.2 DS18B20外形及引脚说明图3 DS18B20外形及引脚l GND:地l DQ:单线运用的数据输入/输出引脚l VD:可选的电源引脚4.2.3 DS18B20接线原理图单总线通常要求接一个约4.7K左右的上拉电阻,这样,当总线空闲时,其状态为高电平。图4 DS18B20接线原理图4.3显示模块4.3.1 LCD12864性能l 低电源电压(VD

9、D:+3.0-+5.5V)l 显示分辨率:12864 点l 2MHZ 时钟频率l 视角方向:6 点l 通讯方式:串行、并口可选l 无需片选信号,简化软件设计l 工作温度: 0 - +55 ,存储温度: -20 - +604.3.2 LCD12864引脚及说明图5 LCD12864接线原理图4.3 报警模块当温度超过或低于设定温度值时,实现报警,LED灯点亮。并且在lcd12864上显示并提醒。4.4 驱动模块驱动电路:4.5完成情况经过几周的电路搭建和软件编写,我们组已经实现电路基本部分和部分扩展功能。具体如下:4.5.1基本功能实现完成基本要求的所有项:(1) 能够通过键盘和液晶(或数码管)

10、设定温度值,温度值的设定范围为325(室温),最小区分度为1。(2) 控制装置实时显示被控对象温度,当温度达到设定值时,控制装置通过液晶或声光发出提示信号。(3) 被控对象温度精度为1。4.5.2附加功能实现完成了前5项功能:(1) 控制装置实时显示当前时间(开机即开始计时)。(2) 控制装置可记录被控对象温度达到设定值的时间(时间最小分辨率为0.1s)。(3) 用液晶实时显示的被控对象温度值,1秒刷新一次。(4) 被控对象温度精度为1。(5) 尽量缩短被控对象达到温度设定值的时间。(控制装置单向制冷,在制冷时调节冷端风扇关闭,降低测试装置与环境温度交换速度;当调节温度升高时,关闭制冷,同时开

11、启冷端风扇是测试面与环境温度加快)4.5.3未完成功能:温度的波形显示。波形程序响应迟缓以及出现花屏,不能加入主程序中,该问题尚未得到解决。4.5.4系统优缺点(1) 优点本组设计系统通过12864显示屏与6功能按键组成了良好的人机交互性条件,在主菜单以及子菜单模式下能够实时显示被测温度与时间。上下限报警及控制功能优点,在设定上下限后,当温度达到上或下限,会启动自动调节功能,将温度控制在上下限内,并可按SET键初始化上下限,符合工程控制实际,具有较高的实用价值。设定温度功能优点,在温度设置菜单下,增加了确定菜单控制,避免在设置过程中输入错误,并可按MODE键返回重新设置。温度控制采用PWM脉宽

12、调制技术,是温度控制精度有所提高。(2) 缺点本系统采用继电器驱动制冷片工作,其最小关断延时限了系统控制精度,并且在关断过程中会有较大的电磁干扰,使得LCD显示会出现不明闪烁。由于程序冗余,导致修改该部分程序后编译下载失败,在温度到达设定值定时,不能成功进行第二次定时功能(该问题暂未解决!)5 本人承担工作及完成情况介绍由于小组是分模块来做的,本人主要负责lcd12864显示这一块程序编写以及18b20的编写和调试以及后期的部分调试。目前实现了能显示实时温度,按键的设置,最后还有波形(未能成功加入主程序)。5.1实时温度显示5.1.1对18b20进行操作:读温度值模块需要调用4个子程序,分别为

13、:DS18B20初始化子程序:让单片机知道DS18B20在总线上且已准备好操作DS18B20写字节子程序:对DS18B20发出命令DS18B20读字节子程序:读取DS18B20存储器的数据延时子程序:对DS18B20操作时的时序控制程序声明为:bit Init_DS18B20(void);/ 18b20初始化unsigned char ReadOneChar(void);/读取一个字节void WriteOneChar(unsigned char dat);/写入一个字节最后从18b20中读取温度程序:unsigned int ReadTemperature(void);5.1.2对lcd12

14、864进行操作本人选用的是带字符的lcd12864液晶显示屏。首先根据时序图写出lcd12864的基础程序。Lcd12864初始化程序:void LCD12864_Init();Lcd12864写命令程序:void LCD12864_WriteCmd(uchar cmd);Lcd12864写数据程序:void LCD12864_WriteData(uchar dat);Lcd12864读数据程序:uchar LCD12864_ReadData(void);Lcd12864清屏函数:void LCD12864_ClearScreen(void);Lcd12864设定坐标函数:void LCD12

15、864_SetWindow(uchar x, uchar y);Lcd12864显示字符串函数:void LCD_PutString(unsigned char x,unsigned char y,unsigned char code *s);5.1.3显示操作调用temp=ReadTemperature();将18b20中的温度读取出来,处理并取整数位。具体程序如下:temperature=(float)temp*0.0625*10;temp = (long)temperature%1000;displaytemp0 = temp/100+0;displaytemp1 = temp%100/

16、10+0;配置寄存器R1,R0是温度的决定位,由R1,R0的不同组合可以配置为9位,10位,11位,12位的温度显示。这样就可以知道不同的温度转化位所对应的转化时间,四种配置的分辨率分别为0.5,0.25,0.125和0.0625,出厂时以配置为12位。所以temperature=(float)temp*0.0625*10;再使用下面程序将其显示出来:LCD12864_SetWindow(0,2);for(i=0;i2;i+) LCD12864_WriteData(displaytempi);5.2按键功能首先定义了几个按键:sbit KEY_enter=P12;/确认/定义按键输入端口sbi

17、t KEY_ADD=P11; /上 sbit KEY_DEC=P16;/下sbit KEY_exit=P15;/退出在while(1)循环中不断调用按键程序,当有按键按下时,则进入相应功能。5.3波形显示我采用的是画点的方式,首先确定该点的具体坐标,具体在哪一字节的哪一位,以及哪一行。从网上我查找到了画点子程序,起初我取温度的十位和个位,将其打在lcd12864上,总共打了128点,然后将其清屏,循环显示。但是花屏,有18b20最开始下显示的85度,以及其他杂点。画点部分程序如下:void lcd_set_dot(uchar x,uchar y)uchar x_byte,x_bit;/确定在坐

18、标的那一字节哪一位uchar y_ping , y_bit;/确定在坐标的哪一屏哪一行uchar tmph , tmpl;/定义两个临时变量,用于存放读出来的数据LCD12864_WriteCmd(EXTEND_SET);/扩展指令集LCD12864_WriteCmd(DRAW_OFF);/绘图显示关闭x_byte = x / 16;/算出在哪一字节,注意一个地址是16位的x_bit = x % 16;/& 0x0f;/算出在哪一位y_ping = y / 32;/确定在上半屏还是下半屏,0代表上半屏,1代表下半屏y_bit = y % 32;/& 0x1f;/确定在第几行LCD12864_WriteCmd(0X80 + y_bit);/先写垂直地址(最高位必须)LCD12864_WriteCmd(0x80 + x_byte + 8 * y_ping);/水平坐标,下半屏坐标起始地址为0x

温馨提示

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

评论

0/150

提交评论