版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 单片机原理及应用课程设计题 目 温度测量显示系统设计 指导教师 学生姓名 学 号 专 业 自动化 教学单位 (盖章) 2015年 12月 10日目录摘要21.AT89S52简介22.DS18B20简介23.硬件电路设计24.软件设计与调试25.总结体会2参考文献2摘要 随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它 所给人带来的方便也是不可否定的,其中温度传感器就是一个典型的例子,但 人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。本设计所介绍的温度传感器与传统的温度计相比,具有读
2、数方便,测温范围广,测温准确,其输出温度采用数字显示。随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的温度传感器。 本设计是以51单片机为核心的温度传感器设计,该系统以STC89C52单片机为中心控制单元,由数码管显示模块和DS18B20温度传感器测量模块组成的温度测量显示系统。关键词:at89s52数码管、DS18B20温度传感器AT89S52简介AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程AT89S52引脚图 DIP封装Flash存
3、储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C5产品指令和引脚完全兼容。引脚说明:AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编AT89S52-24PU程Flash存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 3
4、2 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数AT89S52引脚图 DIP封装器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。二、DS18B20简介概述:DS18B20是常用的温度传感器,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。DS18B20数字温度传感器接线方便,封装成后可应用于多
5、种场合,主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。引脚说明:DQ引脚(2引脚):单线运用的数据输入输出引脚Vcc引脚(3引脚):接电源GND引脚(1引脚):接地工作原理:DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。 DS18B20的低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡
6、率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。1: 技术性能描述、 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。、测温范围
7、-55+125,固有测温误差(注意,不是分辨率,这里之前是错误的)1。、支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温。、工作电源: 3.05.5V/DC (可以数据线寄生电源)、在使用中不需要任何外围元件、 测量结果以912位数字量方式串行传送、不锈钢保护管直径6、适用于DN1525, DN40DN250各种介质工业管道和狭小空间设备测温、 标准安装螺纹 M10X1, M12X1.5, G1/2"任选 、PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。面对着扁平的那一面,左负右正,一旦接反就会立刻发热,有可能烧毁!同时,接
8、反也是导致该传感器总是显示85的原因。硬件电路设计电路图软件设计见软件设计部分温度测量显示系统程序:/*用跳线帽短路"G3G4"P0.将数码管插入对应位置 */* 用跳线帽短路“G3G4”中P2.7,P2.6,P2.5 把数码管模块插入对应排座 DS18B20的DQ端接到p0.7 */#include <reg51.h>/#include <intrins.h> / 包含头文件 /* 与编译器无关的数据类型定义 */#define uchar unsigned char#define uint unsigned int/* 定义位变量 */sbit
9、DQ = P0 7; sbit LATCH = P25; /ST 锁存输出信号sbit SRCLK= P26; /SCK 串行时钟信号sbit SER = P27; /SER 串行数据unsigned char code dofly_DuanMa=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/ 显示段码值01234567unsigned char code dofly_WeiMa=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/分别对应相应的数码管点亮,即位码void Delay(unsigned int
10、 t); /函数声明/*- 发送字节程序-*/void SendByte(unsigned char dat) unsigned char i; for(i=0;i<8;i+) SRCLK=0; SER=dat&0x80; dat<<=1; SRCLK=1; /*- 发送双字节程序 595级联,n个595,就需要发送n字节后锁存-*/void Send2Byte(unsigned char dat1,unsigned char dat2) SendByte(dat1); SendByte(dat2); /*- 595锁存程序 595级联发送数据后,锁存有效-*/voi
11、d Out595(void)/ / LATCH=0; / _nop_(); / LATCH=1;/* 函数名称:DS18B20_Delay()* 功 能:DS18B20软件延时专用* 入口参数:count 延时参数,值越大,延时越长* 出口参数:无*/void DS18B20_Delay(uint count)/延时函数 while(count-);/* 函数名称:DS18B20_Init()* 功 能:DS18B20初始化* 入口参数:无* 出口参数:返回值为1则初始化成功* 返回值为0则初始化失败*/uchar DS18B20_Init(void)uchar x = 0;DQ = 1; /
12、 DQ复位DS18B20_Delay(8); / 稍做延时DQ = 0; / 单片机将DQ拉低DS18B20_Delay(80); / 精确延时,大于480usDQ = 1; / 拉高总线DS18B20_Delay(14); / 稍做延时后x = DQ; / 若x=0则初始化成功,若x=1则初始化失败 DS18B20_Delay(20);return (x);/* 函数名称:DS18B20_Read1Byte()* 功 能:从DS18B20读一个字节* 入口参数:无* 出口参数:从DS18B20读出的一个字节*/uchar DS18B20_Read1Byte(void) uchar i = 0
13、; uchar dat = 0; for(i=8;i>0;i-) DQ = 0; / 给脉冲信号 dat >>= 1; DQ = 1; / 给脉冲信号 if(DQ) dat |= 0x80; DS18B20_Delay(4);return (dat);void DS18B20_Write1Byte(uchar dat) uchar i = 0; for(i=8;i>0;i-) DQ = 0; DQ = dat&0x01; DS18B20_Delay(5); DQ = 1; dat>>=1;void Read_Disp_Temperature(void
14、) uint a = 0, b = 0, c = 0,d = 0,e = 0, t = 0; double tt = 0; while(1) DS18B20_Init(); DS18B20_Write1Byte(0xCC); / 跳过读序号列号的操作 DS18B20_Write1Byte(0x44); / 启动温度转换 DS18B20_Init(); DS18B20_Write1Byte(0xCC); / 跳过读序号列号的操作 DS18B20_Write1Byte(0xBE); / 读取温度寄存器 a = DS18B20_Read1Byte(); b = DS18B20_Read1Byte()
15、; t = b; t <<= 8; t = t | a; tt = t * 0.0625; t = tt * 1000 + 0.5; / 放大1000倍输出并四舍五入 e = t%10; / 小数第3位 d = ( ( t - e )%100 )/10; / 小数第2位 c = ( ( t - d*10 - e )%1000)/100; / 小数第1位 b = ( ( t - c*100 - d*10 - e )%10000 )/1000; / 个位 a = t/10000; / 十位 DS18B20_Delay(100); Send2Byte(dofly_WeiMa4,dofly_DuanMae); Send2Byte(dofly_WeiMa3,dofly_DuanMad); DS18B20_Delay(100); Send2Byte(dofly_WeiMa2,dofly_DuanMac); DS18B20_D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- erp培训管理考核制度
- 项目的可行性研究报告项目可行性研究报告
- 2026年泰安市岱岳区直事业单位招考工作人员易考易错模拟试题(共500题)试卷后附参考答案
- 园林古建筑社交空间设计方案
- 2026年河南计量科学研究院招考7人易考易错模拟试题(共500题)试卷后附参考答案
- 2026年河南省光山县事业单位招考易考易错模拟试题(共500题)试卷后附参考答案
- 2026年河南巩义市第二批事业单位招聘103人易考易错模拟试题(共500题)试卷后附参考答案
- 风景名胜区景观改造设计方案
- 中学数字化课堂互动平台方案
- 2026年河北省清河县事业单位招考易考易错模拟试题(共500题)试卷后附参考答案
- 贵州燃气集团股份有限公司2025年招聘笔试笔试历年参考题库附带答案详解
- 采用起重机械进行安装的工程安全管理措施
- 曹明铭工程管理课件
- 《刑法案例分析》课件
- 《流域综合规划》课件
- 2023眼视光行业白皮书-美团医疗x动脉网-202406
- 《复旦大学》课件
- 提高混凝土外墙螺杆洞封堵质量验收合格率
- 品质部绩效考核评分表(KPI)
- 茅台酱酒文化知识讲座
- 光电器件教学课件
评论
0/150
提交评论