温度检测设计论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
温度检测设计论文
小组成员及任务分配:
郝鹏1403669077(编写论文)
卓应广1403669017(编程)
贾渊杰1403669080(查找资料,整理论文)
民生学院测控技术与仪器
●第一章:前言
温度检测系统可以通过DS18B20温度传感器对温度进行检测,并通过数码管显示,同时利用I/O口与单片机连接,实现温度采集,数据处理,数据调整,温度显示等功能。该系统的需求分析如下
一过程。斜坡式累加器用来补偿感温振荡器的非线性,以期在测温时获得比较高的分辨力。这是通过改变计数器对温度每增加一度所需计数的值来实现的。因此,要想获得所需的分辨力,必须同时知道在给定温度下计数器得值和每一度的计数值。温度测量电路的方框图如图
硬件及软件设计的考虑
由于单片机串口有限,因此通过锁存器实现串行输入并行输出节省串口,程序编写时应先调用led数码管所连接的寄存器,进而调用数码管。
第三章:硬件电路设计:
最小系统电路
IAP15F2K61S2属于IAP15系类型号单片机,该系列单片机有3个16位可重转载普通定时器/计数器分别是定时器/计数器0,定时器/计数器1和定时器/计数器
0,掉电唤醒专用定时器;5个外部中断INT0/INT1/INT2_______/INT3________/INT4________
;一组高速异步串行口;一组高速同步串行通信端口SPI ;2个数据指针DPTR ;外部数据总线等功能。
上图为单片机内部结构图
单片机电源电路
上图为单片机电源电路
LED八段共阳极数码管显示电路
为八段共阳极数码管节省串口通过锁存器实现串行输入,并行输出。同时为了灵
活使用,与其他开发板不同八个数码管阳极没有接电源VCC而是通过锁存器连接单片机,单片机输出高电平实现八个数码管的共阳极连接。在使用时,应先通过P2口选择模块连接的锁存器,在通过P0口输出数据来控制数码管。
DS18B20数字温度传感器电路
DS18B20具有独特的单线接口仅需一个端口引脚与单片机P1.4进行通讯。该数字温度传感器无需另外接电源,可通过数据线供电供电范围3.0V~5.5V。18B20传感器测温范围在-55度到125度,并在-10度到85度范围内精准度在+-5度
图 1 是表示DS18B20 的方框图。64 位只读存储器储存器件的唯一片序列号。高速暂存器含有两个字节的温度寄存器,这两个寄存器用来存储温度传感器输出的数据。除此之外,高速暂存器提供一个直接的温度报警值寄存器(TH和TL),和一个字节的的配臵寄存器。配臵寄存器允许用户将温度的精度设定为9,10,11 或12 位。TH,TL 和配臵寄存器是非易失性的可擦除程序寄存器(EEPROM),所以存储的数据在器件掉电时不会消失。
DS18B20通过达拉斯公司独有的单总线协议依靠一个单线端口通讯。当全部器件经由一个3态端口或者漏极开路端口(DQ引脚在DS18B20上的情况下)与总线连接的时候,控制线需要连接一个弱上拉电阻。在这个总线系统中,微控制器(主器件)依靠每个器件独有的64位片序列号辨认总线上的器件和记录总线上的器件地址。由于每个装臵有一个独特的片序列码,总线可以连接的器件数目事实上是无限的。单总线协议,包括指令的详细解释和“时序”见单总线系统节。
DS18B20的另一个功能是可以在没有外部电源供电的情况下工作。当总线处于高电平状态,DQ与上拉电阻连接通过单总线对器件供电。同时处于高电平状态的
总线信号对内部电容(Cpp)充电,在总线处于低电平状态时,该电容提供能量给器件。这种提供能量的形式被称为“寄生电源”。作为替代选择,DS18B20同样可以通过VDD引脚连接外部电源供电
使用时应注意:
SKIP ROM [CCh] (忽略ROM 指令)
这条指令允许总线控制器不用提供64 位ROM 编码就使用功能指令。当只有一只从机在总线上时,无论如何,忽略ROM指令之后只能跟着发出一条读取暂存器指令[BEh]。
READ SCRATCHPAD [BEh] (读暂存器指令)
这条命令读取暂存器的内容。读取将从字节0 开始,一只进行下去,知道第9字节(字节8,CRC)读完,如果不想读完所有字节,控制器可以在任何时间发出复位命令来中止读取。
CONVERT T [44h] (温度转换指令)
这条命令用以启动一次温度转换。温度转换指令被执行,产生的温度转换结果数据以2个字节的形式被存储在高速暂存器中,而后DS18B20保持等待状态。在温度转换期间(tconv),必须在10us(最多),内给单总线一个强上拉,见DS18B20 供电节。
以上是该电路程序设计时所需用到的指令
。
电路参考来源:蓝桥杯内部学习资料
第四章:软件程序设计
温度检测程序初步的主要思路以框图形式表示。如下
P2=0x80; P0=0xFF; P2=0xC0; P0=0xFF;
P2=0xE0; P0=0xFF; }
void ds18b20_init() {
DQ=0;
Delay500us();
DQ=1;
Delay500us();}
延时程序有ms级延时程序和us级延时程序,因为延时程序使用较多,因此将其分位100us延时、500us延时和可输入ms延时。
void Delay100us()
{unsigned char i, j;
_nop_();
_nop_();
i = 2;
j = 15;
do
{while (--j);
while (--i);
} }
void Delay500us()
{unsigned char i, j;
_nop_();
_nop_();
i = 6;
j = 93;