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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数字温度计方案设计书.docx

1、数字温度计方案设计书Hefei University计算机控制技术设计报告设计题目: 数字温度计设计 专业班级: 08级自动化(2)班 姓 名: 陆坤 李宏灶 金卫健 学 号: 0805070130 0805070110 0805070147 指导老师: 储 忠 摘 要在这个信息化高速发展的时代,单片机作为一种最经典的微控制器,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,作为自动化专业的学生,我们学习了单片机,就应该把它熟练应用到生活之中来。本文将介绍一种基于单片机控制的数字温度计,本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范围内时,可以

2、报警。本文设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。关键词:单片机,数字控制,数码管显示,温度计,DS18B20,AT89S52。一、总体方案设计概述1.1系统总体方案设计本设计以检测温度并显示温度提供上下限报警为目的,按照系统设计功能的要求,确定系统由4个模块组成:主控器、测温电路,报警电路,显示电路。系统以DS18B20为传感器用以将温度模拟量转化为电压数字量以总线传入单片机,以AT89S52为主芯片,在主芯片对DS18B20传入的温度值进行处理,由单片机程序控制,将经处理后的温度由12864液晶屏显示出来。本系统具有电路简洁,性能可靠等特点,易于实现

3、。总体设计框图1.2各功能模块1.2.1温度检测每次测温由单片机向测温传感器发出特定脉冲,测温传感器能够检测到脉冲并做相应的工作。传感器将模拟温度信号经过采集,数字处理,放大后输出。DS18B20使用一个单线接口发送或接受信息,因此在单片机和DS18B20之间只需要一条线链接,用于读写和温度转换的电源可以从数据线获得,无需外接电源。1.2.2数字信号的处理及温度显示送入单片机内部的数字信号经过单片机的处理,将数据用12864液晶屏显示出来。其处理过程主要由单片机能存储的程序进行控制。1.2.3报警功能在单片机程序内设置了报警温度的上下限值,当所测得的温度超过了这一数值,将会由蜂鸣器发出报警。报

4、警功能是本系统的重要功能之一,在工业应用中常常需要在特定的温度条件下进行报警,当温度超出范围时及时的报警是十分必要的。二、硬件系统设计2.1总体电路设计温度计电路设计原理图控制器使用单片机AT89S52,温度传感器使用DS18B20,用12864液晶屏以动态扫描法实现温度显示。电路还包括报警电路,单片机外设电路等。整个系统的原理图如下图所示:2.2主控制器 AT89C52AT89C52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可

5、编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。2.3显示电路1286412864是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为12864, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84行1616点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的

6、图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。2.3.1基本特性低电源电压(VDD:+3.0-+5.5V)显示分辨率:12864点内置汉字字库,提供8192个1616点阵汉字(简繁体可选)内置 128个168点阵字符2MHZ时钟频率通讯方式:串行、并口可选内置DC-DC转换电路,无需外加负压无需片选信号,简化软件设计工作温度: 0 - +55 ,存储温度: -20 - +60 2.3.2设计使用本设计主要用的是12864的串行接法12864串行接法12864引脚说明2.4 温度传感器引脚图封装图2.4.1技术性能描述 1、独特的

7、单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。2、测温范围 55+125,固有测温分辨率0.5。3、支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。4、工作电源: 35V/DC 5、在使用中不需要任何外围元件6、测量结果以912位数字量方式串行传送DS18B20的性能特点如下:独特的单线接口仅需要一个端口引脚进行通信;实际应用中不需要外部任何元器件即可实现测温;可通过数据线供电,电压范围为3.05.5V;在DS18B20中的每个器件

8、上都有独一无二的序列号;温度以9或12位数字量读出;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能工作。2.4.2接线说明 独特的一线接口,只需要一条口线通信,多点能力,简化了分布式温度传感应用,无需外部元件,可用数据总线供电。电压范围为3.0 V至5.5 V 无需备用电源,测量温度范围为-55 至+125摄氏度。范围内精度为0.5摄氏度,温度传感器可编程的分辨率为912位,温度转换为12位数字格式最大值为750毫秒。用户可定义的非易失性温度报警设置 应用范围包括恒温控制,工业系统,消费电子产品温度计,或任何热敏感系统2

9、.5蜂鸣器报警电路所测温度超出上、下限温度极限值时,为实现报警功能,并且相应的指示灯亮,设计了蜂鸣器报警电路。三、软件系统设计3.1程序流程图3.2软件代码3.2.1主文件部分#include #include 12864.h#include DS18B20.Hsbit beep=P00; /蜂鸣器控制口sbit red_H=P02;/红灯控制口sbit green_L=P01;/绿灯控制口extern unsigned int wendu;unsigned int H=33,L=30;void main(void) unsigned int temp; unsigned char temp_

10、h,temp_l; Delay(50000); Lcd_Init(); /12864初始化 Lcd_DisplayString(0,2,温度检测); Lcd_DisplayString(1,1,温度:); while(1) temp=read_temp()*0.625;/读取温度 if(tempH*10)/温度高于33摄氏度则报警 /上下限报警判断 beep=0; red_H=0; else if(tempL*10)/ 温度低于30摄氏度则报警 beep=0; green_L=0; else /否则取消声光报警 beep=1; green_L=1; red_H=1; Lcd_WriteCmd(

11、0x90+0x04); / 把收到的温度信息显示在12864上 Lcd_WriteData(temp/1000+0x30); Lcd_WriteData(temp%1000/100+0x30); Lcd_WriteData(temp%100/10+0x30); Lcd_WriteData(.); Lcd_WriteData(temp%10+0x30); Lcd_WriteData(C); Delay(20000); 3.2.2 DS18B20部分#include DS18B20.h#include /_nop_();延时函数用sbit DQ=P10; /温度输入口uint temp;uint

12、wendu;/*温度小数部分用查表法*/uchar code ditab16=0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09; uchar data temp_data2=0x00,0x00; /读出温度暂放uchar data display5=0x00,0x00,0x00,0x00,0x00; /显示单元数据,共4个数据和一个运算暂用/*11us延时函数*/void delay_18b20(uint t) while(t-) ;/*DS18B20复位函数*/ow_reset(vo

13、id) char presence=1; while(presence) while(presence) DQ=1;_nop_();_nop_();/从高拉倒低 DQ=0; delay_18b20(50); /550 us DQ=1; delay_18b20(6); /66 us presence=DQ; /presence=0 复位成功,继续下一步 delay_18b20(45); /延时500 us presence=DQ; DQ=1; /拉高电平/*DS18B20写命令函数*/向1-WIRE 总线上写1个字节void write_byte(uchar val) uchar i; for(i=8;i0;i-) DQ=1;_nop_();_nop_(); /从高拉倒低 DQ=0;_nop_();_nop_();_nop_();_nop_(); /5 us DQ=val&0x01; /最低位移出 delay_18b20(6); /66 us val=val/2; /右移1位 DQ=1; delay(1);/*DS18B20读1字节函数*/从总线上取1个字节uchar read_byte(void) uchar i; uchar value=0; for(i=8;i0;i-)

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

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