欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年单片机的数字温度计课程设计方案报.docx

    • 资源ID:12868995       资源大小:537.11KB        全文页数:25页
    • 资源格式: DOCX        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年单片机的数字温度计课程设计方案报.docx

    精品学习资源摘要温度的检测与掌握是工业生产过程中比较典型的应用;本设计以AT89C52 单片机为核心,采纳 DS18B20温度传感器检测温度, 由温度采集、温度显示 , 温度报警等功能模块组成;基于题目基本要求,本系统对温度采集和温度显示系统行了重点设计;本系统大部分功能能由软件实现,吸取了硬件软件化的思想;实际操作时,各功能在开发板上也能完善实现;本系统实现了要求的基本功能, 其余发挥部分也能实现;关键字:AT89C52单片机、 DS18B20温度传感器、 数码管显示、温度采集欢迎下载精品学习资源目录一绪论 二设计目的三设计要求四设计思路五系统的硬件构成及功能5.1 主掌握器5.2 显示电路5.3 温度传感器六系统整体硬件电路七系统程序设计八测量及其结果分析九设计心得体会十参考文献附录 1 源程序附录 2 元件清单及 PCB 图欢迎下载精品学习资源一绪论随着时代的进展,掌握智能化,仪器小型化,功耗微量化得到广泛关注;单片机掌握系统无疑在这些忙面起到了举足轻重的作用;单片机的应用系统设计业已成为新的技术热点,其中数字温度计就是一个典型的例 子;人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此讨论温度的测量方法和装置具有重要的意义;测量温度的关键是温度传感器,温度传感器的进展经受了三个进展阶段:传统的分立式温度传感器模拟集成温度传感器智能集成温度传感器;目前的智能温度传感器 亦称数字温度传感器 >是在 20 世纪 90 岁月中期问世的,它是微电子技术、运算机技术和自动测试技术 ATE> 的结晶, 特点是能输出温度数据及相关的温度掌握量,适配各种微掌握器 MCU> ;社会的进展使人们对传感器的要求也越来越高,现在的温度传感器正在基于单片机的基础上从模拟式向数字式,从集成化向智能化、网络化的方向 飞速进展,并朝着高精度、多功能、总线标准化、高牢靠性及安全性、开 发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向快速进展, 与传统的温度计相比,其具有读数便利,测温范畴广,测温精确,输出温 度采纳数字显示,主要用于对测温要求比较精确的场所,或科研试验室使用;该设计掌握器使用 ATMEL 公司的 AT89C52 单片机,测温传感器使用DALLAS 公司 DS18B20,用数码管来实现温度显示;二设计目的1. 懂得把握 MCS-51系列单片机的功能和实际应用;2. 把握仿真开发软件的使用;3. 把握数字式温度计电路的设计、组装与调试方法;三设计要求1. 以 MCS-51系列单片机为核心器件,组成一个数字式温度计;2. 采纳数字式温度传感器为检测器件,进行单点温度检测,检测精度为0.5C3. 温度显示采纳 4 位 LED数码管显示,三位整数,一位小数;4. 具有键盘输入上下限功能,超过上下限温度时,进行声音报警;欢迎下载精品学习资源四设计思路1. 依据设计要求 ,挑选 AT89C52 单片机为核心器件;2. 温度检测器件采纳 DS18B20 数字式温度传感器;与单片机的接口为P3.6 引脚;3. 键盘采纳独立式按键,由三个按键组成,分别是:设置键<SET),加一建<+1),确认键 <RET);SET 键<上下限温度设置键):当该键按下时,进入上下限温度设置功能;通过 P3.1引脚接入;+1 键<加一调整键):在输入上下限温度时,该键按下一次,被调整位加一;通过 P3.2 引脚接入;RET 键<确认键) :当该键按下时,指向下一个要调整的位;通过P3.3引脚接入;4. 声音报警蜂鸣器通过 P1.7 引脚接入;硬件电路设计总体框图为图 4.1:按键输入电路LED 显示器驱动电路3 位 LED显示器时钟电路复位电路单片机温度检测蜂鸣器电路图 4.1五、系统的硬件构成及功能1. 主掌握器单片机 AT89S52具有低电压供电和体积小等特点,四个端口只需要两个口就能满意电路系统的设计需要,使用Atmel公司高密度非易失性储备器技术制造,与工业 80C51 产品指令和引脚完全兼容;片上Flash答应程序储备器在系统可编程,亦适于常规编程器;很适合便携手持式产品的设计使用;AT89S52在仿真软件中的图像为图 5.1欢迎下载精品学习资源图 5.12.显示电路显示电路采纳四位共阳LED数码管,从 P3 口 RXD,TXD串口输出段码;LED数码管在仿真软件中如图 5.2图 5.23.温度传感器DS18B20 是美国 DALLAS 半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可依据实际要求通过简洁的编程实现位的数字值读数方式;DS18B20 的性能特点如下:.特殊的单线接口仅需一个端口引脚进行通讯欢迎下载精品学习资源.简洁的多点分布应用.无需外部器件.可通过数据线供电.零待机功耗.测温范畴 -55+125,以 0.5递增;华氏器件 -67+2570F,以0.90F 递增.温度以 9 位数字量读出.温度数字量转换时间 200ms<典型值).用户可定义的非易失性温度报警设置.报警搜寻命令识别并标志超过程序限定温度<温度报警条件)的器件;DS18B20内部结构主要由四部分组成: 64位光刻 ROM、温度传感器、非挥发的温度报警触发器 TH和TL、配置寄存器; DS18B20的管脚排列、各种封装形式如图3.3.1 所示, DQ 为数据输入 / 输出引脚;开漏单总线接口引脚;当被用着在寄生电源下,也可以向器件供应电源; GND为地信号; VDD为可挑选的 VDD引脚;当工作于寄生电源时,此引脚必需接地;其电路图如图5.3.1 所示. ;图5.3.1外部封装形式在仿真软件中如图 5.3.2 所示图5.3.2DS18B20的测温原理如图 5.3.3所示,图中低温度系数晶振的振荡频率受温度的影响很小用于产生固定频率的脉冲信号送给减法计数器1,高温度系数欢迎下载精品学习资源晶振随温度变化其震荡频率明显转变,所产生的信号作为减法计数器2 的脉冲输入,图中仍隐含着计数门,当计数门打开时,DS18B20 就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量. 计数门的开启时间由高温度系数振荡器来打算,每次测量前,第一将- 55 所对应的基数分别置入减法计数器 1 和温度寄存器中,减法计数器1 和温度寄存器被预置在 - 55 所对应的一个基数值;减法计数器 1 对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器 1 的预置值减到 0 时温度寄存器的值将加 1,减法计数器 1 的预置将重新被装入, 减法计数器 1 重新开头对低温度系数晶振产生的脉冲信号进行计数, 如此循环直到减法计数器 2 计数到 0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温图5.3.3中的斜率累加器用于补偿和修正测温过程中的非线性其输出用,于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理;另外,由于 DS18B20单线通信功能是分时完成的,有严格的时隙概念,因此读写时序很重要;系统对DS18B20的各种操作必需按协议进行;操作协议为:欢迎下载精品学习资源初始化 DS18B20发<高温度系数振荡器2计数器 2= 0停止据;复位脉冲)发ROM功能命令发储备器操作命令处理数欢迎下载精品学习资源斜率增加器预置比较低温度系数振荡器1计数器 1预置Tx= 0加 1温度寄存器图 5.3.3在正常测温情形下, DS1820 的测温辨论力为 0.5 ,可采纳下述方法获得高辨论率的温度测量结果:第一用DS1820 供应的读暂存器指令 <BEH)读出以欢迎下载精品学习资源Ts ( Tz0.25)( CD - Cs) CD表 1.部分温度值对应的二进制温度数据;温度 / +125二进制表示0000 01111101十六进制表示07D0H0000+850000 010101010550H0000+25.06250000 000110010191H0000+10.1250000 0000101000A2H0001+0.50000 000000000008H001000000 000000000000H1000-0.51111 11111111FFF8H0000-10.1251111 11110101FF5EH1110-25.06251111 11100110FE6FH1111-551111 11001001FC90H00000.5 为辨论率的温度测量结果,然后切去测量结果中的最低有效位<LSB),得到所测实际温度的整数部分 Tz,然后再用 BEH指令取计数器 1 的计数剩余值 Cs 和每度计数值 CD;考虑到 DS1820测量温度的整数部分以 0.25 、0.75 为进位界限的关系,实际温度 Ts 可用下式运算 :六系统整体硬件电路依据设计要求与设计思路,硬件电路设计框图如图6.1 所示,在仿真软件Proteus上完成;其中 LED 数码管以动态扫描法实现温度显示,由四个PNP 型晶体管 Q2, Q3,Q4,Q5 和八个电阻组成,基极与单片机的P1.0,P1.1,P1.2连接;DS18B20 的数据 I/O 端与单片机 P3.6引脚连接;外部晶振为 12MHz ;蜂鸣器通过 Q1 放大后与引脚 P1.7相连;图中有三个独立式按键可以分别调整温度计的上下限报警设置,图中蜂鸣器可以在被测温度不在上下限范畴内时,发出报警鸣叫声音,同时LED 数码管将没有被测温度值显示,这时可以调整报警上下限,从而测出被测的温度值;图中的按健复位电路是上电复位加手动复位,使用比较便利,在程序跑飞时, 可以手动复位,这样就不用在重起单片机电源,就可以实现复位;欢迎下载精品学习资源欢迎下载精品学习资源图 6.1 系统总体硬件电路欢迎下载精品学习资源七系统程序设计数字式温度计的应用程序主要包括主程序,温度检测程序,温度转换程序,LED显示程序等;系统的主程序主要用来初始化一些系统参数,对DS18B20的配置数据进行一系列的设定;温度检测程序是对DS18B20的状态不断地查询,读出RAM 中的 9 字节,在读出时需进行CRC 校验,校验有错时不进行温度数据的改写,读取当前的温度值后,进行温度转化程序,对温度符号处理和温度值的BCD码处理,进行温度值正负的判定,将其段码送至显示缓冲区,以备定时扫描服务程序处理; LED 显示程序主要对显示缓冲器中的显示数据进行刷新操作,当最高显示位为 0 时,将符号显示位移入下一位;总程序程序代码见附录一开头显示缓冲区初始化复位 DS18B20发跳过 ROM 命令发温度转换命令延时复位 DS18B20发跳过 ROM 命令发读储备器命令读温度数据温度符号判定将温度转换为BCD 码更新显示缓冲区欢迎下载精品学习资源八测量及其结果分析1. Proteus仿真结果软件方面,在 Proteus 编译下进行,源程序编译及仿真调试;在软件中选定传感器后可对其进行环境温度设置,如图8.1.1 ,将环境温度设为 34.9 ;图 8.1.1然后点击软件执行键,按操作步骤实施后,观看LED 数码管示数,此时示数如图 8.1.2;图 8.1.2可见本次软件测试结果良好;2. 硬件测试结果在硬件测试方面,检查电路板及焊接的质量情形,在检查无误后通电检查LED显示器;其中 DS18B20实物图为 8.2.1欢迎下载精品学习资源在室温下, LED显示器示数如图 8.2.2 ,为 26.4 摄氏度图 8.2.2用手盖住温度传感器后, LED显示器示数如图 8.2.3 ,为 29.7 摄氏度;比较可知,硬件调试结果也达到了要求;九设计心得体会本次课设对我来说是一次难得的经受,第一是第一次接触了仿真软件Proteus,在使用时经受了许多次失败,由于这款软件与以前使用的各种软件有 许多不同,使用时不停出错,接线时由于元件放置不合理而接的杂乱无章;输 入源程序时仍较为顺当,显示结果比较中意;其次是程序设计,我们在参考别 人胜利先例的基础上依据自己设计的需要编制程序,其中历经不少曲折,最终 我的收成是,编程肯定要细心,针对每一个细节,稍有疏忽,程序就不能正常 工作;最终是单片机实践操作,由于我自己已买了一块开发板,所以硬件调试 比较顺当,成效也不错,就是DS18B20 温度传感器灵敏度不太高,示数变化不大;另外,我前期花了一些时间特地学习这块芯片,明白了DS18B20 的工作原理的时序图;在这次的实践与学习中,尽管期间困难重重,但我仍是从中学习了不少新的学问与技能和解决困难的方法,也最终体验到了经受困难到最终获得胜利的那种无以言表的欢乐之情,总之,本次课设是我收成最多的一次,也期望自己在以后的各项讨论活动中能坚持这种精神;十参考文献1 单片机原理与接口技术 <其次版)牛昱光李晓林电子工业出版社 . 2021.72 单片机系统设计与应用实例 . 韩志军机械工业出版社 . 2021.103 DS18B20 数据手册欢迎下载精品学习资源附录一源程序#include <AT89X52.h> #include "DS18B20.h" #define uint unsigned int#define uchar unsigned char/宏定义欢迎下载精品学习资源#define SET P3_1 /定/ #define DEC P3_2 /定/ #define ADD P3_3 /定/ #define BEEP P3_7 /定/义调整键义削减键义增加键义蜂鸣器欢迎下载精品学习资源bit shanshuo_st; / 闪耀间隔标志bit beep_st;/ 蜂鸣器间隔标志sbit DIAN = P27; / 小数点uchar x=0;/计数器signed char m;/ 温度值全局变量uchar n;/温度值全局变量 uchar set_st=0;/ 状态标志signed char shangxian=38; / 上限报警温度,默认值为 38signed char xiaxian=15; / 下限报警温度,默认值为 5uchar code LEDData=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x9;0/*延时子程序 */ void Delayuint num>while -num >;/*初始化定时器 0*/ void InitTimervoid>TMOD=0x1;TH0=0x4c;TL0=0x00;/50ms<晶振 12M)/*定时器 0 中断服务程序 */ void timer0void> interrupt 1TH0=0x4c;TL0=0x00;x+;/*外部中断 0 服务程序 */ void int0void> interrupt 0EX0=0;/关外部中断 0欢迎下载精品学习资源ifDEC=0&&set_st=1>shangxian-;ifshangxian<xiaxian>shangxian=xiaxia;nelse ifDEC=0&&set_st=2>xiaxian-;ifxiaxian<0>xiaxian=0;/*外部中断 1 服务程序 */ void int1void> interrupt 2EX1=0;/关外部中断 1 ifADD=0&&set_st=1>shangxian+;ifshangxian>99>shangxian=9;9else ifADD=0&&set_st=2>xiaxian+;ifxiaxian>shangxian>xiaxian=shangxia;n/*读取温度 */ void check_wenduvoid>uint a,b,c;c=ReadTemperature>-5; / 猎取温度值并减去 DS18B20的温漂误差a=c/100;/ 运算得到十位数字b=c/10-a*10; / 运算得到个位数字m=c/10;/运算得到整数位n=c-a*100-b*10; / 运算得到小数位ifm<0>m=0;n=0;/ 设置温度显示上限ifm>99>m=99;n=9;/ 设置温度显示上限/*显示开机初始化等待画面 */ Disp_init>P2=0xbf;P1=0xfe;Delay200>;欢迎下载精品学习资源P2=0xbf;P1=0xfd;Delay200>;P2=0xbf;P1=0xfb;Delay200>;P2=0xbf;P1=0xf7; / 第四Delay200>;P1=0xff;/关闭显示/*显示温度子程序 */ Disp_Temperature>/显示温度P2=0xc6;/显示 C P1=0xf7; /Delay300>;欢迎下载精品学习资源P2=LEDDatan; P1=0xfb; / Delay300>;P2=LEDDatam%10; DIAN=0;P1=0xfd;Delay300>;P2=LEDDatam/10; P1=0xfe;Delay300>;/显示个位/ 显示小数点/ 显示百位欢迎下载精品学习资源P1=0xff;/关闭显示/*显示报警温度子程序 */ Disp_alarmuchar baojing>P2=0xc6;/显示 C P1=0xf7; Delay200>;欢迎下载精品学习资源P2=LEDDatabaojing%10; P1=0xfb;Delay200>;P2=LEDDatabaojing/10; P1=0xfd;Delay200>;ifset_st=1>P2=0x89;else ifset_st=2>P2=0xc;7 P1=0xfe;/ 显示十位/ 显示百位/ 上限 H、下限 L 标示欢迎下载精品学习资源Delay200>;P1=0xff;/*报警子程序 */ void Alarm>ifx>=10>beep_st=beep_s;tx=0;欢迎下载精品学习资源ifm>=shangxian&&beep_st=1>|m<xiaxian&&beep_st=1>>BEEP=;0 else BEEP=;1/*主函数 */ void mainvoid>uint z;InitTimer>; / 初始化定时器EA=1;/全局中断开关TR0=1;ET0=1;/ 开启定时器 0IT0=1;IT1=1;check_wendu>;check_wendu>;forz=0;z<300;z+>Disp_init>;while1> ifSET=0>Delay2000>;dowhileSET=0;>set_st+;x=0;shanshuo_st=1;ifset_st>2>set_st=0;ifset_st=0>EX0=0; / 关闭外部中断 0EX1=0; / 关闭外部中断 1 check_wendu>;Disp_Temperature>;Alarm>; / 报警检测else ifset_st=1>欢迎下载精品学习资源BEEP=;1/ 关闭蜂鸣器欢迎下载精品学习资源EX0=1; / 开启外部中断 0EX1=1; / 开启外部中断 1 ifx>=10>shanshuo_st=shanshuo_s;tx=0;欢迎下载精品学习资源ifshanshuo_st> Disp_alarmshangxian;> else ifset_st=2>BEEP=;1/ 关闭蜂鸣器欢迎下载精品学习资源EX0=1; / 开启外部中断 0EX1=1; / 开启外部中断 1 ifx>=10>shanshuo_st=shanshuo_s;t ifshanshuo_st> Disp_alarmxiaxian;>x=0;欢迎下载精品学习资源欢迎下载精品学习资源/*END*/ DS18B20.h:#include <AT89X52.h> #define DQ P3_6/定/*延时子程序 */义 DS18B20总线 I/O欢迎下载精品学习资源void Delay_DS18B20int num>whilenum-> ;/*初始化 DS18B20*/ void Init_DS18B20void>unsigned char x=0;DQ = 1;/DQ复位Delay_DS18B208;>/ 稍做延时DQ = 0;/单片机将 DQ 拉低Delay_DS18B2080;>/ 精确延时,大于 480usDQ = 1;/拉高总线Delay_DS18B2014;>x = DQ;/稍做延时后,假如 x=0 就初始化胜利, x=1 就初始化失败Delay_DS18B2020;>/*读一个字节 */unsigned char ReadOneCharvoid>unsigned char i=0;unsigned char dat = 0;欢迎下载精品学习资源for i=8;i>0;i->DQ = 0;/ 给脉冲信号dat>>=1;DQ = 1;/ 给脉冲信号ifDQ>dat|=0x80;Delay_DS18B204;>returndat>;/*写一个字节 */void WriteOneCharunsigned char dat>unsigned char i=0;for i=8; i>0; i->DQ = 0;DQ = dat&0x01;Delay_DS18B205;>DQ = 1;dat>>=1;/*读取温度 */int ReadTemperaturevoid>欢迎下载精品学习资源unsigned char a=0;unsigned char b=0;int t=0;float tt=0 ;Init_DS18B20>; WriteOneChar0xCC;>/ 跳过读序号列号的操作欢迎下载精品学习资源WriteOneChar0x44>; / 启动温度转换Init_DS18B20>;WriteOneChar0xCC;>/ 跳过读序号列号的操作WriteOneChar0xBE>; / 读取温度寄存器a=ReadOneChar;>/读低 8 位b=ReadOneChar>; / 读高 8 位t=b;t<<=8;t=t|a ;tt=t*0.0625 ;t= tt*10+0.5 ;/放大 10 倍输出并四舍五入欢迎下载精品学习资源returnt> ;PCB 图/*END*/附录二元件清单及PCB 图数字温度计电路元器件清单元器件名称参数数量元器件名称参数数量单片机89C521数码管1晶体振荡器12MHz1蜂鸣器1电容3温度传感器DS18B201电阻19欢迎下载精品学习资源欢迎下载

    注意事项

    本文(2022年单片机的数字温度计课程设计方案报.docx)为本站会员(Che****ry)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

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

    收起
    展开