ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:473.56KB ,
资源ID:3940978      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3940978.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机的数字温度计.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机的数字温度计.docx

1、基于单片机的数字温度计数字温度计设计一、设计任务与要求11 设计容: 数字温度计的设计要能实现温度的实时采集与显示,以AT89S51单片机为核心芯片,使用DS18B20数字温度传感器或使用热敏电阻之类的器件,利用其感温效应采集环境温度,并通过一组4位共阴极数码管将温度显示出来,也可用LM1602液晶显示屏。12 设计基本要求:(1)温度设定围:温度为0099(2)温度精度为0.1;(3)可以设置报警温度,发出报警信息,可以用声或光表示。二、方案设计与论证 本设计以检测温度并显示温度,以及提供上下限报警和设定某一个报警温度为目的。按照系统设计功能的要求,对于温度的采集可以使用温度传感器、热敏电阻

2、或热电偶等等;将采集到的温度传到单片机,利用软件编程对温度进行处理;温度围和精度由软硬件决定;报警采用声音和灯光相结合,由蜂鸣器和LED灯组成;报警温度的设置由键盘的up和down来设定。方案一由于本设计实现的是测温电路,首先我们可以使用热敏电阻之类的器件,利用其感温效应,将其随被测温度变化的电压或电流值采集过来,进行A/D转换后,就可以用单片机进行数据的处理,通过显示电路就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。因此,我们引出第二种方案。方案二我们可以采用技术成熟、操作简单、精确度高的温度传感器,在此,可以选用数字温度传感器DS18B20,根据它的特点和测温

3、原理,很容易就能直接读取被测温度值并进行转换,这样就可以满足设计要求。从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故在本设计中采用了方案二。以下为利用DS18B20温度传感器的硬件构成图: 图2.1 数字温度计设计总体硬件构成图三、硬件电路设计3. 1、硬件设计总图见图3.1 图3.1 硬件设计仿真总图 3.2最小系统的电路设计单片机晶振电路、外部按键电路和复位电路的设计如图3.2所示。XTAL1(X1)为反向振荡放大器的输入及部时钟工作电路的输入。XTAL2(X2)是来自反向振荡器的输出。在此使用的是12MHz的晶振; 复位电路采用手动复位与上电复位相结合的方式

4、。当按下按键S1时,VCC通过R1电阻给复位输入端口一个高电平,实现复位功能,即手动复位。上电复位就是VCC通过电阻R2和电容C3构成回路,该回路是一个对电容C充电和放电的电路,所以复位端口得到一个周期性变化的电压值,并且有一定时间的电压值高于CPU复位电压,实现上电复位功能;以及外部按键电路通过UP和DOWN按键将I/O口直接与地相连,当按键按下时I/O口将检测到低电平。图3.2 最小系统的设计电路3.3温度采集电路的设计(1)、数字温度传感器DS18B20它是一种新型的”一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。DALLAS 半导体公司的数字化温度传感器DS18B2

5、0是世界上第一片支持”一线总线”接口的温度传感器。温度测量围为-55+125 摄氏度,可编程为9位12 位转换精度,测温分辨率可达0.0625摄氏度,分辨率设定参数以及用户设定的报警温度存储在EEPROM 中,掉电后依然保存。被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可以在远端引入,也可以采用寄生电源方式产生;多个DS18B20可以并联到3 根或2 根线上,CPU只需一根端口线就能与诸多DS18B20 通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。DS18B20 的性能特点

6、如下: 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条总线即可实现微处理器与DS18B20的双向通讯; DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温; DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路; 适应电压围更宽,电压围:3.05.5V,在寄生电源方式下可由数据线供电; 测温围-55125,在-10+85时精度为0.5; 零待机功耗; 可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温; 在9位分辨率时最多在93.75ms把

7、温度转换为数字,12位分辨率时最多在750ms把温度值转换为数字,速度较慢; 用户可定义报警设置; 测量结果直接输出数字温度信号,以一线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力; 负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。 (2)、工作原理如下器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器的脉冲输入。器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间

8、由高温度系数振荡器来决定,每次测量前,首先将55所对应的一个基数分别置入减法计数器、温度寄存器中,计数器和温度寄存器被预置在55所对应的一个基数值。减法计数器对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器的预置值减到时,温度寄存器的值将加,减法计数器的预置将重新被装入,减法计数器重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。它有严格的时序概念,初始化DS18B20(发复位脉冲)发ROM功能命

9、令发存储器操作命令处理数据。(3)、部构造和硬件仿真图如下图3.3 DS18B20温度采集仿真图3.4 数码管温度显示电路设计 LED数码管,也叫LED数码显示器,由于它具有很高的性能价格比、显示清晰、亮度高、使用方便、电路简单、寿命长等诸多优点,长期以来一直在各类电子产品和工程控制中得到非常广泛的应用。在单片机控制系统中,因为单片机的硬件简单、灵活等特点,非常适合使用LED数码管作为其输出设备,这样既满足了控制系统硬件简单,又能如实地显示被控系统的温度、压力、流量、高度等一些单片机的处理结果。本设计的显示电路采用4个共阴极LED数码管,从P0口并行输出温度段码,用P2.0P2.3四个端口输出

