单片机温度能检测记录系统

更新时间:2023-04-13 09:42:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

毕业设计(报告)课题:单片机温度能检测记录系统

学生: 陈奇伟系部: 电子信息系班级: 微电子091班学号: 2009000987 指导教师: 伊洪剑

装订交卷日期: 2012.3.16

毕业设计(报告)成绩评定记录表

郑重申明

本人呈交的毕业实习报告(设计),是在伊洪剑导师的指导下,独立进行实习和研究工作所取得的成果,所有数据、图片资料真实可靠。尽我所知,除文中已经注明引用的内容外,本毕业实习报告(设计)的成果不包含他人享有著作权的内容。对本毕业实习报告(设计)所涉及的实习和研究工作做出贡献的其他个人和集体,均已在文中以明确的方式标明。本毕业实习报告(设计)的知识产权归属于作者与培养单位。

学生签名[签字盖章]

陈奇伟

日期2012.03.16

《单片机温度能检测记录系统》第3页共30页

摘要

在现代工业生产和科学实验中,温度是最普遍、重要的参数之一。温度的变化会直接影响产品的质量和实验结果,与我们的生活息息相关。

本文以AT89C51为核心,组成一个包括温度采集、数据处理、报警系统、液晶显示和人机界面等子系统的温度监视记录系统,其中以数字温度传感器DS18B20 为数据采集端,DS1302为时钟芯片,采用LCD1602实时显示时间与温度信息、采用蜂鸣器及液晶显示屏闪烁进行报警,并且通过串口进行数据记录、制表以及生成温度变化曲线。

实验表明,采用AT89C51控制的温度监测记录系统具有反应速度快,精度高等优点。人机交互界面有利于记录温度数据和预测温度变化的实现。

关键词:温度采集;单片机;LCD1602;DS18B20;报警

《单片机温度能检测记录系统》第4页共30页

目录1 前言

1.1研究背景 (7)

1.2研究现状 (7)

1.3本文研究内容及流程图 (7)

1.4毕业设计中用到的硬件及软件工具 (9)

1.5实验成果展示 (9)

2AT89C51单片机 (12)

2.1 AT89C51 单片机简介 (12)

2.1.1 AT89C51 单片机的管脚介绍 (13)

2.2 主要特性 (14)

2.3 单片机最小系统 (14)

3 温度采集模块 (15)

3.1温度传感器DS18B20简介 (15)

3.1.1DS18B20特征 (15)

3.2DS18B20时序 (16)

3.2.1 DBS18B20初始化时序 (16)

3.2.2 DBS18B20 写时序 (16)

3.3DS18B20电路 (16)

4计时模块 (18)

4.1DS1302简介 (18)

4.2实验中DS1302的读写地址 (18)

4.3DS1302电路 (18)

5 显示模块 (20)

5.1LCD1602简介 (20)

《单片机温度能检测记录系统》第5页共30页

5.2LCD1602时序 (20)

5.3显示效果展示 (22)

5.41602闪烁报警 (22)

6串口通信及人机界面 (24)

7 报警模块 (25)

7.1蜂鸣器报警 (25)

7.2液晶显示屏报警 (26)

8 结论 (27)

参考文献 (28)

致谢 (29)

附录 (30)

《单片机温度能检测记录系统》第6页共30页

1前言1.1 研究背景

温度是工业生产中常见的工艺参数之一,任何物理变化和化学反应都与温度密切相关。在科学研究和生产实践的诸多领域中,温度监测占有着极为重要的地位。特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足轻重的作用。

单片机AT89C51是ATMEL公司所生产的一种低功耗、高性能8位微控制器,具备8K片上可编程Flsah存储器。AT89C51具有系统结构紧凑、功能简单、功耗小、体积小、价格便宜等优点,适合低成本的电气控制。

1.2 研究现状

温度监测系统在工业生产中获得广泛的应用,在工业农业生产、国防、科研以及日常生活中占有重要的地位。温度监测系统为人类供热、取暖的主要设备驱动提供温度数据来源,它的出现迄今已有两百多年的历史。

期间,从低级到高级,从简单到复杂,随着生产力的发展和对温度控制精度的要求的不断提高,温度测控系统的控制得到迅速的发展。当前比较流行的温度监测系统有基于PLC的温度监测系统 (如西门子S7-200),基于工控制(IPC)的温度监测系统,集散型温度监测系统(DCS)(如科远 NT6000),现场总线温度监测系统(FCS)等。

本文设计以单片机为核心的温度监测记录系统,采用单片机的温度监测记录系统具有反应快,功耗小,价格便宜,电路简单等优点。

