基于数字温度传感器的数字温度计课程设计.docx
- 文档编号:3154465
- 上传时间:2022-11-18
- 格式:DOCX
- 页数:17
- 大小:238.61KB
基于数字温度传感器的数字温度计课程设计.docx
《基于数字温度传感器的数字温度计课程设计.docx》由会员分享,可在线阅读,更多相关《基于数字温度传感器的数字温度计课程设计.docx(17页珍藏版)》请在冰豆网上搜索。
基于数字温度传感器的数字温度计课程设计
西安文理学院物理与机械电子工程学院
课程设计报告
专业班级10级电子信息工程2班
课程单片机原理与接口技术
题目基于数字温度传感器的数字温度计
学号08101100219
学生姓名李斌
指导教师魏坤
2013年11月
西安文理学院物理与机械电子工程学院
课程设计任务书
学生姓名专业班级学号
指导教师职称教研室
课程
题目
任务与要求
该页由教师提供
请装订时务必打印出来
开始日期完成日期
年月日
设计目的……………………………………………4
设计任务和要求……………………………………4
总体设计方案………………………………………4
功能模块设计与分析………………………………9
电路的安装与调试…………………………………11
实验仪器及元器件清单……………………………11
心得体会……………………………………………11
附录一系统电路图…………………………………16
一、设计目的
本设计以AT89S52单片机(海翔HX-V2开发板)为核心的温度控制系统的工作原理和设计方法。
温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机。
文中介绍了该控制系统的硬件部分,包括:
温度检测电路、数码管扫描电路,显示电路。
单片机通过对信号进行相应处理,从而实现温度的采集,量化,输出,显示的目的。
文中还着重介绍了软、硬件设计及C语言实现部分,在这里采用模块化编程结构。
主要模块有:
端口定义程序、函数定义及主函数程序、定时器中断程序、延时函数程序、DS18B20初始化定义程序。
通过本次课程设计,更加深对51单片机的了解,进一步加深我们对51单片机解决实际问题的工作能力。
二、设计要求和任务
利用数字温度传感器DS18B20与单片机结合来测量温度。
利用数字温度传感器DS18B20测量温度信号,计算后在LED数码管上显示相应的温度值。
其温度测量范围为-550C~1250C,精确到0.50C。
数字温度计所测量的温度采用数字显示,控制器使用单片机AT89C51,测温传感器使用DS18B20,用3位共阳极LED数码管以串口传送数据,实现温度显示。
设计要求
(1)根据设计任务要求给出实现原理及具体实现方案;
(2)给出电路设计的具体电路,编写出相应的温度采集显示程序;
(3)通过相应软件进行调试,给出调试结果,并进行相应分析;
(4)论文要求思路清晰,结构合理,语言流畅,书写格式符合要求。
设计任务
设计一个具有基于DS1820数字温度传感器的温度检测及显示的系统。
要求系统具有以下功能:
(1)一路温度检测;
(2)具有数码管显示功能;
(3)具有动态扫描功能;
(4)定时器控制扫描时间;
(5)温度变化数码管能及时刷新显示温度;
三、总体设计方案
1、DS18B20
1.1DS18B20的工作原理
DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。
DS18B20测温原理如图3所示。
图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。
高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。
计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
图3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。
DS18B20有4个主要的数据部件:
(1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。
64位光刻ROM的排列是:
开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。
光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。
(2)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:
用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。
表1:
DS18B20温度值格式表
这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。
例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。
表2:
DS18B20温度数据表
(3)DS18B20温度传感器的存储器
DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。
(4)配置寄存器
该字节各位的意义如下:
TM
R1
R0
1
1
1
1
1
表3:
配置寄存器结构
低五位一直都是"1",TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。
在DS18B20出厂时该位被设置为0,用户不要去改动。
R1和R0用来设置分辨率,如下表所示:
(DS18B20出厂时被设置为12位)
R1
R0
分辨率
温度最大转换时间
0
0
9位
93.75ms
0
1
10位
187.5ms
1
0
11位
375ms
1
1
12位
750ms
表4:
温度分辨率设置表
1.2DS18B20的使用方法
由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。
由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。
DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。
该协议定义了几种信号的时序:
初始化时序、读时序、写时序。
所有时序都是将主机作为主设备,单总线器件作为从设备。
而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。
数据和命令的传输都是低位在先。
DS18B20的初始化
(1)先将数据线置高电平“1”。
(2)延时(该时间要求的不是很严格,但是尽可能的短一点)
(3)数据线拉到低电平“0”。
(4)延时750微秒(该时间的时间范围可以从480到960微秒)。
(5)数据线拉到高电平“1”。
(6)延时等待(如果初始化成功则在15到60毫秒时间之内产生一个由DS18B20所返回的低电平“0”。
据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制)。
(7)若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要480微秒。
(8)将数据线再次拉高到高电平“1”后结束。
DS18B20的写操作
(1)数据线先置低电平“0”。
(2)延时确定的时间为15微秒。
(3)按从低位到高位的顺序发送字节(一次只发送一位)。
(4)延时时间为45微秒。
(5)将数据线拉到高电平。
(6)重复上
(1)到(6)的操作直到所有的字节全部发送完为止。
(7)最后将数据线拉高。
DS18B20的读操作
(1)将数据线拉高“1”。
(2)延时2微秒。
(3)将数据线拉低“0”。
(4)延时3微秒。
(5)将数据线拉高“1”。
(6)延时5微秒。
(7)读数据线的状态得到1个状态位,并进行数据处理。
(8)延时60微秒。
2、AT89C51
2.1AT89C51简介
AT89S51美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4KBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及AT89C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元。
单片机AT89S51强大的功能可为许多嵌入式控制应用系统提供高性价比的解决方案。
2.2AT89C51功能
AT89S51提供以下标准功能:
40个引脚、4KBytesFlash片内程序存储器、128Bytes的随机存取数据存储器(RAM)、32个外部双向输入/输出(I/O)口、5个中断优先级2层中断嵌套中断、2个数据指针、2个16位可编程定时/计数器、2
个全双工串行通信口、看门狗(WDT)电路、片内振荡器及时钟电路。
此外,AT89S51可降
:
程序存储允许(
)输出是外部程序存储器的读选通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次
有效,即输出两个脉冲。
当访问外部数据存储器时,没有两次有效的
信号。
EA/VPP:
外部访问允许。
欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。
需要注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端保持高电平(接VCC端),CPU则执行内部程序存储器中的指令。
四、功能模块设计与分析
1、DS18B20温度模块
DS18B20是美国DALLAS半导体公司推出的第一片支持“一线总线”接口的温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,可直接将温度转化成串行数字信号处理器处理。
DS18B20进行精确的温度转换,I/O线必须保证在温度转换期间提供足够的能量,由于每个DS18B20在温度转换期间工作电流达到1mA,当几个温度传感器挂在同一根I/O线上进行多点测温时,只靠4.7K上拉电阻就无法提供足够的能量,会造成无法转换温度或温度误差极大。
因此,下图电路只适应于单一温度传感器测温情况下使用,不适宜采用电池供电系统中。
并且工作电源VCC必须保证在5V,当电源电压下降时,寄生电源能够汲取的能量也降低,会使温度误差变大。
2、数码管显示模块
74LS138
①当一个选通端(E1)为高电平,另两个选通端((/E2))和/(E3))为低电平时,可将地址端(A0、A1、A2)的二进制编码在Y0至Y7对应的输出端以低电平译出。
比如:
A2A1A0=110时,则Y6输出端输出低电平信号。
②利用E1、E2和E3可级联扩展成24线译码器;若外接一个反相器还可级联扩展成32线译码器。
③若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。
④可用在8086的译码电路中,扩展内存。
2引脚功能
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于数字温度传感器的数字温度计 课程设计 基于 数字 温度传感器 温度计