单片机接口原理及应用课程设计报告数字式温度计设计.doc
《单片机接口原理及应用课程设计报告数字式温度计设计.doc》由会员分享,可在线阅读,更多相关《单片机接口原理及应用课程设计报告数字式温度计设计.doc(19页珍藏版)》请在三一办公上搜索。
1、单片机接口原理及应用课程设计报告学 院: 工学院 题 目: 数字式温度计设计 专 业: 机械设计制造及其自动化 班 级: 07机电2班 姓 名: 学 号: 070105085 指导教师: 起止日期:2010年12月1日2010年12月20日目录一、前言(2)二、课程设计目的和要求(2)三、总体设计方案(2)1. 整体功能说明 (2)2. 硬件功能模块组成 (2)3. 软件功能模块组成 (3)4. 硬件总体框图 (3)5. 测试计划 (3)四、系统硬件设计(4)1. 整体功能说明 (4)2. 硬件功能模块组成 (4)2.1 主控制器(4)2.2 温度测量模块(4)2.3 显示电路(5)2.4 温
2、度传感器工作原理(5)五、系统的软件设计(7)1. 主程序 (7)2. 读出温度子程序 (8)3. 温度转换命令子程序 (9)4. 计算温度子程序 (9)5. 显示数据刷新子程序 (9)六、程序清单(10)七、结束语(17)八、参考文献(18)附录:系统原理图(见A3图纸)前言当今社会,温度检测系统被广泛的社会生产、生活的各个领域。在工业、环境检测、医疗、家庭等多方面都有应用。同时单片机在电子产品中的应用已经越来越广泛。随着温度检测理论与技术的不断更新,温度传感器的种类也越来越多,在微机系统中使用的传感器,必须是能够将非电量转换成电量的传感器,目前常用的有热电偶传感器、热电阻传感器和单导体传感
3、器等,每种传感器根据其自身特性,都有它自己的应用领域。本设计所介绍的数字温度计与传统的温度计相比,具有读数方便、测温范围广、测温准确、其输出温度采用数字显示等优点,主要用于对温度比较准确的场所,或科研实验室使用。该设计控制器使用单片机AT89C51,温度传感器使用DS18B20,用4位共阳极LED数码管以串口显示数据,实现温度显示。二、 课程设计目的和要求1 设计目的1.学会A/D转换芯片的用法;2.学会掌握8051单片机用法;3.学会单片机的程序设计;4.培养查阅资料的能力。 2.设计要求 本设计主要是介绍了单片机控制下的温度检测系统,详细介绍了其硬件和软件设计,并对其各功能模块做了详细介绍
4、,其主要功能和指标如下:1.利用温度传感器(DS18B20)测量某一点环境温度;2.测量范围为-5599,精度为0.5;3.用数码管进行实际温度值显示;4.能够根据需要方便设定上下限报警温度。三、总体设计方案 整体功能说明:以51单片机为主控制器,以数字式温度传感器DS18B20为传感元件,以LED数码管作为显示器件实时显示测量温度(十进制数)。数字式温度计测温范围在55125,误差在0.5以内。温度测量间隔时间选择1 s 。 通过键盘扩展,实现温度上下限值的设定及温度报警功能。对温度采样值实现数字滤波。通过硬件或软件方法实现时间显示。2. 硬件功能模块组成:温度计的控制器使用单片机AT89C
5、2051,温度传感器使用DS18B20,用4位共阳LED数码管以动态扫描法实现温度显示。主控制器: 单片机AT89C2051具有低电压供电和小体积等特点,两个端口刚好满足电路系统的设计需要。显示电路:显示电路采用4位共阳LED数码管,从P1口输出段码,列扫描用P3.0P3.3口来实现,列驱动用9012三极管。3. 软件功能组成模块:系统程序主要包括主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和显示数据刷新子程序等。主程序:主要功能是负责温度的实时显示、读出并处理DS18B20的测量温度值。温度测量每1 s 进行一次。读出温度子程序:主要功能是读出RAM中的9字节。在读出时须进行C
6、RC校验,校验有错时不进行温度数据的改写。温度转换命令子程序:主要是发温度转换开始命令。计算温度子程序:将RAM中读取值进行BCD码的转换运行,并进行温度值正负的判定。显示数据刷新子程序:主要是对显示缓冲器中的显示数据进行刷新操作,当最高数据显示位为0时,将符号显示位移入下一位。4. 硬件总体框图:5. 测试计划: (1)硬件测试:主要测试各部分硬件是否能正常工作,每部分通过简单程序来检测。 (2)软件测试:测试软件是否符合设计要求、是否存在BUG。四、系统的硬件设计1. 整体功能说明:以51单片机为主控制器,以数字式温度传感器DS18B20为传感元件,以LED数码管作为显示器件实时显示测量温
7、度(十进制数)。数字式温度计测温范围在55125,误差在0.5以内。温度测量间隔时间选择1 s 。 通过键盘扩展,实现温度上下限值的设定及温度报警功能。对温度采样值实现数字滤波。通过硬件或软件方法实现时间显示。2硬件功能模块组成:温度计电路设计原理图见A3图纸,温度计的控制器使用单片机AT89C51,温度传感器使用DS18B20,用4位共阳极LED数码管以动态扫描法实现温度显示。图中有3个独立式按键可以分别调整温度的上下限报警设置,图中蜂鸣器可以在被测温度不在上下限范围内时,发出报警鸣叫声音,同时LED数码管将没有被测温度显示,这时可以调整上下限,从而测出被测的温度值。2.1主控制器单片机AT
8、89C51具有低电压供电和小体积等特点,两个端口刚好满足电路系统的设计需要。2.2温度测量模块主要用到的是DS18B20温度传感器,将采集到的温度模拟量(-55度到125度)转换成数字量,并接上一个上拉电阻后再送给单片机P3.4口。2.3显示电路显示电路采用4位共阳极LED数码管,从P0口输出段码,列扫描用P2.0P2.3口来实现,列驱动用9012三极管。2.4温度传感器工作原理1. DS18B20的性能特点DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器。与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9-12位
9、的数字值读数方式。DS18B20的性能特点如下:.独特的单线接口仅需要一个端口引脚进行通信;.多个DS18B20可以并联在唯一的三线上,实现多点组网功能;.不需要外部器件;.可通过数据线供电,电压范围为3.0-5.5 V;.零待机功耗;.温度以912位数字量读出;.用户可定义的非易失性温度报警设置;.报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;. 负电压特性,电源极性接反时,温度计不会因发热而烧毁,只是不能正常工作。2. DS18B20的内部结构DS18B20采用3脚PR一35封装或8脚SOIL封装,其内部结构框图如图4.2所示。图4.2 DS18B20内部结构框图64位RO
10、M的位结构如图4.3所示。开始8位是产品类型的编号;接着是每个器件的唯一的序号,共有48位;最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用单线进行通信的原因。非易失性温度报警触发器TH和TL,可通过软件写人用户报警上下限数据。图4.3 64位ROM结构框图3.DS18B20测温原理图4.4所示,图中低温度系数振荡器的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数振荡器随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输人。图4.4 DS18B20的测温原理图图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡
11、器产生的时钟脉冲进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55所对应的一个基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55所对应的一个基数值。减 法 计 数器1对低温度系数振荡器产生的脉冲信号进行减法计数,当减法计数器1的预置值减到。时,温度寄存器的值将加1,减法计数器1的预置值将重新被装人,并重新开始对低温度系数振荡器产生的脉冲信号进行计数。如此循环,直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值就是所测温度值。图4.8中的斜率累加器用于补偿和修正测温过程中的非线形性,其输出用于修正减法
12、计数器的预置值,只要计数门仍未关闭就重复上述过程,直到温度寄存器值达到被测温度值。另外 ,由 于DS18B20单线通信功能是分时完成的,有严格的时隙概念,因此读/写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。4.DS18B20与单片机的接口电路DS 18 B 20可以采用两种方式供电:一种是采用电源供电方式,此时DS18B20的第1脚接单片机课程设计指导地,第2脚作为信号线,第3脚接电源;另一种是寄生电源供电方式,如图4.5所示。单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供
13、足够的电流,可用一个MOSFET管来完成对总线的上拉。当 DS 18 B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最长为500 ms。采用寄生电源供电方式时,VDD和GND端均接地。由于单线制只有一根线,因此发送接口必须是三态的。图4.5 DS18B20采用寄生电源的电路图4.测温系统的硬件工作原理 对DS18B20初始化后,主机发出SKIP ROM命令,此命令执行后的存储器操作命令将对所在线的DS18B20,在发出温度转换启动码(44H),等待750ms后,先发出匹配ROM命令(55H)紧接着主机提供一片DS18B20的64位序列号,读取其温度存储器值,存
14、入数据缓存。五、系统的软件设计系统程序主要包括主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和显示数据刷新子程序等。1.主程序主程序需要调用4个子程序,分别为数码管显示程序,温度测试及处理子程序,报警子程序,中断设定子程序。各模块程序功能如下:数码管显示程序:向数码的显示送数,控制系统的显示部分。温度测试及处理程序:对温度芯片送过来的数据进行处理,进行判断和显示。报警子程序:进行温度上下限判断及报警输出。中断设定程序:实现设定上下限报警功能。主程序流程见图5.1:图5.1 主程序流程图2. 读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节。在读出时须进行CRC校验,校验
15、有错时不进行温度数据的改写。其流程如图5.2所示。发DS18B20复位命令发读取温度命令移入温度暂存器结束发跳过ROM命令读取操作,CRC校验9字节完?CRC校验正确?NNYY图5.2读DS18B20流程图3. 温度转换命令子程序温度转换命令子程序主要是发温度转换开始命令。其流程如图5.3所示。发DS18B20复位命令发跳过ROM命令发温度转换开始命令结束图5.3温度转换命令子程序流程图4. 计算温度子程序计算温度子程序的主要功能是将RAM中读取值进行BCD码的转换运行,并进行温度值正负的判定。其流程如图5.4所示。开始温度值取补码置“”标志计算小数位温度BCD码计算整数位温度BCD码置“+”
16、标志结束温度零下?NY图5.4计算温度子程序流程5. 显示数据刷新子程序显示数据刷新子程序的主要功能是对显示缓冲器中的显示数据进行刷新操作,当最高数据显示位为0时,将符号显示位移入下一位。其流程如图5.5所示。结束百位数显示数据(不显示符号)十位数显示符号百位数不显示温度数据移入显示寄存器十位数0?百位数0?NNYY图5.5 显示数据刷新子程序流程六、程序清单 ;常数定义TIMEL EQU 0E0HTIMEH EQU 0B1H ; 20ms,定时器0时间常数TEMPHEAD EQU 36H ;工作内存定义BITST DATA 20HTIME1SOK BIT BITST.1TEMPONEOK B
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 接口 原理 应用 课程设计 报告 数字式 温度计 设计
链接地址:https://www.31ppt.com/p-4193896.html