1.3 本文研究内容及流程图

本文介绍以单片机AT89C51为核心,主要以温度数据测试记录为主的系统。

系统流程图:

《单片机温度能检测记录系统》第7页共30页

图1系统流程

系统模块图:

图2系统模块

系统以AT89C51为核心通过温度传感器DS18B20进行温度数据采集,采用时钟芯片DS1302

《单片机温度能检测记录系统》第8页共30页

实现计时功能,采用LCD1602显示实时时间和温度信息,通过串口实现系统和PC机通信进行时间调整、时间温度数据记录的功能,采用蜂鸣器实现温度越界的报警功能。

1.4 毕业设计中用到的硬件及软件工具

毕业设计中硬件:AT89C51开发板

LCD1602液晶显示器

DS18B20温度传感器

DS1302 计时芯片

有源蜂鸣器

无源蜂鸣器

NE 555定时器

三极管

电阻等

毕业设计中用到的软件:Keil uVision3

AVR_fighter.exe

UartAssist_3.6.exe

1.5实验成果展示

实验硬件展示

《单片机温度能检测记录系统》第9页共30页

图3 硬件展示

设计是以上海浩豚电子科技有限公司提供的Mini80开发板为基础进行的。Mini80开发板集数码管、矩阵按键、发光二极管、RS232通信接口、红外接收头、遥控器红外发射管、喇叭、单色点阵、DS18B20接口、USB供电、4相步进电机、DS1302时钟芯片、标准1602液晶接口,标准12864液晶接口等功能与一体。集合了常用原件与接口,适合单片机的学习与开发。

实验温度数据曲线

《单片机温度能检测记录系统》第10页共30页

图4 温度曲线

实验中运用Excel表格功能进行温度曲线的绘制。

《单片机温度能检测记录系统》第11页共30页

2 AT89C51单片机2.1 AT89C51单片机简介

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。AT89C51引脚图:

图5 AT89C51引脚

《单片机温度能检测记录系统》第12页共30页

2.1.1 AT89C51单片机的管脚介绍

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口也可作为at89c51的一些特殊功能口,如下表所示:口管脚备选功能

p3.0 rxd(串行输入口)

p3.1 txd(串行输出口)

p3.2 /int0(外部中断0)

p3.3 /int1(外部中断1)

p3.4 t0(记时器0外部输入)

p3.5 t1(记时器1外部输入)

p3.6 /wr(外部数据存储器写选通)

p3.7 /rd(外部数据存储器读选通)

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:来自反向振荡器的输出。

《单片机温度能检测记录系统》第13页共30页

2.2 主要特性

与MCS-51兼容;4K字节可编程闪烁存储器;寿命:1000写/擦循环;数据保留时间:10年;全静态工作:0Hz-24Hz;三级程序存储器锁定;128*8位内部RAM;32可编程I/O线;两个16位定时器/计数器;5个中断源;可编程串行通道;低功耗的闲置和掉电模式;片内振荡器和时钟电路;片内振荡器和时钟电路。

2.3 单片机最小系统介绍

图6 单片机最小系统

实验中晶振取11.0592 M Hz。

《单片机温度能检测记录系统》第14页共30页

3温度采集模块3.1 温度传感器DS18B20简介

DS18B20具有超小的体积,硬件开销低,抗干扰能力强,精度高,附加功能强等优点,使得DS18B20很受欢迎。DS18B20如下图:

图7 DS18B20管脚图

3.1.1DS18B20主要特征

1. 全数字温度转换及输出

2. 先进的单总线数据通信

3. 最高12位分辨率,精度可达0.5摄氏度

4. 12位分辨率时最大工作周期为750毫秒

5. 可选择寄生工作方式

6. 检测温度范围为 -55℃ ~ +125℃

7. 内置EEPROM及限温报警功能

8. 64位光刻ROM,内置产品序列号,方便多机挂接

9. 多样封装形式,适合不同硬件系统

《单片机温度能检测记录系统》第15页共30页

3.2 DS18B20时序

3.2.1 DS18B20 初始化时序

初始化时序包括一个主机发出的复位脉冲以及从机的应答脉冲,这一过程如下图所示,复位脉冲是一个480us至960us的低电平,然后释放总线拉直高电平,时间持续15us至60us之后,从机开始向总线发出一个应答脉冲,该脉冲是一个60us至240us的低电平信号,表示从机已经准备好。在初始化过程中,主机接收脉冲的时间最少是480us。

图8 DS18B20初始化时序

3.2.2 DS18B20 写时序

