好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

单片机课程设计汇本报告(数字温度计).docx

27页
  • 卖家[上传人]:cn****1
  • 文档编号:447737446
  • 上传时间:2022-12-08
  • 文档格式:DOCX
  • 文档大小:446.29KB
  • / 27 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 华中科技大学硬件课程设计报告基于单片机的数字温度计设计学院:电子信息与通信工程班级:学号:*指导教师:士军1论绪2方案设计3系统的硬件设计3.1 主控制器3.2 显示电路3.3 温度传感器工作原理3.4 温度传感器接口电路4系统的软件设计4.1 主程序4.2 温度测量4.2.1 初始化 DS18B204.2.2 等待应答信号4.2.3 DS18B20 读字节4.2.4 DS18B20 写字节4.2.5 启动温度测量4.2.6 读取测量结果4.2.7 各算法流程图4.3 数码管显示5系统的测试与总结参考文献附录1原理图附录2源程序清单1绪 论随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之 一,它所给人带来的方便也是不可否认的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活提供更好 的更方便的设施就需要从单片机技术入手,一切向着数字化控制,智能化控制方向开展现代社会对各种信息参数的准确度和准确度的要求都有了几何级的增 长,而如何准确而又迅速的获得这些参数就需要受制于现代信息根底的开展 水平在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处 理(计算机技术)中,传感器属于信息技术的前沿尖端产品,尤其是温度传感 器技术,在我国各领域已经引用的非常广泛, 可以说是渗透到社会的每一个 领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量 温度,在农业生产中也离不开温度的测量, 因此研究温度的测量方法和装置 具有重要的意义。

      测量温度的关键是温度传感器,温度传感器的开展经历了三个开展阶 段:①传统的分立式温度传感器②模拟集成温度传感器③智能集成温度传感器目前的智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期 问世的,它是微电子技术、计算机技术和自动测试技术(ATE)的结晶,特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU)社会的 开展使人们对传感器的要求也越来越高,现在的温度传感器正在基于单片机 的根底上从模拟式向数字式,从集成化向智能化、网络化的方向飞速开展, 并朝着高精度、多功能、总线标准化、高可靠性及平安性、开发虚拟传感器 和网络传感器、研制单片测温系统等高科技的方向迅速开展,本文将介绍智 能集成温度传感器 DS18B20的构造特征及控制方法,并对以此传感器, 89S51单片机为控制器构成的数字温度测量装置的工作原理及程序设计作 了详细的介绍与传统的温度计相比,其具有读数方便,测温围广,测温准 确,输出温度采用数字显示,主要用于对测温要求比拟准确的场所,或科研实验室使用该设计控制器使用 ATMEL公司的AT89S52单片机,测温传 感器使用DALLAS公司DS18B20 ,用数码管来实现温度显示。

      2方案设计本设计主要是介绍了单片机控制下的温度检测系统,详细介绍了其硬件和软 件设计,并对其各功能模块做了详细介绍,其主要功能和指标如下:・ 利用温度传感器〔DS18B20〕测量某一点环境温度・ 测量围为-55 C〜+ 125 C,精度为±0.5 C・ 用数码管进展实际温度值显示采用AT89S52单片机P3 .5 口控制温度传感器DS18B20的温度测量,以 四位数码感形式输出测量温度,原理图如下列图1.1所示:UU 2ACC 11CU 1104Rll4 -KJUCON 1D31SB2(r=图2.1 DS18B20与单片机接口原理时钟振总口温 度 传 感 升 七图2.2 总体设计万框图3系统的硬件设计F T EFC3.1 主控制器AT89S52 是一种低功耗、高性能 CMOS8位微控制器,具有 8K在系 统可编程Flash存储器使用 Atmel公司高密度非易失性存储器技术制 造,与工业80C51产品指令和引脚完全兼容片上Flash允许程序存储器在系统可编程,亦适于常规编程器在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash ,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

      AT89S52具有以下标准功能:8k字节Flash , 256字节RAM , 32位I/O 口线,看门狗定时器, 2 个数据指针,三个 16位 定时器/计数器,一个 6向量2级中断构造,全 双工用行口, 片晶振及时钟电路另外,AT89S52可降至0Hz静态逻辑 操作,支持2种软件可选择节电模式空闲模式下,CPU停顿工作,允许RAM、定时器/计数器、串口、中断继续工作掉电保护方式下,RAM容被保存,振荡器被冻结,单片机一切工作停顿,直到下一个中断或硬件复 位为止8位微控制器 8K字节在系统可编程Flash AT89S52P10/T Pll/T P12 ri3 P14 PISP17IblTL nrron TO隹评FKJPJE5S7T而图3.1时钟电路与复位电路3.2 显示电路显示采用4位数码管,图3.2.1为数码管段驱动,图3.2.2为数码管位驱动,图3.2.3为温度显示电路(jF2 Li LCON2VCCR14li K4678GON*图3.2.1数码管段驱动图3.2.2数码管位驱动图3.2.3温度显示电路3.3 温度传感器工作原理DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改良型智能温度传感器,与传统的热敏电阻等测温元件相比, 它能直接读出被测温度,并且可根据实际要求通过简单 的编程实 现9〜1 2位的数 字值读数方 式。

      DS18B20的性能特点如下:?独特的单线接口仅需一个端口引脚进展通讯?简单的多点分布应用?无需外部器件?可通过数据线供电?零待机功耗?测温围-55~+125 C,以0.5C递增华氏器件-67~+2570F ,以0.90F递增?温度以9位数字量读出?温度数字量转换时间200ms〔典型值〕?用户可定义的非易失性温度报警设置?报警搜索命令识别并标志超过程序限定温度〔温度报警条件〕的器件DS18B20部构造主要由四局部组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置存放器DS18B20的管脚排列、各种封装形式 如图3.3.1所示,DQ为数据输入/输出引脚开漏单总线接口引脚当被用着在 寄生电源下,也可以向器件提供电源; GND为地信号;VDD为可选择的VDD引脚当工作于寄生电源时,此引脚必须接地其电路图3.3.2所示.BOTTOM VIEWDS1B02DZz ai 8-ANSOIC(15O-MILl □图3.3.1外部封装形式 图3.3.2传感器电路图DS18B20的测温原理如图3.3.3所示,图中低温度系数晶振的振荡频率受 温度的影响很小用于产生固定频率的脉冲信号送给减法计数器1 ,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门翻开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进展计数,进而完成温度测量 .计数门的开启时间由高温度系 数振荡器来决定,每次测量前,首先将-55 C所对应的基数分别置入减法计数器 1和温度存放器中,减法计数器1和温度存放器被预置在-55 C所对应的一个基 数值。

      减法计数器1对低温度系数晶振产生的脉冲信号进展减法计数,当减法计数 器1的预置值减到0时温度存放器的值将加1,减法计数器1的预置将重新被装 入,减法计数器1重新开场对低温度系数晶振产生的脉冲信号进展计数,如此循环 直到减法计数器2计数到0时,停顿温度存放器值的累加,此时温度存放器中 的数值即为所测温图2中的斜率累加器用于补偿和修正测温过程中的非线性其 输出用,于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度存放器值到达被测温度值,这就是 DS18B20的测温原理另外,由于DS18B20单线通信功能是分时完成的,他有严格的时隙概念, 因此读写时序很重要系统对 DS18B20的各种操作必须按协议进展操作协议为:初始化DS18B20〔发复位脉冲〕一发ROM功能命令一发存储器操作命令 一处理数据图3.3.3 DS18B20测温原理图在正常测温情况下,DS1820的测温分辨力为0.5 C,可采用下述方法获得 高分辨率的温度测量结果:首先用 DS1820提供的读暂存器指令〔BEH〕读出 以0.5 C为分辨率的温度测量结果,然后切去测量结果中的最低有效位〔 LSB〕, 得到所测实际温度的整数局部Tz,然后再用BEH指令取计数器1的计数剩余值 Cs和每度计数值CD。

      考虑到DS1820测量温度的整数局部以0.25 C、0.75 C 为进位界限的关系,实际温度 Ts可用下式计算: Ts (Tz 0.25 C) (CD-Cs)/CD3.4 温度传感器接口电路图3.4.1温度传感器接口电路4系统的软件设计4.1主程序/*主函数*/void main(){while(1){Convert//调用启动温度转换函数RdTemp(); //调用读取温度信函数}}4.2 温度测量4.2.1 初始化 DS18B20/* 初始化 DS18B20*/void TxReset(){uint i;DQ=0;//发送复位脉冲i=100;while(i>0) i--;// 拉低 900usDQ=1;//释放总线i=4;while(i>0) i--;}4.2.2 等待应答信号/* 等待 DS18B20 应答 */void RxWait(){uint i;while(DQ); 〃等待 15-60uswhile(~DQ); //DS18B20 发出存在脉冲 60-240us i=4;while(i>0) i--;}4.2.3 DS18B20 读字节/* 读取一位数据*/bit RdBit() {uchar i;bit b;DQ = 0;// 读开场 1usi++;DQ = 1;〃产生读时间隙15usi++; i++;b = DQ; // 读位 i = 8;while(i>0) i--;// 等待 60usDQ = 1;//释放总线return b;}/* 读取字节数据*/uchar RdByte(){uchar i,j,d;d=0;for(i=0;i<8;i++) 〃各位由低向高读出DS18B20 {j=RdBit();d=(j<<7)|(d>>1);} return d;}4.2.4 DS18B20 写字节/* 写入字节数据*/void WrByte(uchar d){uint i;uchar j;bit btmp;for(j=0;j<8;j++)〃各位由低向高写入DS18B20{btmp=d&0x01;d=d>>1;if(btmp) // 写 1{DQ=0; 〃延时 15usi++;i++;DQ=1; 〃写1时隙不低于60ui=8;while(i。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.