10、位选,控制数码管的点亮。其工作过程如下:1、并行数据由P1口送至4个数码管。2、这时P3.0、P3.1、P3.2、P3.3轮流输出低电平,LED数码管依次被点亮,显示P1传送来的数据。由于数码管余辉效应和人眼的视觉延迟,当数码管每秒点亮50次时,就会出现静止显示的温度值。硬件图如图3.4所示: 图3.4 数码管温度显示电路3.5声光报警电路设计报警电路采用蜂鸣器和LED灯相结合的办法,通过两个NPN三极管来驱动,如图3.5所示。当三极管基极为低电平时,蜂鸣器和LED灯都关闭;当基极由低电平变为高电平时,三极管导通,这时蜂鸣器响,LED灯亮,达到声光报警的目的。 图3.5 声光报警电路四、温度传

11、感器程序设计4.1程序设计流程框图4.2主要程序代码与说明/*延时函数*/* DS18B20初始化以及对它读写的程序*/void dsreset(void) uint i; ds=0;i=100; while(i0)i-; ds=1;i=4; while(i0)i-;bit tempreadbit(void) /读1位数据函数 uint i=0; bit dat; ds=0;i+; /i+起延时作用 ds=1;i+;i+; dat=ds; i=8;while(i0)i-; return(dat); uchar tempread(void) /读1个字节的数据 uchar i,j,dat; da

12、t=0; for(i=1;i=8;i+) j=tempreadbit(); dat=(j1); return(dat);void tempwritebyte(uchar dat) /向DS18B20写一个字节数据 uint i,j; bit testb; for(j=1;j1; if(testb) /写1 ds=0; i+;i+; ds=1; i=8;while(i0)i-; else /写0 ds=0; i=8;while(i0)i-; ds=1; i+;i+; /*向DS18B20发送转换指令*/*将转换后的数字温度转换为模拟温度*/*将模拟温度通过数码管显示*/*按键输入部分用来改变报警

13、温度初值*/*对报警温度进行判断并声光提示*/*主函数体*/五、仿真过程与仿真结果将硬件设计原理图和程序相结合进行软件仿真,首先,将设计好的数字温度传感器程序输入到Proteus中保存、编译生成HEX文件,将该HEX文件下载到仿真原理图,其仿真结果如下图5.1。 程序默认报警温度为25,DS18B20的模拟温度可以任意设置如图中设置为26.31度,通过DOWN键可以减小报警温度初值,UP键可以增大报警温度初值,并且当有按键按下时,有声光提示,数码管回显报警值。现在通过按UP键使报警初值加1变为26,由于26约等于DS18B20的当前温度26.31(报警误差最大为0.5),所以蜂鸣器响起,LED

14、灯闪烁。再次按下UP后报警初值变为27,声光报警也都关闭。图5.1 仿真结果六、安装与调试 6.1、电路的安装 在制作好电路板以后,就进入了电路的安装过程。安装中要严格按照原理图和PCB图中元件的位置与参数来焊接,焊接时要注意不能让焊锡短路电路,注意元件的正负极,同时还要把握好对温度敏感元件的焊接时间。防止元器件和线路因为高温而烧毁。依据仿真图画出原理图和PCB图如下图6.1所示6.2、电路的调试 焊接好电路以后,对电路的调试是一步很重要的过程,关系到各功能的实现问题与最终的成败问题。系统板上硬件连线(1)把“单片机系统”区域中的P0.0P0.7用8芯排线连接到“动态数码显示”区域中的ABCD

15、EFGH端子上。(2)把“单片机系统”区域中的P2.0P2.3用8芯排线连接到“动态数码显示”区域中的Y0Y1Y2Y3端子上。(3)把DS18B20芯片插入“三路单总线”区域中的一个插座中,注意电源与地信号不要接反。(4)把“三路单总线”区域中的对应的DQ端子连接到“单片机系统”区域中的P3.7/RD端子上。(5).蜂鸣器接“单片机系统”区域中的P1.5端子上。严格按照仿真原理图正确连接各线路,检查无误后上电,然后看看各功能模块是否正常。七、结论与心得温度的检测和控制是一个经典的课题,生活中的各个领域里经常需要检测和控制某一特定环境的温度,使之能够稳定在一定的温度围之。这就要求系统对温度的检测

16、具有足够的精度和实时性,控制要有足够的精度,并且尽可能具有较低的成本,这样的产品才具有实用价值。DS18B20恰好具有这样的优势,由于其可直接输出数字量,不需要AD转换,测温围大,与单片机容易接口,成为原来广为使用的热电阻、热电偶的理想替代品。因此本设计可以应用于多种温度控制场合。本设计叙述了数字温度计的设计,包括硬件组成和软件的设计。该系统在硬件设计上主要是通过其核心控制器件AT89C51将采集到的数字温度电压值经单片机处理得到相应的温度值,送到数码管显示器,以数字形式显示测量的温度。整个系统的软件编程就是通过C语言对单片机AT89C51实现其控制功能,整个系统结构紧凑,简单可靠,操作灵活,功能强大,性能价格比高,较好的满足了现代生产和科研的需要。八、参考文献 1、新概念51单片机C语言教程 作者:郭天祥 2、单片机原理及应用第二版 作者:毅刚、喜元、宇3、传感器应用教程300例 作者:余凯、吴鸣山、项绮明

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1