DS18B20的写时序如下图所示,分别写0和写1时序两个过程,主机把单总线从高电平拉到低电平时,表示一个写周期的开始。当要写0时序时,单总线要被拉低至少60us,保证DS18B20在15us至45us之间能够正确的采样总线上的低电平;当要写1时,单总线被拉低以后在15us 之内就得释放单总线,将总线拉为高电平。除此之外,两个写周期之间至少要有1us的恢复时间。

图9 DS18B20写时序

3.3 DS18B20电路

DS18B20从单线信号线上汲取能量:在信号线DQ处于高电平期间把能量储存在内部电容,在信号线处于低电平时消耗电容中的电能进行工作,直到高电平给寄生电源充电。

《单片机温度能检测记录系统》第16页共30页

DS18B20独特的寄生供电模式有三个好处:

1)可以进行远距离测量温度,无需本地电源

2)电路简洁,仅用一根I/O口实现测温

3)在没有常规电源的条件下读取ROM

寄生电路只能适合单点温度的测量,当几个温度传感器挂在同一根I/O线上进行多点温度的测量时,只靠4.7K的上拉电阻无法提供足够的能量。

本实验中是单点温度测量,可以运用寄生电源供电模式,连接电路:

图10 DS18B20寄生电源供电电路

《单片机温度能检测记录系统》第17页共30页

4 计时模块4.1 DS1302简介

DS1302是美国DALLAS公司推出的一种高性能、低功耗、带 RAM 的实时时钟芯片,它可以对年、月、日、时、分、秒进行计时,具有闰年补偿功能,工作电压宽2.5~5.5V。时钟可工作在24小时格式或12小时(AM/PM)格式。DS1302与单片机的接口使用同步串行通信,仅用3条线与之相连接。可采用一次传送一个字节方式或突发一次传送多个字节的时钟信号或 RAM 数据。

DS1302内部有一个31×8 的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双引脚,同时提供了对后备电源进行涓细电流充电的功能。

4.2实验中DS1302的读写地址

1302的写地址:

code unsigned char write_rtc_address[7]={0x80,0x82,0x84,0x86,0x88,0x8a,0x8c};

数据依次是秒、分、时、日、月、周年

用于接收串口发送的时间数据实现对时功能。

1302的读地址:

code unsigned char read_rtc_address[7]={0x81,0x83,0x85,0x87,0x89,0x8b,0x8d};

数据依次是秒、分、时、日、月、周年

数据送入1602LCD 进行显示实时时间。

4.3 DS1302电路

DS1302与AT89S52连接需要三根线:即SCLK、I/O和RST。

连接电路:

《单片机温度能检测记录系统》第18页共30页

图11 DS1302电路

《单片机温度能检测记录系统》第19页共30页

5 显示模块

试验中采用LCD1602进行显示。

5.1 LCD1602简介

液晶显示器LCD1602以其微功耗、体积小、显示内容丰富、超薄轻巧等优点得到广泛应用。

图12 LCD1602管脚图

1602字符型LCD通常有14条引脚线或16条引脚线,多出来的两条是背光电源线。

1602LCD的主要技术参数:

显示容量:16×2个字符

芯片工作电压:4.5V~5.5V

工作电流:2.0mA(5.0V)

模块最佳工作电压:5.0V

字符尺寸:2.95×4.35(W×H)nm

5.2 LCD1602时序

显示模块设置(初始化):

0011 1000 [0x38]设置16×2显示,5×7点阵,8位数据接口;

显示开关及光标设置(初始化):

《单片机温度能检测记录系统》第20页共30页

0000 1DCB D显示(1有效)、C光标显示(1有效)、B光标闪烁(1有效)

0000 01NS N=1(读或者写一个字符后地址指针加1并且光标加1)

N=0(读或者写一个字符后地址指针减1并且光标减1)

S=1且N=1(当写一个字符后,整屏显示左移)

S=0 当写一个字符后,整屏显示不移动

数据指针设置:

数据首地址为80H,所以数据地址为80H+地址码(0-27H,40-67H)

其他设置:

01H(显示清屏,数据指针=0,所有显示=0);

02H(显示回车,数据指针=0)

通常推荐的初始化过程:

延时 15ms

写指令 38H

延时 5ms

写指令 38H

延时 5ms

写指令 38H

延时 5ms

写指令 38H

写指令 08H 关闭显示

写指令 01H 显示清屏

写指令06H 光标移动设置

写指令0CH 显示开及光标设置

完毕

《单片机温度能检测记录系统》第21页共30页

本文来源:https://www.bwwdw.com/article/6a3l.html

Top