基于单片机的数字温度计-毕业设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
- - -..
XX大学毕业设计
指导老师肖兴达
09电气一班
叶彬彬
2011/12/27
2009061111
目录
1设计内容及性能指标 (3)
2系统框架 (4)
3系统器件选择 (5)
3.1单片机的选择 (5)
3.289S51引脚介绍 (5)
3.3温度传感器的选择 (6)
4硬件设计电路 (13)
4.1显示电路 (14)
4.2温度检测电路 (14)
4.3温度报警电路 (16)
5软件设计 (17)
5.1概述 (17)
5.2主程序模块 (17)
5.3各模块流程设计 (18)
6.源程序 (22)
附录1:参考文献 (34)
附录2:元件清单 (35)
附录3:电气原理图 (36)
摘要
随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,
要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,单片机已经在测控领域中获得了广泛的应用
本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温X围广,测温准确,其输出温度采用数字显示,该设计控制器使用单片机AT89S51,测温传感器使用DS18B20,用LCD数码管以串口传送数据,实现温度显示,能准确达到以上要求。
关键词AT89S51 单片机传感器DS18B20
1 设计内容及性能指标
本设计主要是介绍了单片机控制下的温度检测系统,详细介绍了其硬件和软件设计,并对其各功能模块做了详细介绍,其主要功能和指标如下:
●利用温度传感器(DS18B20)测量某一点环境温度
●测量X围为-50℃~+150℃,精度为±0.5℃
●用液晶进行实际温度值显示
●能够根据需要方便设定上下限报警温度
2系统框架
采用数字温度芯片DS18B20 测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。在0—100 摄氏度时,最大线形偏差小于1 摄氏度。DS18B20 的
最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器AT89S51构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系统的结构就比较简单,体积也不大。采用51 单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。既可以单独对多DS18B20
控制工作,还可以与PC 机通信上传数据,另外AT89S51 在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。
该系统利用AT89S51芯片控制温度传感器DS18B20进行实时温度检测并显示,能够实现快速测量环境温度,并可以根据需要设定上下限报警温度。该系统扩展性非常强,它可以在设计中加入时钟芯片DS1302以获取时间数据,在数据处理同时显示时间,并可以利用AT24C16芯片作为存储器件,以此来对某些时间点的温度数据进行存储,利用键盘来进行调时和温度查询,获得的数据可以通过MAX232芯片与计算机的RS232接口进行串口通信,方便的采集和整理时间温度数据。
图3.3系统框图
3系统器件选择
3.1 单片机的选择
AT89S51 是CMOS8 位单片机,它集Flash 程序存储器既可在线编程(ISP),也可用传统方法进行编程,所以低价位AT89S51单片机可为提供许多高性价比的应用场合,可灵活应用于各种控制领域,对于简单的测温系统已经足够。单片机AT89S51 具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。主要特性如下
●与MCS-51 兼容
●4K字节可编程闪烁存储器
●寿命:1000写/擦循环
●数据保留时间:10年
●全静态工作:0Hz-24Hz
●三级程序存储器锁定
●128*8位内部RAM
●32可编程I/O线
●两个16位定时器/计数器
●5个中断源图4.1 AT89S51单片机引脚图
●可编程串行通道
●低功耗的闲置和掉电模式
●片内振荡器和时钟电路
3.2 89S51 引脚功能介绍
AT89S51 单片机为40 引脚双列直插式封装。
其引脚排列和逻辑符号如图4.1 所示。
各引脚功能简单介绍如下:
●VCC:供电电压
●GND:接地
●P0口:P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电流。当P1口的
管脚写“1”时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可
以被定义为数据/地址的第八位。在FLASH编程时,P0口作为原码输入口,当
FLASH进行校验时,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口的管脚电位被外部拉低,将输出电流,这是由于内部上拉