单片机数字温度计课程设计报告(共23页).doc
《单片机数字温度计课程设计报告(共23页).doc》由会员分享,可在线阅读,更多相关《单片机数字温度计课程设计报告(共23页).doc(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上目 录1.设计任务. . . .1 1.1 设计目的. . .1 1.2 设计指标. . .11.3 设计要求. .12. 设计思路与总体框图. .13. 系统硬件电路的设计. .23.1主控电路. . .23.2液晶显示电路. .33.3按键电路. . . .33.4报警电路. . .44. 系统仿真设计.4 4.1仿真原理图. . . .4 4.2各功能元件的分析.55. 系统软件设计.10 5.1 主程序.11 5.2 读出温度子程序.11 5.3 温度转换命令子程序.12 5.4 设计温度子程序.12 5.5 1602的温度显示.136. 总结与体会. . .
2、 .136 1 总结. . . .136. 2体会. . . .147. 参考文献. . . .158. 附录.161. 设计任务1.1 设计目的1. 了解数数字温度计及工作原理。2. 进一步掌握数字温度计设计方法。 3. 进一步掌握各芯片的逻辑功能及使用方法。 4. 进一步掌握keil和仿真软件的应用。5. 进一步熟悉集成电路的引脚安排.。1.2 设计指标1. 显示温度。2. 可以显示大于零度的温度也可以显示小于零度的温度。3. 具有显示相应环境温度的功能,并且具有超出设定范围内温度时可以报 警的功能,相应环境可以人为选择。1.3 设计要求1.画出总体设计框图,以说明数字温度计由哪些相对独立
3、的功能模块组 成,标出各个模块之间互相联系。并以文字对原理作辅助说明。2.设计各个功能模块的电路图,加上原理说明。3.选择合适的元器件,在面包板上接线验证、调试各个功能模块的电路,在接线验证时设计、选择合适的输入信号和输出方式,在确定电路充分正确性同时,输入信号和输出方式要便于电路的测试和故障排除。4.在验证各个功能模块基础上,对整个电路的元器件和布线进行合理布局,进行整个数字温度电路的接线调试。2.设计思路与总体框图.数字温度计由主控制器(单片机)、温度传感器(DS18B20)、显示器(LCD1602)、独立按键和报警电路组成,温度传感器所感应的温度信号经过其数据传输引脚传送给单片机,单片机
4、将所接收到的温度信号经过处理,将其送至显示器LCD1602显示,并且能够通过独立按键设置温度报警值,若温度处于报警上限和下限之外,报警电路工作。图1所示为数字温度计的一般结构框图:报警温度调整键 LCD1602显示 STC90C51 主 控 制 器 蜂鸣器,指示灯单片机时钟振荡 DS18B20传感器 图1 数字温度计结构框图3. 系统硬件电路的设计3.1 主控电路单片机STC90C51具有低电压供电和体积小等特点,四个端口同时使用以满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。晶振采用12MHZ。 图2 主控电路 图3 晶振电路 3.2 温度显示电路采用液晶显示屏
5、LCD1602显示,第一行显示“18B20 OK TL”和报警下限值,第二行显示实时温度以及报警上限值,并且能够显示负温度值。用P0口进行LCD1602的数据写操作,P2.5P2.7口进行LCD1602的命令控制端口。电路图如下: 图4 温度显示电路 3.3 按键电路本系统一共设置了四个按键,k1键设置温度下限加,k2键设置温度下限减k3键设置温度上限加,k4键设置温度上限减。 图5 按键电路3.4 报警电路本设计采用蜂鸣器和LED灯组成报警电路,电路图如下: 图6 报警电路4系统设计仿真4.1仿真原理图根据数字温度计的一般结构框图,我们通过查阅资料书和上网查询,了解不同元件的功能和实用性,考
6、虑性价比后,制作出的数字温度计的仿真电路原理图,如图7所示。 图7 数字温度计仿真电路原理图4.2各功能元件的分析2设计原理图中各功能元件的引脚图的分析如下所示:1DS18B20:DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9-12位的数字值读数方式。DS18B20的性能特点如下:(1)独特的单线接口仅需要一个端口引脚进行通信,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。(2)DS18B20支持多点组网功能,多个DS
7、18B20可以并联在惟一的三线上,实现多点组网测温;(3)无须外部器件,全部传感元件及转换电路集成在形如一只三极管的集成电路内;(4)可通过数据线供电,电压范围为3.0-5.5;(5)零待机功耗;(6)温度以9或12位数字,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温;(7)用户可定义报警设置;(8)报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;(9)负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;(10)测量结果直接输出数字温度信号,以一线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力DS18B
8、20采用3脚PR35封装或8脚SOIC封装,其引脚排列及内部结构框: 图8 DS18B20引脚排列图 图9 内部结构框图预置斜率累加器比较低温度系数振荡器计数器1温度寄存器Tx预置=0高温度系数振荡器-0计数器2T1加1停止T2 图 10 DS18B20测温原理图64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器TH和TL,可通过软件写入户报警上下限。DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RA
9、M的结构为8字节的存储器,结构如图4所示。头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图5所示。低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户不要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。温度 LSB温度 MSBTH用户字节1TL用户字节2配置寄存器保留保留保留CRCTMR1R011111图11 DS18B20的
10、字节定义 DS18B20的分辨率定义如表1所示表1 分辨率设置表R0R1分辨率最大温度转移时间009位96.75ms0110位187.5ms1011位375ms1112位750ms由表1可见,DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。主机控制DS18B20完成温度转换过程是:每一次读写之前都要对DS18B20进行复位,即将数据总线下拉500us,然后释放,DS18B20收到信号后等待16-60us左右,之后发出60-240us的存在低脉冲,主CPU收到此此信号表示复位成功;复位成功后发送一条ROM指令,然后
11、发送RAM指令,这样才能对DS18B20进行预订的读写操作。表2 ROM指令集指令约定代码功能读ROM33H读DS18B20中的编码符合ROM55H发出此命令后,接着发出64位ROM编码,访问单线总线上与该编辑相对应的DS18B20使之做出响应,为下一步对该DS18B20的读写作准备搜索ROM0F0H用于确定挂接在同一总线上的DS18B20个数和识别64位ROM地址,为操作各器件作准备跳过ROM0CCH忽略64位ROM地址,直接向DS18B20发送温度变换指令告警搜索命令0ECH执行后,只有温度跳过设定值上限或下限的片子才能做出反应表3 RAM指令集指令约定代码功能温度转换44H启动DS18B
12、20进行温度转换读暂存器0BEH读暂存器9个字节内容写暂存器4EH将数据写入暂存器的TH、TL字节复制暂存器48H把暂存器的TH、TL字节写到E2RAM中重调E2RAM0B8H把E2RAM中的TH、TL字节写到暂存器TH、TL字节读供电方式0B4H启动DS18B20发送电源供电方式的信号给主CPUDS18B20的测温原理是这这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行
13、计数进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将最低温所对应的一个基数分别置入减法计数器1、温度寄存器中,计数器1和温度寄存器被预置在最低温所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。 图 1
14、2 测温电路图2. LCD1602:工业字符型液晶,能够同时显示16x02即32个字符(16列2行)。1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的型液晶模块。它由若干个5X7或者5X11等字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。1602芯片的接口信号说明如下表:1602芯片的接口信号说明5 系统软件设计整个系统是由
15、硬件配合软件来实现的,在硬件确定后,编写的软件的功能也就基本定型了。所以软件的功能大致可分为两个部分:一是监控,这也是系统的核心部分,二是执行部分,完成各个具体的功能。系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。5.1主程序主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图13所示。Y发DS18B20复位命令发跳过ROM命令发读取温度命令读取操作,CRC校验9字节完?CRC校验正?确?移入温度暂存器结束NNY 开始 液晶初始化 调用按键
16、函数, 液晶显示函数判断温度值与设定报警值大小 大于TH或 N 者小于TL Y 报警 结束 图 13 主程序流程图 图 14 读温度流程图5.2读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图15示:发DS18B20复位命令发跳过ROM命令发温度转换开始命令 结束 图 15 温度转换流程图5.3温度转换命令子程序温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。温度转换命令子程序流程图如上图,图13所示5.4 计算温度
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 数字 温度计 课程设计 报告 23
限制150内