内容单片机设计数字式温度计 温度传感器DS18B20

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

中北大学单片机课程设计说明书第1页共20页目录一引言………………………………………………………………………………2二课程设计目的与要求……………………………………………………………22.1课程设计目的…………………………………………………………………22.2课程设计任务…………………………………………………………………22.3课程设计的要求………………………………………………………………2三课程设计内容…………………………………………………………………23.1数字温度计的设计方案………………………………………………………33.2方案的总体框图………………………………………………………………33.3系统硬件电路…………………………………………………………………4四系统软件算法分析……………………………………………………………74,1主程序…………………………………………………………………………74.2读出温度子程序………………………………………………………………84.3温度转换命令子程序…………………………………………………………84.4计算温度子程序………………………………………………………………94.5显示数据刷新子程序…………………………………………………………9五程序编写………………………………………………………………………10六Proteus软件仿真…………………………………………………………18七课程设计总结与体会…………………………………………………………19参考文献…………………………………………………………………………20中北大学单片机课程设计说明书第2页共20页一引言电气测试阐述了各种传统的传感器和新型传感器(如压阻、压电、超声、光电、激光、光导纤维、气敏、霍尔、微型化和智能化等传感器)的原理、特性及其在非电量电测技术中的应用.单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。所以必须熟悉掌握单片机的原理及接口技术和相关的数字电路、模拟电路的知识才能更好的完成此次课程设计.二课程设计目的与要求2.1课程设计目的本课程的课程设计实际是测控技术及仪器专业学生学习完《单片机与接口技术》课程后,进行的一次全面的综合训练,其目的在于加深对单片机、单片机最小系统和单片机接口技术的认识、理解和应用,掌握单片机的应用技术。2.2课程设计任务利用学习过的《单片机与接口技术》课程的内容和其他相关课程的内容,设计数字式温度计。2.3课程设计要求1实现1路实时温度的显示,显示位数为3位,显示精度0.5℃;2利用74LS164作为显示驱动;3利用DS18B20作为集成温度传感器,选择相应变送电路;4设计单片机主程序、温度变换程序、显示程序等;5尽可能降低设计的成本;三课程设计内容中北大学单片机课程设计说明书第3页共20页3.1数字温度计设计方案考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以可以采用一只温度传感器DS18B20,该传感器可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。3.2方案的总体框图温度计电路设计总体设计方框图如图1所示,控制器采用单片机8051,温度传感器采用DS18B20,用3位LED数码管以串口传送数据实现温度显示。图1总体设计方框图主控制器单片机8051具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。LED显示显示电路采用3位共阳LED数码管,从P3口RXD,TXD串口输出段码,采用74LS164移位寄存器作为显示驱动,显示电路主要由串行移位译码器74LS164、八段共阳数码管构成。74LS164内部结构图中北大学单片机课程设计说明书第4页共20页74LS164时序图74LS164为串行移位译码器,它主要由时钟线控制,时钟线每来一个上升弦,数据线将把一位数移进去,移八次就进一个字节,同时在数码管显示出来。温度传感器数字温度传感器DS18B20,它不仅能直接输出串行数字信号,而且具有微型化、低功耗、高性能、易于微处理器连接和抗干扰能力强等优点。DS18B20数字温度传感器对于实测的温度提供了9-12位的数据和报警温度寄存器,它的测温范围为-55℃~+125℃,其中在-10℃~+85℃的范围内的测量精度为±0.5℃。由于每个DS18B20有唯一的一个连续64位的产品号,所以允许在一根电缆上连接多个传感器,以构成大型温度测控网络。单片机复位复位操作可以使单片机初始化,也可以使死机状态下的单片机重新启动,因此非常重要。该设计采用的是按健复位电路,按健复位电路是上电复位加手动复位,使用比较方便,在程序跑飞时,可以手动复位,按下键后,使RESET端产生高电平,按键时间决定复位时间,这样就不用在重起单片机电源,就可以实现复位。3.3系统硬件电路DS18B20与8051单片机连接非常简单,只需将DS18B20信号线与单片机一中北大学单片机课程设计说明书第5页共20页位I/O线相连,且一位I/O线可连接多个DS18B20,以实现单点或多点温度测量。DS18B20可以通过2种方式供电:外加电源方式和寄生电源方式。前者需要外加电源,电源的正负极分别与DS18B20的VDD和GND相连接。后者采用寄生电源,将DS18B20的VDD与GND接在一起,当总线上出现高电平时,上拉电阻提供电源;当总线低电平时,内部电容供电。由于采用外加电源方式更能增强DS18B20的抗干扰性,故本设计采用这种方式。图3DS18B20温度传感器与单片机的接口电路显示电路显示电路是使用的串口显示,这种显示最大的优点就是使用口资源比较少,可充分利用串行口,将并行口用到最需要的地方去,同时主程序不需要扫描显示器,使它有更多的时间处理其他的事情,这种方法用于显示位数少,显示亮度大123456ABCD654321DCBATitleNumberRevisionSizeBDate:13-Jun-2007SheetofFile:F:\protel\Examples\MyDesign.ddbDrawnBy:EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U?8051NC1NC2GND3I/O4NC8NC7NC6Vcc5U2DS18B20S1SW-PBY1C1C2R5R4R3C4C3R2R1VCC中北大学单片机课程设计说明书第6页共20页的地方,效果较好,只用p3口的RXD,和TXD,串口的发送和接收,三只数码管采用74LS164右移寄存器驱动,显示比较楚。图4显示电路总体电路图系统整体硬件电路包括,传感器数据采集电路,温度显示电路,单片机主板电路等,图中的按健复位电路是上电复位加手动复位,使用比较方便,在程序跑飞时,可以手动复位,这样就不用在重起单片机电源,就可以实现复位。中北大学单片机课程设计说明书第7页共20页图5总体电路图四系统软件算法分析系统程序主要包括单片机主程序、温度变换程序、显示程序等。4.1主程序主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图6所示中北大学单片机课程设计说明书第8页共20页图6主程序流程图4.2读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图7示图7读出温度子程序流程图4.3温度转换命令子程序温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。温度转换命令子程序图发DS18B20复位命令读取操作,CRC校验发读取温度命令发条过ROM命令9字节完?移入温度暂存器CRC校验正?结束中北大学单片机课程设计说明书第9页共20页图8温度转换命令子程序流程图4.4计算温度子程序计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图9所示。图9计算温度子程序4.5显示数据刷新子程序显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。程序流程图如图10。中北大学单片机课程设计说明书第10页共20页图10显示数据刷新子程序五程序编写WENDU_LEQU29H;用于保存读出温度的低字节WENDU_HEQU28H;用于保存读出温度的高字节XIAOSHUEQU27H;用于保存温度的小数部分ZHENGSHUEQU26H;用于保存整数部分BIAOZHIBIT50H;18B20检查位1为存在,0为不存在ORG0000HAJMPMAINORG0030HMAIN:MOVSCON,#00HACALLDUWENACALLZHENGHEACALLBCDACALLDISPACALLTIME1AJMPMAIN----------------------------------------------------------------------------------------------------------------------------------------中北大学单片机课程设计说明书第11页共20页读温度子程序----------------------------------------------------------------------------------------------------------------------------------------DUWEN:SETBP2.0ACALLFUWEI;读温度之前必须先复位JBBIAOZHI,CUNZAI;查看标志位看18B20是否存在,1为存在,0为不存在RET;不存在则返回CUNZAI:;存在则开始读温度MOVA,#0CCH;跳过ROM匹配ACALLXIE;调写子程序MOVA,#44H;发出温度转换命令ACALLXIE;调写子程序ACALLTIME1;调1秒延时,等等AD转换完成,现在分辨率为12位,温度最大转换时间为750MSACALLFUWEI;读温前需要复位MOVA,#0CCH;跳过ROM匹配ACALLXIEMOVA,#0BEH;发读温度命令ACALLXIEACALLDUSHU;将闱出数据读回CLRP1.2RET------------------------------------------------------------------------------------------------------------------------------复位子程序18B20复位需要将数据位拉低500us18B20收到信号后要等待16-60us,然后发出60-240us的低脉冲---------------------------------------------------------------------中北大学单片机课程设计说明书第12页共20页----------------------------------------------------------FUWEI:SETBP2.0NOPCLRP2.0MOVR0,#3INTE:MOVR1,#107;设一个537us延时KK1:DJNZR1,KK1DJNZR0,INT

1 / 20
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功