基于单片机温度检测_毕业设计论文.doc_第1页
基于单片机温度检测_毕业设计论文.doc_第2页
基于单片机温度检测_毕业设计论文.doc_第3页
基于单片机温度检测_毕业设计论文.doc_第4页
基于单片机温度检测_毕业设计论文.doc_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

毕业论文(设计)题目名称: 基于单片机的温度检测设计探讨 题目类型: 毕业设计 院 (系): 电子信息学院 专业班级: 自动化10903班 时 间:2013年3月11日2013年6月10日 目 录长江大学毕业论文(设计)任务书i毕业设计(论文)开题报告iii长江大学毕业论文(设计)指导教师评审意见v长江大学毕业论文(设计)评阅教师评语vi长江大学毕业论文(设计)答辩记录及成绩评定vii基于单片机的温度检测设计探讨viii1引言1 1.1 课题背景11.2 课题研究的目和意义11.3 课题完成的功能22 课题的系统设计32.1 系统概述32.2 系统设计原则32.3 系统工作原理43 温度检测系统的硬件设计63.1 at89c51单片机63.2 传感器的基本特性93.3 ds18b20简介93.3.1 ds18b20数字温度传感器概述94 温度检测系统的软件设计174.1 ds18b20的软件设计174.2中断服务程序设计204.3 主程序流程图215 结 论22参考文献23致谢24附录a 软件仿真图25附录b 系统程序26长江大学毕业论文(设计)任务书学院(系): 电信学院 专业: 自动化 班级: 10903 学生姓名: 吕腾飞 指导教师/职称: 陈英芝 1. 毕业论文(设计)题目:基于单片机的温度检测设计探讨2. 毕业论文(设计)起止时间:2013年3月11日2013年6月10日3毕业论文(设计)所需资料及原始数据(指导教师选定部分): (1)基于proteus单片机原理实用教程 (2)数字温度传感器ds18b20的应用 (3)通过查阅有关论文4. 毕业设计(论文)应完成的主要内容测量的温度范围:40125测量精度 : 0.5传输距离100米四位显示5. 毕业设计(论文)的目标及具体要求目标:(1)根据设计要求,利用单片机和温度传感器ds18b20设计温度检测系统;(2)培养学生查阅资料、分析问题和解决问题;具体要求:(1)完成温度控制系统硬件电路的设计(2)完成温度控制系统软件程序编写,以及软件仿真6. 完成毕业设计(论文)所需的条件及上机时数要求所需条件:微型计算机1台,ds18b20,at89c51单片机上机时数要求:2小时60天=120小时)任务书批准日期 2013年 3月 11日 教研室(系)主任(签字): 任务书下达日期 2013年 3月 11日 指导教师(签字): 完 成 任务日期 2013年 6月 10日 学生(签字): 长江大学 毕业设计(论文)开题报告题 目 名 称: 基于单片机的温度检测设计探讨 院 (系): 电子信息学院 专 业 班 级: 自动化 10003 班 学 生 姓 名: 吕腾飞 指 导 教 师: 陈英芝 辅 导 教 师: 陈英芝 开题报告日期: 2013 年 3 月 23 日 毕业设计(论文)开题报告 学生: 吕腾飞 电子信息学院 指导教师:陈英芝 电子信息学院1 题目来源本课题来自于实验室研究项目。2 研究目的和意义单片机在检测和控制系统中得到了广泛的应用,温度是一个系统经常需要测量、控制和保持的量, 对单片机温度测量系统的研究有重要目的和意义。温度检测在工业生产和日常生活中应用广泛,通常可利用温度传感器和单片机来实现。集成温度传感器内部集成有感温元件、补偿和放大电路等,具有误差小、体积小、使用方便等优点,如dsl8b20。本文使用at89c51单片机、温度传感器dsl8b20设计一个温度测量系统,以掌握温度传感器在单片机系统中的使用方法。 at89c51是美国atmel公司生产的低电压,高性能cmos8位单片机,片内含有4k bytes的可反复擦写的只读程序存储器和128的随机存取数据存储器,器件采用aemel公司的高密度,非易失性存储技术生产,兼容标准mcs-51指令系统,片内置通用8位中央处理器和flash存储单元,功能强大at89c51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。3 阅读的主要参考文献及资料名称1 徐爱钧.单片机原理实用教程m.电子工业出版社,20112 廖冬初,聂汉平.电力电子技术基础m.华中科技大学出版社20063 方佩敏主编.新编传感器原理应用电路详解m.北京:电子工业出版社,19934 张粤.倪伟.ds18b20在分布式测温系统中的应用j.北京:淮阴工学学报,2002 5 孙传友.感测技术基础m.电子工业出版社. 6 康华光.电子技术基础,高等教育出版社7 朱宇光.单片机应用新技术教程m.上海:电子工业出版社,20078 江力.单片机原理与应用技术m.北京:清华大学出版社,20064 课题背景在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对温度进行检测和控制。采用51单片机来对温度进行控制,具有控制方便、组态简单和灵活性大等优点,单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,为自动化和各个测控领域中广泛应用的器件,在工业生产中称为必不可少的器件,尤其是在日常生活中发挥的作用也越来越大。本论文设计实现了温度实时测量、显示系统。本设计方案具有较高的测量精度,适合对温度精度要求较高的化工生产、电力工程等行业。5 主要研究内容、需重点研究的关键问题 1主要框架:本系统硬件电路可分为三个部分:一传感器部分;二单片机部分;三数码动态显示部分。系统中数据采集由温度传感器ds18b20 采集被测对象的实时温度,提供at89c51 的p3.7口作为数据输入。传感器感受环境温度,输送温度信号,而单片机部分是本系统的核心、中枢,数码动态显示部分可以实现数据的动态显示。 设计总体框图长江大学毕业论文(设计)指导教师评审意见学生姓名专业班级毕业论文(设计)题目指导教师职 称评审日期评审参考内容:毕业论文(设计)的研究内容、研究方法及研究结果,难度及工作量,质量和水平,存在的主要问题与不足。学生的学习态度和组织纪律,学生掌握基础和专业知识的情况,解决实际问题的能力,毕业论文(设计)是否完成规定任务,达到了学士学位论文的水平,是否同意参加答辩。评审意见: 指导教师签名: 评定成绩(百分制):_分长江大学毕业论文(设计)评阅教师评语学生姓名专业班级毕业设计(论文)题目评阅教师职称评阅日期评审参考内容:毕业论文(设计)的研究内容、研究方法及研究结果,难度及工作量,质量和水平,存在的主要问题与不足。学生的学习态度和组织记律,学生掌握基础和专业知识的情况,解决实际问题的能力,毕业论文(设计)是否完成规定任务,达到了学士学位论文的水平,是否同意参加答辩。评语:评阅教师签名: 评定成绩(百分制):_分长江大学毕业论文(设计)答辩记录及成绩评定学生姓名专业班级毕业论文(设计)题目答辩时间 年 月 日 时答辩地点一、答辩小组组成答辩小组组长:成 员:二、答辩记录摘要答辩小组提问(分条摘要列举)学生回答情况评判三、答辩小组对学生答辩成绩的评定(百分制):_分 毕业论文(设计)最终成绩评定(依据指导教师评分、评阅教师评分、答辩小组评分和学校关于毕业论文(设计)评分的相关规定)等级(五级制):_答辩小组组长(签名) : 秘书(签名): 年 月 日院(系)答辩委员会主任(签名): 院(系)(盖章)基于单片机的温度检测设计探讨学生:吕腾飞,电子信息学院指导教师:陈英芝,长江大学电子信息学院【摘要】: 单片机在检测和控制系统中得到广泛的应用,温度则是系统常需要测量、控制和保持的一个量。这篇论文从硬件和软件两方面完成了at89c51单片机温度控制系统的设计,对硬件原理图和程序框图作了简洁的描述。在硬件方面主要介绍了以mcs-51系列单片机8051、温度传感器ds18b20、数码管的动态显示等芯片组成的温度测量电路。本文结合实际使用经验,完成了ds18b20数字温度传感器在单片机下的硬件连接及软件编程,并给出了软件流程图。本设计有效的提高了控制系统的实时性改善了温度测量的自动化程度,具有较高的实用价值。该系统可应用于仓库测温、楼宇空调控制和生产过程监控等领域。关键词 单片机;温度测量;单总线;数字温度传感器mcs-51 single-chip temperature control system student: qin lei, college of electronic informationteacher: gao xiu e, college of electronic information【abstract】 the single chip microcomputer is required extensively in measurement and control systems,and the temperature need to be surveyed,controlled and maintained by a system frequently.this artical from both hardware and software completing the desigh of at89c51 single-chip temperature control system,brief describing the hardware shematic diagram and program diagram.in the aspect of hardware mainly introduced mcs-51、digital thermometer sensor ds18b20、digital control of the dynamic display,which composed temperature measurement;the artical conbined with pratical exprience,completing the ds18b20 digital thermometer sensor under the single chips hardware conection and software progame,whats more,giving the flow chart of software.this system enhances real-time character of control system effectively,improves the automatic degree of temperature and higher practice value.this system is applied in such domains as warehouse detecting temperature;air-conditioner controlling system in building and supervisory productive process etc.keywords temperature measure;single bus;digital thermometer sensor;single chip processor ix引言1引言1.1 课题背景在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对温度进行检测和控制。采用51单片机来对温度进行控制,具有控制方便、组态简单和灵活性大等优点,单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,为自动化和各个测控领域中广泛应用的器件,在工业生产中称为必不可少的器件,尤其是在日常生活中发挥的作用也越来越大。本论文设计实现了温度实时测量、显示系统。本设计方案具有较高的测量精度,适合对温度精度要求较高的化工生产、电力工程等行业。1.2 课题研究的目和意义单片机在检测和控制系统中得到了广泛的应用,温度是一个系统经常需要测量、控制和保持的量, 对单片机温度测量系统的研究有重要目的和意义。温度检测在工业生产和日常生活中应用广泛,通常可利用温度传感器和单片机来实现。集成温度传感器内部集成有感温元件、补偿和放大电路等,具有误差小、体积小、使用方便等优点,如dsl8b20。本文使用at89c51单片机、温度传感器dsl8b20设计一个温度测量系统,以掌握温度传感器在单片机系统中的使用方法。 at89c51是美国atmel公司生产的低电压,高性能cmos8位单片机,片内含有4k bytes的可反复擦写的只读程序存储器和128的随机存取数据存储器,器件采用aemel公司的高密度,非易失性存储技术生产,兼容标准mcs-51指令系统,片内置通用8位中央处理器和flash存储单元,功能强大at89c51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。1.3 课题完成的功能基于单片机的温度测量系统,这是一种低成本的利用单片机多余i/o口实现的温度检测电路, 该电路非常简单,易于实现, 并且适用于几乎所有类型的单片机, 本文采用单总线(也称为1wire)集成数字温度传感器dsl8b20直接测得温度,单片机要构造适当的时序,以便从dsl8b20中取得数据。温度的测量值用数码管显示 。第 1 页 共 45 页课题的系统设计2 课题的系统设计2.1 系统概述单片机在电子产品中的应用已经越来越广泛,并且在很多电子产品中也将其用到温度检测和温度控制。为此在本文中作者设计了基于atmel公司at89c51 的温度测量系统。这是一种低成本的利用单片机多余i/o口实现的温度检测电路,该电路非常简单,易于实现,并且适用于几乎所有类型的单片机。 本系统硬件电路可分为三个部分:一传感器部分;二单片机部分;三数码动态显示部分。系统中数据采集由温度传感器ds18b20 采集被测对象的实时温度,提供at89c51 的p3.7口作为数据输入。传感器感受环境温度,输送温度信号,而单片机部分是本系统的核心、中枢,数码动态显示部分可以实现数据的动态显示。本课题硬件电路设计的较为简要,在电路的调试方面不算困难,而系统的程序应该是核心的核心。其简单框图如下:图1 设计总体框图2.2 系统设计原则要求单片机系统应具有可靠性高、操作维护方便、性价比高等特点。高可靠性是单片机系统应用的前提,在系统设计的每一个环节,都应该将可靠性作为首要的设计准则。提高系统的可靠性通常从以下几个方面考虑:使用可靠性高的元器件;设计电路板时布线和接地要合理;对供电电源采用抗干扰措施。单片机除体积小、功耗低等特点外,最大的优势在于高性能价格比。一个单片机应用系统能否被广泛使用,性价比是其中一个关键因素。因此,在设计时,除了保持高性能外,尽可能降低成本,如简化外围硬件电路,在系统性能和速度允许的情况下尽可能用软件功能取代硬件功能等。2.3 系统工作原理电路图如下:图2 系统电路系统的硬件电路连线如下(1) 把“单片机系统”区域中的p0.0p0.7用8芯排线连接到“动态数码显示”区域中的abcdefgdp端子上。(2) 把“单片机系统”区域中的p2.0p2.7用8芯排线连接到“动态数码显示”区域中的s1s2s3s4s5s6s7s8端子上。(3) 把ds18b20芯片插入“四路单总线”区域中的任一个插座中,注意电源与地信号不要接反。 (4) 把“四路单总线”区域中的对应的dq端子连接到“单片机系统”区域中的p3.7/rd端子上。本电路由5v的外部稳压源提供工作电压,外部有一个晶振电路,构成单片机的内部晶振电路,为单片机提供所需要的时钟频率,可获得较高的刷新频率,频率为12mhz,可以满足整个电路对频率的要求。温度传感器感受到外部环境的温度,通过“串行通讯”方式,把温度信号直接以数字信号的形式传送到单片机at89c51的p3.7端口,p3.7口内部具有上拉电阻,可以方便的使用单总线接口。单片机的p2.0p2.7端口分别和数码管的控制脚相连,即数码管的3、8端。同时数码管的其他接口和单片机的p0口相连。然后单片机工作,(运行一系列程序)经过写,读,转换,显示等一系列的运行,显示结果送到数码管,四个数码管采用动态显示技术,最后准确的显示环境温度。同时本设计中采用了复位电路,在正常状态下本复位电路用处不大,但当出现死机等状态时,复位键可以在cpu不需要重起的情况下,复位成功。第 33 页 共33 页温度检测系统的硬件设计3 温度检测系统的硬件设计单片机是一种集成电路芯片,采用超大规模技术把具有数据处理能力(如算术运算,逻辑运算、数据传送、中断处理)的微处理器(cpu),随机存取数据存储器(ram),只读程序存储器(rom),输入输出电路(i/o口),可能还包括定时计数器,串行通信口(sci),显示驱动电路(lcd或led驱动电路),脉宽调制电路(pwm),模拟多路转换器及a/d转换器等电路集成到一块单块芯片上,构成一个最小、而完善的计算机系统。这些电路能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。3.1 at89c51单片机at89c51是一个低功耗,高性能cmos8位单片机片内含4kbytes isp的可反复擦写1000次的flash只读程序存储器,器件采用atmel公司的高密度、非易失性存储技术制造,兼容标准mcs -51指令系统及80c51引脚结构,芯片内集成了通用8位中央处理器和isp flash存储单元。at89c51具有如下特点:40个引脚,4k bytes flash片内程序存储器,128 bytes的随机存取数据存储器(ram), 32个外部双向输入/输出(i/o)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,片内时钟振荡器。3.1.1 单片机引脚单片机有4个i/0端口,每个端口都是8位双向口,共占32根引脚。每个端口都包括一个锁存器(即专用寄存器po-p3)、一个输入驱动器和输入缓冲器。通常把4个端口称为po-p3(见图3)。在无片外扩展的存储器的系统中,这4个端口的每一位都可以作为双向通用i/0端口使用。在具有片外扩展存储器的系统中,p2口作为高8位地址线,po口分时作为低8位地址线和双向数据总线。各自特点如下:(1) po口为双向8位三态i/0口,它既可作为通用i/o口,又可作为外部扩展时的数据总线及低8位地址总线的分时复用口。作为通用1/0口时,输出数据可以得到锁存,不需外接专用锁存器;输入数据可以得到缓冲,增加了数据输入的可靠性。每个引脚可驱动8个ttl负载。(2) pi口为8位准双向1/0口,内部具有上拉电阻,一般作通用1/0口使用,它的每一位都可以分别定义为输入线或输出线,作为输入时,锁存器必须置1。每个引脚可驱动4个ttl负载。(3) p2口为8位准双向1/0口,内部具有上拉电阻,可直接连接外部1/0设备。它与地址总线高8位复用,可驱动4个ttl负载。一般作为外部扩展时的高8位地址总线使用。(4) p3口为8位准双向1/0口,内部具有上拉电阻,它是双功能复用口,每个引脚可驱动4个ttl负载。作为通用1/0口时,功能与p1口相同,常用第二功能。 控制线一共有6条: (1) ale/:地址锁存允许/编程线,配合po口引脚的第二功能使用。在访问片外存储器时,89c51 cpu在p0.7-p0.0引脚上输出片外存储器低8位地址的同时在ale/上输出一个高电位脉冲,用于把这个片外存储器低8位地址锁存到外部专用地址锁存器,以便空出p0.7- p0.0引脚线去传送随后而来的片外存储器读写数据。在不访问片外存储器时,89c51自动在ale/上输出频率为fosc/6的脉冲序列。该脉冲序列可用作外部时钟源或作为定时脉冲源使用。 (2) /vpp:允许访问片外存储器/编程电源线,可以控制89c51使用片内r0m还是使用片外r0m。若=0,则允许使用片内r0m;若=1则允许使用片外rom.(3) :片外rom选通线,在执行访问片外r0m的指令m0vc时,89c51自动在psen上产生一个负脉冲,用于为片外r0m芯片的选通。其他情况下psen线均为高电平封锁状态。(4) rst/vpd:复位/备用电源线,可以使89c51处于复位工作状态。图3 at89c51引脚图3.1.2 时钟晶振电路和复位电路时钟电路用于产生时钟信号,时钟信号是单片机内部各种微操作的时间基准,在此基础上,控制器按照指令的功能产生一系列在时间上有一定次序的信号,控制相关的逻辑电路工作,实现指令的功能。复位对单片机来说,是程序还没有开始执行,是在做准备工作。时钟晶振电路和复位电路见图4。图4 时钟晶振电路和复位电路3.2 传感器的基本特性在监控系统中有各种不同的物理量需要监测和控制,这就要求传感器能感受被测非电量并将其转换成与被测量有一定函数关系的电量。传感器所测量的非电量是处在不断的变化之中,传感器能否将这些非电量的变化不失真地转换成相应的电量,取决于传感器的输入一输出特性。传感器这一基本特性可用静态特性和动态特性来描述。传感器的静态特性是指当被测量处于稳定状态下,传感器的输入与输出值之间的关系。传感器静态特性的主要技术指标有:线性度、灵敏度、迟滞和重复性等。传感器的动态特性是指传感器测量静态信号时,由于被测量不随时间变化,测量和记录过程不受时间限制。而实际中大量的被测量是随时间变化的动态信号,传感器的输出不仅需要精确地显示被测量的大小,还要显示被测量随时间变化的规律,即被测量的波形。传感器能测量动态信号的能力用动态特性表示。动态特性是指传感器测量动态信号时,输出对输入的响应特性。传感器动态特性的性能指标可以通过时域、频域以及试验分析的方法确定,其动态特性参数如:最大超调量、上升时间、调整时间、频率响应范围、临界频率等。动态特性好的传感器,其输出量随时间的变化规律将再现输入量随时间的变化规律,即它们具有同一时间函数。但是,除了理想情况以外,实际传感器的输出信号与输入信号不会具有相同的时间函数,由此引起动态误差。3.3 ds18b20简介3.3.1 ds18b20数字温度传感器概述美国dallas公司生产的ds18b20数字温度传感器,可以直接将被测温度转化为串行数字信号供微机处理,通过简单的编程实现9位的温度读数。并且多个ds18b20可以并接到多个地址线上与单片机实现通信。由于每一个ds18b20出厂时都刻有唯一的一个序列号并存入其rom中,因此cpu可用简单的通信协议就可以识别,从而节省大量的引线和逻辑电路。与其它温度传感器相比,ds18b20具有以下特性: (1)全数字温度转换及输出。 (2)先进的单总线数据通信。(3)最高12位分辨率,精度可达土0.5c。(4)12 位分辨率时的最大工作周期为 750 毫秒。(5)检测温度范围为55c +125c (67f +257f)(6)内置eeprom,限温报警功能。(7)多样封装形式,适应不同硬件系统。ds18b20常用的封装有to-92和8引脚的soic封装,如图5所示:图5 ds18b20的封装和引脚对图5中ds18b20的引脚功能说明如下:nc:空引脚,不连接外部信号。vdd:接电源引脚,电源供电3.0-5.5v.gnd:接地。dq:数据的输入和输出引脚。dq引脚的1/o为数据输入/输出端(即单线总线),常态下呈高电平。3.3.2 单线总线技术单线总线,即1-wire技术是ds18b20的一个特点。该技术采用单根信号线,既可传输时钟,又能传输数据,而且数据传输是双向的,因而这种单总线技术有线路简单,硬件开销少,成本低廉,便于总线扩展和维护等优点。单总线适用于单主机系统,能够控制一个或多个从机设备。主机可以是微控制器,从机可以是单总线器件,它们之间的数据交换只通过一条信号线。当只有一个从机设备时,系统可按单节点系统操作;当有多个从设备时,系统则按多节点系统操作。单总线即只有一根数据线,系统中的数据交换、控制都由这根线完成。主机或者从机通过一个漏极开路或三态端口连至该数据线,以允许设备在不发送数据时能够释放总线,而让其他设备使用总线,其内部等效电路如图6 所示。单总线通常要求外接一个约为4.7欧的上拉电阻,这样,当总线闲置时,其状态为高电平。图6 ds18b20内部等效电路图3.3.3 ds18b20 的使用方法由于ds18b20 采用的是1wire 总线协议方式,即在一根数据线实现数据的双向传输,而对at89s51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对ds18b20 芯片的访问。由于 ds18b20 是在一根i/o 线上读数据,因此,对读写的数据位有着严格的时序要求。ds18b20 有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。3.3.4 ds18b20的读写时序 对ds18b20的使用,多采用单片机实现数据采集。处理时,将ds18b20信号线与单片机一位口线相连,单片机可挂接多片ds18b20,从而实现多点温度检测系统。 其工作过程为:主机发出一个脉冲,待”0”电平大于480s后,复位ds18b20,在 ds18b20所发响应脉冲由主机接收后,主机再发读rom命令代码33h,然后发一个脉冲(15s),并接着读取ds18b20序列号的一位。另外,由于ds18b20单线通信功能是分时完成的,遵循严格的时隙概念,因此,系统对ds18b20和各种操作必须按协议进行,即初始化ds18b20(发复位脉冲) 发rom功能命令发存储器操作命令处理数据。ds18b20格的协定来确保数据的完整性。协议由几种单线上信号类别型组成:复位脉冲,存在脉冲,写0,写1,读0,和读l所有这些信号除了存在脉冲之外均由总线主机产生。开始先对ds18b20初始化,后继以存在脉冲的复位脉冲表示ds 18b20已经准备好发送或接收给出正确的rom命令和存贮器操作命令的数据。总线主机发送tx-复位脉冲(最短为480s的低电平信号)。接着总线主机便释放此线并进入接收方式(rx)。单线总线经过5k的上拉电阻被拉至高电平状态。在检测到1/0引脚上的上升沿之后,ds18b20等待15-60s并且接着发送存在脉冲(60-240s的低电平信号)。3.3.5 ds18b20的测温原理ds18b20的内部框图如图7所示,它主要包括寄生电源、温度传感器、64位激光rom单线接口、存放中间数据的高速暂存器、用于存储用户设定的温度上下限值、触发器存储与控制逻辑、8位循环冗余校验码发生器等7部分。图7 ds18b20的内部框图图8 ds18b20测温原理图 ds18b20的测温原理如图8所示。低温度系数振荡器是一个振荡频率随温度变化很小的振荡器,为计数器1提供一频率稳定的计数脉冲。高温度系数振荡是一个振荡频率对温度很敏感的振荡器,为计数器2提供一个频率随温度变化的计数脉冲。初始时,温度寄存器被预置成-55c,每当计数器1从预置数开始减计数到0时,温度寄存器中寄存的温度值就增加1c,这个过程重复进行直到计数器2计数到0时便停止。初始时,计数器1预置的是与-55c像对应的一个预置值。以后计数器1每一个循环的预置数都由斜率累加器提供。为了补偿振荡器温度特性的非线性性,斜率累加器提供的预置数也随温度相应变化。计数器1的预置数也就是在给定温度外使温度寄存器存值增加1c计数器所需的计数个数。图中比较器的作用是以四舍五入的量化方式确定温度寄存器的最低有效位。在计数器2停止计数后,比较器将计数器1中的计数剩余值转换为温度值后与0.25c进行比较,若低于0.25c ,温度寄存器的最低位就置0;若高于0.25c,就置1,若高于0.75c,温度寄存器的最低位就进位后置0。这样,经过比较后所得的温度寄存器的值就是最终读取的温度值了,其最末位代表0. 5c,四舍五入最大量化误差为士1/2lsb,即0.25c当ds18b20接收到温度转换命令后,开始启动转换。转换完成后的温度就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的0、1字节。单片机可通过单总线读到该数据,读取时低位字节在前,高位字节在后,数据格式以0.0625c/lsb形式表示。设s为标志位,对应的温度计算:当符号位s=0时,直接将二进制转换为十进制;当s=1时,先将二进制的各位取反加1后再计算十进制。表1是对应的一部分温度值。表1 输出温度值的不同进制温度(c)输出的二进制码对应的十六进制码+1250000 0111 1101 000007d0h+850000 0101 0101 00000550h+0.50000 0000 0000 10000008h00000 0000 000 00000000h-0.51111 1111 1111 1000fff8h-251111 1110 0110 1111fe6fh-551111 1100 1001 0000fc90h 另外,由于ds18b20单线通信功能是分时完成的,即异步通信,它有严格的时隙概念,因此读写时序很重要。系统对ds18b20的各种操作必须按协议进行。操作协议为:初始化ds18b20(发复位脉冲)发rom功能命令发存储器操作命令处理数据ds18b20温度传感器的测温误差:在070c范围内,ds18b20的上下限误差分别为+0.5c和-0.5 c,而典型产品的误差仅为士0 .25c。3.4 显示器及其接口单片机系统中常用的显示器有:发光二极管led(light emitting diode)显示器、液晶lcd(liquid crystal display)显示器、crt显示器等。led、lcd显示器有两种显示结构:段显示(7段、米字型等)和点阵显示(58、88点阵)。 led显示器工作方式有两种:静态显示和动态显示。静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。此方法的优点是占用cpu时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。 使用led显示器时,要注意区分这两种不同的接法。为了显示数字或字符,必须对数字或字符进行编码。七段数码管加上一个小数点,共计8段。因此为led显示器提供的编码正好是一个字节。led采用发光二极管显示字段。而我们经常采用的是八段显示器,既led显示器中有八个发光二极管,分别代表“a,b,c,d,e,f,g”七个字段和一个全小数点“ dp”。他有两种结构,共阳极和共阴极。共阴极led显示器的发光二极管的负极接地,当发光二极管的正极为高电平时,发光二极管被点亮。共阳极led显示器的发光二极管正极相连,当二极管的负极为低电平时,发光二极管被点亮。led显示器的结构和封装如图所示。图9 led封装图(共阴极、共阳极)一般的在使用led显示器时,工作电流约为510 ma/段,这样当led处于全亮状态时,工作电流约为4080ma左右。当然led的发光的强度除了与工作电流有关,还与led的型号有关。温度检测系统的软件设计4 温度检测系统的软件设计系统软件设计在这里就是指单片机的软件设计,本系统是采用c语言来进行程序设计的,主要包括显示子程序,复位程序,写程序读程序,中断响应等。4.1 ds18b20的软件设计 ds18b20的一线工作协议流程是:初始化rom操作指令存储器操作指令数据传输。其工作时序包括初始化时序、写时序和读时序。故主机控制ds18b20完成温度转换必须经过三个步骤:每一次读写之前都要对ds18b20进行复位,复位成功后发送一条rom指令,最后发送ram指令,这样才能对ds18b20进行预定的操作。复位要求主cpu将数据线下拉500微秒,然后释放,ds18b20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主cpu收到此信号表示复位成功。4.1.1 往ds18b20写数据 当主机把数据线从高逻辑电平拉至低逻辑电平时,产生写时序。有两种类型的写时序:写1时序和写0时序。所有时序必须有最短为60微秒的持续期,在各写周期之间必须有最短为1微秒的恢复时间。在1/0线由高电平变为低电平之后ds18b20在15s至60s的窗口之间对1/0线采样。如果线为高电平写1就发生,如果线为低电平便发生写0。对于 ds18b20 写0 时序和写1 时序的要求不同,当要写0 时序时,单总线要被拉低至少60us,保证ds18b20 能够在15us 到45us 之间能够正确地采样io 总线上的“0”电平,当要写1 时序时,单总线被拉低之后,在15us之内就得释放单总线。其程序如下: void write command to ds18b20(unsigned char command) unsigned char i; for(i=0;i8;i+) if(command & 0x01)=0) /写0 dq=0; delay_15us(6); dq=1; _nop_(); _nop_(); else/写1 dq=0; _nop_(); _nop_(); dq=1; delay_15us(6); command=_cror_(command,1); /右移1位 循环8次 4.1.2 从ds18b20读数据当从ds18b20读数据时,主机产生读时序。当主机把数据线从逻辑高电平拉至低电平时产生读时序。数据线必须保持在低逻辑电平至少1微秒;来自ds18b20的输出数据在读时间片下降沿之后15微秒有效。因此,为了读出从读时序开始算起15微秒的状态主机必须停止把1/0引脚驱动至低电平,在读时序结束时,1/0引脚经过外部的上拉电阻拉回至高电平。所有读时序的最短持续期限为60微秒,各个读时序之间必须有最短为1微秒的恢复时间。unsigned char readdatafromds18b20(void) unsigned char i; bit s; unsigned char temp; temp=0; for(i=0;i8;i+) temp=_cror_(temp,1);/循环右移一位 dq=0; _nop_(); _nop_(); dq=1; s=dq; delay_15us(4); if(s=1) temp=temp|0x80;/接收1 else temp=temp|0x00;/接收0 return(temp);4.2中断服务程序设计cpu在处理某一事件a时,发生了另一事件b请求cpu迅速去处理(中断发生);cpu暂时中断当前的工作,转去处理事件b(中断响应和中断服务);待cpu将事件b处理完毕后,再回到原来事件a被中断的地方继续处理事件a(中断返回),这一过程称为中断 。at89c51单片机中断处理过程:中断响应条件和时间是中断源有中断请求;此中断源的中断允许位为1;cpu开中断(即ea=1)。以上三条同时满足时,cpu才有可能响应中断。 定时器方式控制寄存器tmod用于设置tn的功能模式和工作方式以及门控制信号你,只能字节寻址,字节地址为89h,高四位用于定时器t1,低四位用于定时器t0。定时器/计数器方式控制寄存器tmod不能进行位寻址,只能用于字节传送指令设置定时器工作方式,低半字节定义为定时器0,高半字节定义为定时器1。复位时,tmod所有位均为0。 tmod=0x01;/定时器0方式1 th0=(65536-500)/256;/中断时间500微秒 tl0=(65536-500)%256; et0=1; ea=1;/cpu开放中断 while(reset pulse();/初始化程序 write command to ds18b20(0xcc); /跳过读序号列号的操作 write command to ds18b20(0x44); );/启动温度转换 tr0=1;/启动定时器 4.3 主程序流程图 图10 系统程序流程图程序开始先进行初始化,对系统进行复位操作,然后发送检波信号,若系统检测到采样信号,则at89c51单片机的p3.7口接收串行数据,然后调用子程序:ds18b2o的初始化、读取数据、写数据。在温度转换和读取温度前,首先要通过产生复位脉冲初始化ds18b20,然后ds18b20发出应答脉冲,当单片机接收到应答脉冲后才开始后续的操作。程序应按照严格的时序进行,以保证数据的完整性。最后由数码管显示出采集的温度。5 结 论本文针对温度检测存在的问题将多种信息处理技术和单总线技术相结合,设计了一套实时、全面、科学的温度检测系统。在本系统中,采用模块化、层次化设计。单片机与温度传感器之间采用单总线通信标准,用简单、高效的通信电路实现检测数据的读取。 本

温馨提示

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

评论

0/150

提交评论