2022年数字温度计设计单片机课程设计.docx

上传人:Q****o 文档编号:26186091 上传时间:2022-07-16 格式:DOCX 页数:45 大小:1.43MB
返回 下载 相关 举报
2022年数字温度计设计单片机课程设计.docx_第1页
第1页 / 共45页
2022年数字温度计设计单片机课程设计.docx_第2页
第2页 / 共45页
点击查看更多>>
资源描述

《2022年数字温度计设计单片机课程设计.docx》由会员分享,可在线阅读,更多相关《2022年数字温度计设计单片机课程设计.docx(45页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选学习资料 - - - - - - - - - 单片机课程设计报告院 (系):电气与掌握工程学院 专业班级:测控技术与仪器 设计者:设计者 指导老师:2022 年 7 月 17 日目录1 基本要求 . 0 1.1 设计题目 . 0 1.2 设计任务 . 0 1.3 本设计应达到要求 . 0 1.4 扩展功能 . 0 1.5 设计说明书(论文) . 0 2 课程设计内容 . 1 2.1 设计任务目地 . 1 2.2 设计任务要求 . 1 2.3 方案设计 . 12.3.1 温度采集电路地挑选. 12.3.2 单片机地挑选 . 12.3.3 显示电路地取决. 2名师归纳总结 2.3.4 报警部分

2、电路分析. 2第 1 页,共 27 页3 重要器件及其相关参数 . 2- - - - - - -精选学习资料 - - - - - - - - - 3.1 单片机 STC89C52 . 3 3.2 温度传感器 DS18B20 . 3 4 硬件电路设计 . 54.1 主板电路 . 5 4.2 显示电路 . 64.3 报警参数调剂电路 . 6 4.4 蜂鸣器报警电路 . 6 4.5 温度采集电路 . 65 系统软件设计 . 6 5.1 主程序 . 65.2 读取数据地流程图 . 7 5.3 温度转换命令子程序 . 8 5.4 运算温度子程序 . 95.5 模式切换流程图 . 9 6 实际连接与最终结

3、果 . 10 设计心得体会 . 12 参考文献 . 13 附录 1:元件清单 . 14附录 2:程序清单 . 15数字温度计设计【摘 要】:随着时代地进步和进展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟地技术 ,本文将介绍一种基于单片机掌握地数字温度计,本温度计属于多功能温度计,可以通过键盘设置上下报警温度当温度不在设置范畴内时,可以报警 . 【关键字】: DS18B20 ;STC89C52;四位一体数码管;报警;【引言】:随着人们生活水平地不断提高,单片机掌握无疑是人们追求地目标之一,它所给人带来地便利也是不行否定地,其中数字温度计就是一个典型地例子,但人们对

4、它地要求越来越高,要为现代人工作、科研、生活、供应更好地更便利地设施就需要从数单片机技术入手,一切向着数字化掌握,智能化掌握方向进展 .本设计所介绍地数字温度计与传统地温度计相比,具有读数便利,测温范畴广,测温精确,其输出温度采纳数字显示,主要用于对测温比较精确地场所,或科研试验室使用,该设计掌握器使用单片名师归纳总结 机 STC89C52RC ,测温传感器使用DS18B20 ,用 4 位一体共阴数码管以串口传送数据,实现温度显示 ,能精确达到以上要求.第 2 页,共 27 页- - - - - - -精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第

5、 3 页,共 27 页精选学习资料 - - - - - - - - - 1 基本要求1.1 设计题目数字温度计设计1.2 设计任务利用单片机和集成温度传感器设计一个可以直接显示温度值地数字温度计并要求达到肯定地测量精度.1.3 本设计应达到要求 硬件设计:依据任务要求,完成单片机最小系统及其扩展设计,焊接电路板,组胜利能完整地样机 . 软件设计:依据温度测量及显示功能要求,完成掌握软件地编写与调试; 功能要求:至少利用 3 位数码管进行测量值地显示(也可用液晶显示器相应内容),温度测量范围: -20100;1.4 扩展功能依据实际情形自由添加附加功能,如设置温度地上下限报警功能,利用语音或声光

6、报警等 .1.5 设计说明书(论文)设计说明书应说明设计思想和所使用地设计方法,主要内容包括: 系统简介、整体功能说明、各功能模块说明(附图)及系统使用说明; 设计仍需要改进地地方及设计地心得体会; 参考文献:包括参考书、资料、网站等,按标准格式列出(可参考教材最终地参考文献引用格式);名师归纳总结 附录:系统总体原理图及源程序.第 4 页,共 27 页- - - - - - -精选学习资料 - - - - - - - - - 2 课程设计内容2.1 设计任务目地随着人们生活水平地不断提高,单片机掌握无疑是人们追求地目标之一,它所给人带来地便利也是不行否定地,其中数字温度计就是一个典型地例子,

7、但人们对它地要求越来越高,要为现代人工作、科研、生活、供应更好地更便利地设施就需要从数单片机技术入手,一切向着数字化掌握,智能化控制方向进展 .本次课程设计地目地就是通过本次课程设计使我们更加娴熟单片机技术地使用,将单片机理论学问融入于生产应用 .使我们学有所用,学以致用!2.2 设计任务要求依据设计要求,确定设计任务地总纲领:利用单片机和集成温度传感器设计一个可以直接显示温度值地数字温度计 .设计要求:( 1)硬件设计:依据任务要求,完成单片机最小系统及其扩展设计,焊接电路板,组胜利能完整地样机 .(2)软件设计:依据温度测量及显示功能要求,完成掌握软件地编写与调试;( 3)功能要求:至少利

8、用 量范畴: -20100;( 4)扩展功能:3 位数码管进行测量值地显示(也可用液晶显示器相应内容),温度测依据实际情形自由添加附加功能,如设置温度地上下限报警功能,利用语音或声光报警等 .2.3 方案设计由于本设计地核心就是温度地采集,故而第一考虑温度地采集方案即温度采集电路地挑选 .2.3.1 温度采集电路地挑选(1)温度采集电路方案一由于本设计是测温电路,可以使用热敏电阻之类地器件利用其感温效应,在将随被测温度变化地电压或电流采集过来,进行 A/D 转换后,就可以用单片机进行数据地处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到 A/D 转换电路,感温电路比较麻烦 .(2

9、)温度采集电路方案二进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是特别简洁想到地,所以可以采纳一只温度传感器 换,就可以满意设计要求 .DS18B20 ,此传感器,可以很简洁直接读取被测温度值,进行转从以上两种方案,很简洁看出,采纳方案二,电路与软件设计都比较简洁,传感精度也明显更高 .故采纳了方案二为本次数字温度计设计地大致方案 .2.3.2 单片机地挑选名师归纳总结 - - - - - - -挑选完温度采集电路地设计,就考虑此次设计电路地核心单片机.单片机地挑选主要是AT 系列和STC 系列地挑选 .依照地原就是:满意所需功能地前提下,尽量挑选低成本单片机.由于

10、AT 系列 51 单片机是USA 地产品,功能少,速度慢,RAM/ROM小,性能不够稳固.而且一些 AT 系列地单片机已经停产.相比 STC 系列单片机高性能,功能齐全,速度高,RAM/ROM大,价格低廉、下载程序便利等优点.毫无疑问 .我们挑选了STC 系列常用地且价格较低地单片机STC89C52RC.第 5 页,共 27 页精选学习资料 - - - - - - - - - 2.3.3 显示电路地取决单片机确定后.主要仅剩下显示电路地设计.关于显示电路.我们采纳了四位一体八段共阴数码管.符合课程设计地要求.2.3.4 报警部分电路分析在测温场所我们往往需要对高、低温进行报警,而且需要依据不怜

11、悯形随时调剂报警温限,这就需要设计键盘电路来进行报警参数设置.依据分析需要设计三个按键地键盘,即模式切换、加键,减键.2.4 系统框图该系统可分为以下七个模块:(1)掌握器:采纳单片机 STC89C52 对采集地温度数据进行处理;(2)温度采集:采纳 DS18B20 直接向掌握器传输 12 位二进制数据;(3)温度显示:采纳了 4 个 LED 共阴极七段数码管显示实际温度值;(4)门限设置:主要实现模式切换及上下门限温度地调剂;(5)报警装置:采纳发光二极管和嗡鸣器进行报警,低于低门限或高于高门限均使其二极管发光嗡鸣器发出报警声音;(6)复位电路:对整个系统进行复位;(7)时钟振荡模块:为整个

12、系统供应统一地时钟周期 .图 2.1 总体设计方框图3 重要器件及其相关参数名师归纳总结 - - - - - - -第 6 页,共 27 页精选学习资料 - - - - - - - - - 3.1 单片机 STC89C52P0.0P0.7:通用 I/O 引脚或数据低 8 位地址总线复用地址;P1.0P1.7:通用 I/O 引脚;P2.0P2.7:通用 I/O 引脚或高 8 位地址总线复用地址;P3.0P3.7:通用 I/O 引脚或其次功能引脚(RxD 、 TxD 、INT0 、INT1 、T0、T1 、WR 、RD);XTAL1 、XTAL2 :外接晶振输入端;RST/Vpd :复位信号输入引

13、脚 /备用电源输入引脚;Vcc:接 +5V 电源;Vss:地端 .3.2 温度传感器 DS18B20( 1)DS18B20 内部结构框图如图 3.1 所示:储备器与控6 温 度 传4 C 位高高 温 触 发R低 温 触 发 器O速M 缓配 置 寄和存单8 位 CRC 发图 3.1DS18B20 内部结构框图(2)DS18B20 温度传感器内部高速.RAM 结构如图3.2 所示 .用户要去改动,R1 和 R0 决定温度转换地精度位数,来设置辨论率温度 LSB温度 MSB.TH 用户字节 1度转换地时间比较长,而且辨论率.TM R1R011111.TL 用户字节 2图 3.2配置寄存器( 3)由表

14、1 可见, DS18B20 温保留越高,所需要地温度数据转换时间越长 .因此,在实际应用中要将辨论率和转换时间权衡考虑.保留表 1 DS18B20 温度转换时间表保留CRC名师归纳总结 - - - - - - -第 7 页,共 27 页精选学习资料 - - - - - - - - - . .R1 0 0 1 1R0 0 1 0 1辨论率 / 位 温度最大转向时间 /ms9 93.7510 187.511 37512 750.(4)DS18B20 地测温原理:器件中低温度系数晶振地振荡频率受温度地影响很小,用于产生固定频率地脉冲信号送给减法计数器;高温度系数晶振随温度变化其振荡频率明显改变,所产

15、生地信号作为减法计数器地脉冲输入.器件中仍有一个计数门,当计数门打开时,DS18B20 就对低温度系数振荡器产生地时钟脉冲进行计数进而完成温度测量 .计数门地开启时间由高温度系数振荡器来打算,每次测量前,第一将55所对应地一个基数分别置入减法计数器、温度寄存器中,计数器和温度寄存器被预置在55所对应地一个基数值.减法计数器对低温度系数晶振产生地脉冲信号进行减法计数,当减法计数器地预置值减到时,温度寄存器地值将加,减法计数器地预置将重新被装入,减法计数器重新开头对低温度系数晶振产生地脉冲信号进行计数,如此循环直到减法计数器计数到时,停止温度寄存器地累加,此时温度寄存器中地数值就是所测温度值.其输

16、出用于修正减法计数器地预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值 .(5)通过单线总线端口拜访 DS1820 地协议如下:. 初始化 . ROM 操作命令 . 储备器操作命令 . 执行 /数据DS1820 需要严格地协议以确保数据地完整性.协议包括几种单线信号类型:复位脉冲、存在脉冲、写 0、写 1、读 0 和读 1.全部这些信号,除存在脉冲外,都是由总线掌握器发出地 . 和 DS1820 间地任何通讯都需要以初始化序列开头,一个复位脉冲跟着一个存在脉冲,说明DS1820 已经预备好发送和接收数据(适当地ROM 命令和储备器操作命令).当总线上只有一个器件时,D

17、S18B20 读温度地流程为:复位 发 0CCH SKIP ROM 命令 发 44H 开头转换命令 延时 复位 发 0CCHSKIP ROM 命令 发 0BEH 读储备器命令 连续读出两个字节数据(即温度)终止 .(6)DS18B20 温度传感器与单片机地接口电路DS18B20 可以采纳两种方式供电,一种是采纳电源供电方式,此时 DS18B20 地 1 脚接地, 2 脚作为信号线,3 脚接电源,其接电源与单片机连接方式如图 4.另一种是寄生电源供电方式 .当 DS18B20 处于写储备器操作和温度A/D 转换操作时,总线上必需有强地上拉,上拉开名师归纳总结 启时间最大为10us.采纳寄生电源供

18、电方式时VDD 端接地 .由于单线制只有一根线,因此发送第 8 页,共 27 页接口必需是三态地.- - - - - - -精选学习资料 - - - - - - - - - 4 硬件电路设计4.1 主板电路系统整体硬件电路包括,传感器数据采集电路,温度显示电路,上下限报警调整电路,名师归纳总结 单片机主板电路等,如图4.1 所示 .第 9 页,共 27 页图 4.1中有三个独立式按键可以分别调整温度计地上下限报警设置,图中蜂鸣器可以在被测温度不在上下限范畴内时,发出报警鸣叫声音.图 4.1中地按健复位电路是上电复位加手动复位,使用比较便利,在程序跑飞时,可以手动复位,这样就不用在重起单片机电源

19、,就可以实现复位.- - - - - - -精选学习资料 - - - - - - - - - 图 4.1 系统电路图4.2 显示电路显示电路采纳地是四位一体八段共阴数码管. 四位一体八段数码管最大地有点是免去了各个数码管间地复杂地连接电路 . 本设计中,将八段数码管地 A-DP,8 个段选端分别接到单片机地 P00-P07 管脚 .1-4,4 个位选端分别连接到单片机地 P20-P23 管脚 .4.3 报警参数调剂电路门限中地三个按键,分别为模式切换按键、加按键、减按键;模式切换按键接 P10,加按键接 P11,减按键接 P12.4.4 蜂鸣器报警电路报警电路中,超过高门限或者低于低门限时发光

20、二极管被点亮蜂鸣器,其余时刻光二极管均熄灭、蜂鸣器不响;蜂鸣器报警接 P14.4.5 温度采集电路DS18B20 温度采集电路中,需要留意地是DQ 上需要一个上拉电阻,一般为4.7K 左右 .DQ接 P26.5 系统软件设计系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,运算温度子程序,显示数据刷新子程序等5.1 主程序主程序地主要功能是负责温度地实时显示、读出并处理DS18B20 地测量地当前温度值,温度测量每1s 进行一次 .这样可以在一秒之内测量一次被测温度,其程序流程见图5.1 所示.初始化调用显示子程序N 名师归纳总结 1S 到?第 10 页,共 27 页- - - -

21、- - -精选学习资料 - - - - - - - - - 图 5.1主程序流程图5.2 读取数据地流程图DSl8820 地主要数据元件有:64 位激光 Lasered ROM ,温度灵敏元件和非易失性温度告警触发器 TH 和 TL.DSBl820 可以从单总线猎取电源,当信号线为高电平常,将能量贮存在内部电容器中;当单信号线为低电平常,将该电源断开,直到信号线变为高电平重新接上寄生电容 电源为止 .此外,仍可外接5 V 电源,给 DSl8820 供电 .DSl8820 地供电方式敏捷,利用名师归纳总结 外接电源仍可增加系统地稳固性和牢靠性.图 5.2 为读取数据流程图.第 11 页,共 27

22、 页- - - - - - -精选学习资料 - - - - - - - - - 开头DS18B20 地初始化跳过读序列号地操作启动温度转换DS18B20 地初始化跳过读序列号地操作读取温度寄存器将 LSB 与 MSB 值合并为 temp RET 图 5.2 读取数据地流程图5.3 温度转换命令子程序温度转换命令子程序主要是发温度转换开头命令,当采纳12 位辨论率时转换时间约为750ms,在本程序设计中采纳1s 显示程序延时法等待转换地完成.温度转换命令子程序流程图如上图,图5.3 所示 .发 DS18B20 复位命令发跳过 ROM 命令发温度转换开头命令终止图 5.3 温度转换命令子程序流程图

23、名师归纳总结 - - - - - - -第 12 页,共 27 页精选学习资料 - - - - - - - - - 5.4 运算温度子程序运算温度子程序将 RAM 中读取值进行 BCD 码地转换运算,并进行温度值正负地判定,其程序流程图如图 5.4所示 .开头N 温度零下 . Y 温度值取补码置“ ” 标志置 “+ ”标运算小数位温度BCD运算整数位温度 BCD终止图 5.4 运算温度子程序流程图5.5 模式切换流程图开头模式键是否按下延时消抖模式值 st 在 13 间切换延时等待按键返回延时消抖RET 图 5.5 模式切换流程图名师归纳总结 - - - - - - -第 13 页,共 27

24、页精选学习资料 - - - - - - - - - 使用模式值st 来标记不同模式,st=1 时,表示在正常温度模式,st=2,表示在高门限模式, st=3 表示在低门限模式,每次按下一次模式切换键,st+1,待其加至 4 时,将该值返回至1.从而形成了模式键不断按下,三种模式循环切换地情形 .防抖在这里是特别关键地 .由于此处地按键是按下然后又返回为按了一次.所以按下时,就进入程序,为了防止机械抖动等不确定情形,延时恰当地一段时间后再次检测是否的确按下.如的确按下,就对模式进行切换.切换后,延时等待按键返回高位,返回高位后,再次延时排除抖动,再次检验,确定按键返回高名师归纳总结 位后,退出程

25、序.第 14 页,共 27 页- - - - - - -精选学习资料 - - - - - - - - - 6 实际连接与最终结果(1正常范畴显示图 6.1 正常显示实物连接图(2)温度报警上限显示图 6.2 温度报警上限显示实物连接图(3)温度报警下限显示图 6.3 温度报警下限显示实物连接图名师归纳总结 - - - - - - -第 15 页,共 27 页精选学习资料 - - - - - - - - - 设计心得体会硬件焊接 xx: 通过本次课程设计我学到了好多东西,原先我地单片机学问并不扎实,不论软件仍是硬件都不好,不过在这次实习中,通过亲自动手,发觉了很多不会地问题,也加深了对这些学问地

26、熟悉 .在课程设计之前,我们在书上网上查找了很多资料,最终确定了此次课设地电路图 .在调试过程中,我们地板子显现了很多问题,举例如下:问题 1:连接好线路,数码管不亮解决方法:我们推测可能线路板有虚焊,就将线路板检查了一遍,最终是将数码管给拆了,重新焊接了一遍 .问题 2:蜂鸣器响,数码管不亮解决方法:通过同学地帮忙,我们最终发觉是单片机地问题,换了一新地 52 芯片 .问题 3:连接好线路,数码管乱码 .解决方法:本次课程设计地电路图是参考网上地,不知道是否正确,就用仿真试做了一下,发觉仿真结果是正确地,就照图焊接了.连好线路,发觉数码管显现乱码现象,通过询问同学,在网上查找资料,知道了是数

27、码关没有驱动,就给 4 个位选线路分别焊接了三极管(9014),由于数码管是共阴地 .问题 4:数码管显示 2559 解决方法:分析得知,这个可能是由于温度传感器没有采集到数据,即可能是由于软件编程有问题也可能是硬件焊接,我们找来同学地板子,将我们地52 单片机与同学焊接地板子相连接,发觉数码管有显示,明白了是板子地问题,之后将与温度串关起相连地线路认真检 查,部分线路重新焊接 .在课设中,我深深感受到团队合作地重要性.这次课设对于我们来说是比较困难地,但是俗语说三个臭皮匠顶个诸葛亮,虽说我们只有两人,但我们分工明确,相互争论相互学习互相帮组,遇到不会地问题积极解决,请教同学,最终胜利完成了此

28、次设计 .我们收成不小,这为我们大四地毕业设计打下了基础 .软件调试 xx :经过一周地努力我们最终完成了本次设计任务,作品实现了预期地功能要求 .但在本次设计与调试地过程中,我也遇到了很多地问题 .(1)在仿真中,我将数码管段码 adp 连接在了 P0 口,仿真不胜利 .后查阅 P0、P1、 P2 以及 P3 口地内部结构后发觉,除 P0 外另外三口均接有上拉电阻,而 P0就无 .所以 P0 在作为通用 I/O 接口使用时,必需外接上拉电阻,其余端口就不需要 .加入排阻后仿真胜利 .(2)关于位选在最开头地测试数码管类型中,我只测试了一位数码管,使其显示数值 1,但测试胜利后, 4 位数码管

29、均显示为 1.在测试过程中,我并未留意这个问题 .测试终止后,进行整体联调 .但数码管始终无正确显示 .当时,我第一着手于查找软件程序中是否有错误 .所以人为将 temp 设定为一个固定值,先确定数据处理程序和数据显示程序无误 .然而数码管无法正常显示我预先设定地值,后经过反复改动,发觉,在位选过程中,必需在选中一位数码管地过程中同时将其余全部地数码管关闭,否就将产生纷乱.如逐一设定S1=1;S2=0;S3=0;S4=0 未免太过麻烦,所以设定一个数组,分别赋值 时依据规章将上值赋给,就一举多得 .(3)DQ 数据采集0x08,0x04,0x02,0x01. 片选名师归纳总结 上述问题均解决后

30、,再次进行调试,数码管显示2559.明显采集地数据是有很大问题地,这第 16 页,共 27 页- - - - - - -精选学习资料 - - - - - - - - - 就说明电路并没有采集到温度数据,我不断地对程序中 行调整 .在经受了无法显示正常温度地挫败后,我认真查阅了DS18B20 地初始化时等部分地时序进 DS18B20 地数据手册,确定了在其初始化过程中,DQ 电平应当如何变化且应当延时多少 .同时也确定了 DS8B20 地在 12 位分辨率情形下数据 A/D 转换所需时间为 500ms750ms,所以在发出转换命令后需要给其充分地时间来进行 A/D 转换 .经过对程序地调整,问题得到解决 .(4)数码管大部分时间显示地是正常温度,但是仍旧会在某些时候跳变为 2559,1279 等数值仍不时地错误报警 .推测可能是接触不良造成地,主要是排线,+5V 电压线,地线等诸多因素地影响,稍作调整后即可排除 .总之,在这次单片机课程设计过程中我对温度集成芯片有了进一步明白 .DS1820 虽然具有测温系统简洁、测温精度高、连接便利、占用口线少等优点,但在实际应用中由于 DS1820 与微处理器间采纳串行数据传送,因此,在对 DS1820 进行读写编程时,必需严格地保证读写时序,否就将无法读取测温结果 .在 DS1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