温度传感器的设计毕业论文整理版Word文档格式.docx

上传人:b****5 文档编号:19946662 上传时间:2023-01-12 格式:DOCX 页数:16 大小:122.89KB
下载 相关 举报
温度传感器的设计毕业论文整理版Word文档格式.docx_第1页
第1页 / 共16页
温度传感器的设计毕业论文整理版Word文档格式.docx_第2页
第2页 / 共16页
温度传感器的设计毕业论文整理版Word文档格式.docx_第3页
第3页 / 共16页
温度传感器的设计毕业论文整理版Word文档格式.docx_第4页
第4页 / 共16页
温度传感器的设计毕业论文整理版Word文档格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

温度传感器的设计毕业论文整理版Word文档格式.docx

《温度传感器的设计毕业论文整理版Word文档格式.docx》由会员分享,可在线阅读,更多相关《温度传感器的设计毕业论文整理版Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。

温度传感器的设计毕业论文整理版Word文档格式.docx

总结........................................................17

致谢........................................................18

参考文献....................................................19

摘要:

温度是工业控制中主要的被控参数之一,特别是在建材、食品、机械、冶金、化工、石油等工业中,具有举足重轻的作用。

随着电子技术和微型计算机的迅速发展,微机测量和控制技术得到了迅速的发展和广泛的应用。

单片机具有运行速度快、处理能强、功耗低等优点,应用在温度测量与控制方面,控制简单方便,测量范围广,精度较高。

随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。

在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及具体应用对象特点的软件结合,以作完善。

关键词:

单片机系统;

传感器;

温度;

一、绪论

(一)课题的背景及其意义

随着现代测量、控制和自动化技术的发展,传感器门的重视。

技术越来越受到特别是近年来,由于科学技术,经济发展及生态平衡的需要、传感器在各个领域中的作用也日益显著。

在工业控制、机电一体化、智能仪表、通信、家用电器、能源、交通、灾害预测、安全保护、医疗卫生等方面所开发的各种传感器,不仅能代替人的感官功能,并且在检测人的感官所不能感受的参数方面创造了十分有利的条件。

温度是表征物体冷热程度的物理量,温度的测量对于人们日常的生活有很重要的意义。

温度对于农业生产,工业生产的数量以及质量都有很大的影响。

如果能很有效的控制温度掌握温度农业生产、工业生产的数量以及质量都将大幅度增加。

所以。

能有效的掌握并控制温度都大有好处。

温度传感器在测量方面都有着诸多的优点。

随着科技的进步,生产力的加强,温度传感器得到更好的发展。

种类越来越多,应用越来越普遍。

来满足生活生产的需求。

(二)课题研究的内容及要求

本课题研究的主要内容是单片机温度检测系统设计。

主要为了实现温度检测显示本设计采用了STC89C51单片机、DS18B20温度传感器以及数码显示管LED等硬件。

用单片机实现其具体控制功能如下:

1、能够连续测量室内的温度值,用十进制数码管来显示室内的实际温度。

2、数值采用数码管显示。

本次的毕业设计的题目是单片机温度控制系统设计。

它是多种技术知识的结合,不仅涉及到软件的设计,而且还将应用电子技术与单片机的应用技术有机结合,使其具有精度高、测量误差小、稳定性好等特点。

电路板的设计技术和机械加工工艺的巧妙结合,使其具备了显示直观、体积做工精细等特点,能为它在其它领域的广泛应用打下良好的基础。

二、电路的组成及工作原理

与普通计算机系统一样,单片机应用系统有硬件系统和软件系统组成。

单片机应用系统的硬件由单片机、接口电路、外部设备、传感器、执行器和操作控制台组成。

系统不同,则做成系统的硬件也不同,一般可根据系统的需要进行扩展。

而软件系统可以使用C语言或者汇编语言编写。

本设计系统的组成部分是由单片机、温度控制器、数码显示管部分电阻原件等组成。

(一)电路的组成框图

本电路的组成是由STC89C51单片机、DS18B20温度传感器以及数码显示管LED等硬件。

(二)电路图

(三)工作原理

本设计从硬件和软件两方面来讲述,在控制过程中主要应用单片机运行速度快、STC89C52单片机、温度传感器DS18B20、LED显示器、而主要是通过DS18B20温度传感器采集环境温度,以单片机为核心控制部件,并通过四位数码管显示实时温度的一种数字温度计。

软件方面采用汇编语言来进行程序设计,使指令的执行速度快,节省存储空间。

为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,使硬件在软件的控制下协调运作。

三、硬件电路设计

该电路主要3大模块电路组成:

1、单片机模块。

用单片机电路来接收温度传感器的感知温度,并将温度通过显示电路显示出来。

它还包括复位电路和时钟电路。

2、温度传感器模块。

主要采用DS18B20温度传感器芯片组接电路。

3、显示电路模块。

主要采用一个四位共阴极的数码管来显示。

(一)单片机控制电路

STC89C52是一种带4k字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

而在众多的51系列单片机中,要算ATMEL公司的AT89C51更实用,也是一种高效微控制器,因为它不但和8051指令、管脚完全兼容,而且其片内的4K程序存储器是FLASH工艺的,这种工艺的存储器,用户可以用电的方式达到瞬间擦除、改写。

而这种单片机对开发设备的要求很低,开发时间也大大缩短。

STC89C52基本功能描述如下:

STC89C52是一种低损耗、高性能、CMOS八位微处理器,而且在其片种还有4k字节的在线可重复编程快擦快写程序存储器,能重复写入/擦除1000次,数据保存时间为十年。

它与MCS-51系列单片机在指令系统和引脚上完全兼容,不仅可完全代替MCS-51系列单片机,而且能使系统具有许多MCS-51系列产品没有的功能。

STC89C52可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低了系统成本。

只要程序长度小于4k,四个I/O口全部提供给用户。

可用5V电压编程,而且写入时间仅10毫秒,仅为8751/87C51的擦除时间的百分之一,与8751/87C51的12V电压擦写相比,不易损坏器件,没有两种电源的要求,改写时不拔下芯片,适合许多嵌入式控制领域。

AT89C51芯片提供三级程序存储器锁定加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制。

另外,AT89C51还具有MCS-51系列单片机的所有优点。

128×

8位内部RAM,32位双向输入输出线,两个十六位定时器/计时器,5个中断源,两级中断优先级,一个全双工异步串行口及时钟发生器等。

AT89C51有间歇、掉电两种工作模式。

间歇模式是由软件来设置的,当外围器件仍然处于工作状态时,CPU可根据工作情况适时地进入睡眠状态,内部RAM和所有特殊的寄存器值将保持不变。

这种状态可被任何一个中断所终止或通过硬件复位。

掉电模式是VCC电压低于电源下限,当振荡器停止振动时,CPU停止执行指令。

该芯片内RAM和特殊功能寄存器值保持不变,一直到掉电模式被终止。

只有VCC电压恢复到正常工作范围而且在振荡器稳定振荡后,通过硬件复位、掉电模式可被终止。

STC89C52系列引脚功能

STC89C52有40引脚双列直插(DIP)形式。

其与80C51引脚结构基本相同,其逻辑引脚图如图一。

图一STC89C52逻辑引脚图

各引脚功能叙述如下:

1、电源和晶振

VCC——接+5电压

GND——接地

XTAL1——接外部晶振的一个引脚。

在单片机内部,它是反相放大器的输入端,此反相放大器构成了片内振荡器。

XTAL2——接外部晶振的一个引脚。

在单片机内部,它是反相放大器的输出端,输入到内部时钟发生器。

RST:

复位信号输入端,高电平有效。

在此输入端持续两个机器周期的高电平,就可以完成复位操作。

2、I/O(4个口,32根)

P0口——8位、漏极开路的双向I/O口。

当使用片外存储器(ROM、RAM)时,作地址和数据分时复用。

在程序校验期间,输出指令字节(需加外部上拉电路)。

P0口(作为总线时)能驱动8个LSTTL负载。

P1口——8位、准双向I/O口。

在编程/校验期间,用于输入低位字节地址。

P1口可驱动4个LSTTL负载。

对于80C51,P1.0——T2,是定时器的计数端且位输入;

P1.1——T2EX,是定时器的外部输入端。

这时,读两个特殊输入引脚的输出锁存器应由程序置1。

P2口——8位、准双向I/O口。

当使用片外存储器(ROM及RAM)时,输出高8位地址。

在编程/校验期间,接收高位字节地址。

P2口可以驱动4个LSTTL负载。

P3口——8位、准双向I/O口,具有内部上拉电路。

P3口提供各种替代功能。

在提供这些功能时,其输出锁存器应由程序置1。

P3口可以输入/输出4个LSTTL负载。

3、串行口

P3.0——RXD(串行输入口),输入。

P3.1——TXD(串行输出口),输出。

4、中断

P3.2——INT0外部中断0,输入。

P3.3——INT1外部中断1,输入。

5、定时器/计数器

P3.4——T0定时器/计数器0的外部输入,输入。

P3.5——T1定时器/计数器1的外部输入,输入。

6、数据存储器选通

P3.6——WR低电平有效,输出,片外存储器写选通。

P3.7——RD低电平有效,输出,片外存储器读选通。

7、控制线(共4根)

输入:

RST——复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

EA/Vpp——片外程序存储器访问允许信号,低电平有效。

在编程时,其上施加21V的编程电压。

注意:

在加密方式1时,EA将内部锁定为RESET;

当EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

输入、输出:

ALE/PROG——地址锁存允许信号,输出。

ALE以1/6的振荡频率稳定速率输出,可用作对外输出的时钟或用于定时。

在EPROM编程期间,作输入,输入编程脉冲。

ALE可以驱动8个LSTTL负载。

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

注意:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

输出:

PSEN——片外程序存储器选通信号,低电平有效。

在从片外程序存储器取址期间,在每个机器周期中,当PSEN有效时,程序存储器的内容被送上P0口(数据总线)。

PSEN可以驱动8个LSTTL负载。

STC89C52系列单片机的功能单元

1、并行I/O接口:

单片机芯片内有一项主要功能就是并行I/O口。

51系列共有4个8位的并行I/O口,分别记作P0、P1、P2、P3每个口都包含一个锁存器,一个输出驱动器和输入缓冲器。

实际上,它们已被归入专用寄存器之列,并且具有字节寻址和位寻址功能。

在访问片外扩展存储器时,低八位地址和数据由P0口分时传送,高八位地址由P2口传送。

2、定时器/计数器

定时器/计数器(timer/counter)是单片机中的重要部件,其工作方式灵活、编程简单,使用它对减轻CPU的负担和简化外围电路都大有好处。

C51系列包含有两个16位的可编程定时器/计数器分别称为定时器/计数器T0和定时器/计数器T1;

在C51部分产品中,还包含有一个用做看门狗的8位定时器。

定时器/计数器的核心是一个加1计数引脚上施加器,其基本功能是加1功能。

在单片机的定时器T0或T1中,有一个定时器发生由0到1的跳变时,计数器增1,即为计数功能;

在单片机内部对机器周期或其分频进行计数,从而得到定时,这就是定时功能。

在单片机中,定时功能和计数功能的设定和控制都是通过软件来进行的。

3、振荡器

XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器可以配置为片内振荡器。

石晶振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL2应不接。

当输入至内部时钟信号时要通过一个二分频触发器,而对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

4、芯片擦除

整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。

在芯片擦除操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。

在闲置模式下,CPU停止工作。

但RAM、定时器、计数器、串口和中断系统仍在工作。

在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

5、中断系统

CPU在正常执行程序的过程中,突发某种紧急事件(随机出现的内部或外部事件),CPU暂停现行程序而转去处理次事件(即去执行相应的中断服务程序),待该事件处理完毕,CPU再返回到原程序被中断的下一跳指令(称为断点)继续执行,这个过程称为中断。

我们把引起中断的原因或触发中断请求的来源称为中断源。

中断源有5个,分别为外部中断0请求INT0、外部中断1请求INT1、定时器0溢出中断请求TF0、定时器1溢出中断请求TF1和串行中断请求R1或T1。

5个中断源的排列顺序由中断优先级控制寄存器IP和顺序查询逻辑电路共同决定,5个中断源分别对应5个固定的中断入口地址。

中断的特点是分时操作,实时处理和故障处理。

(二)温度采样部分

温度采样我们使用的是DS18B20。

DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。

因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。

TO-92封装的DS18B20的引脚排列见表一,其引脚功能描述见表一

表一DS18B20详细引脚功能描述

序号

名称 

引脚功能描述 

GND 

地信号 

DQ 

数据输入/输出引脚。

开漏单总线接口引脚。

当被用着在寄生电源下,也可以向器件提供电源。

VDD 

可选择的VDD引脚。

当工作于寄生电源时,此引脚必须接地。

(三)显示部分

通过将主机处理的温度信息显示在LED数码管上为温度控制系统的单片机显示部分。

而显示部分在整个的设计过程中的作用也是很大的。

显示接口是人机交互的输出设备,打到各种工业控制仪表、广告显示牌,小到各种家电、手机、MP3等都用带显示器。

单片机控制的显示器常用的有LED数码管显示器和LCD液晶显示器。

LED数码显示器成本低,编程容易,应用很广泛。

LED显示器是单片机应用系统中常见的输出器件,而在单片机的应用上也是被广泛运用的。

常用的LED显示器发光二极管、LED七段数码显示管和LED十六段数码显示管。

发光二极管可现实两种状态,用于系统状态显示;

七段数码用于数字显示;

LED十六段数码显示管用于字符显示。

如果需要显示的内容只有数码和某些字母,使用LED数码管是一种较好的选择。

LED数码管显示清晰、成本低廉、配置灵活,与单片机接口简单易行。

LED数码管作为显示字段的数码型显示器件,它是由若干个发光二极管组成的。

当发光二极管导通时,相应的一个点或一个笔画发亮,控制不同组合的二极管导通,就能显示出各种字符,常用的LED数码管有7段和“米”字段之分。

这种显示器有共阳极和共阴极两种。

共阴极LED显示器的发光二极管的阴极连在一起,通常此共阴极接地。

当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。

同样,共阳极LED显示器的发光二极管的阳极接在一起,通常此共阳极接正电压,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示。

本次设计所用的LED数码管显示器为共阳极。

LED数码管的使用与发光二极管相同,根据材料不同正向压降一般为1.5~2V,额定电流为10MA,最大电流为40MA。

静态显示时取10MA为宜,动态扫描显示可加大脉冲电流,但一般不超过40MA。

四、程序设计

#include<

reg52.h>

bitflag;

sbitdq=P3^0;

//1820

inti;

//xiaoshu

unsignedcharwendu=0;

//zhengshu/////////////////////////70xf8//////

unsignedcharma[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf1,0x80,0x90};

voidys(unsignedchark)

{

inti,j;

for(i=0;

i<

k;

i++)

for(j=0;

j<

20;

j++);

}

voidcsh()//初始化

unsignedchara;

dq=1;

dq=0;

a=200;

while(a--);

a=20;

if(dq==0)flag=1;

a=10;

voidxie(unsignedcharzl)//写

unsignedchari,a;

for(i=0;

8;

{

dq=1;

a=6;

dq=0;

zl=zl>

>

1;

dq=CY;

while(a--);

}

unsignedchardu()//读

unsignedchari,a,sa;

sa=0;

sa=sa>

a=3;

CY=dq;

if(CY==1)sa=sa+128;

a=10;

return(sa);

voidwd()//温度时序

unsignedchargao,di;

csh();

xie(0xcc);

xie(0x44);

xie(0xbe);

di=du();

gao=du();

wendu=di/16+(gao%16)*16;

di=di%16;

i=di*625;

voidmain()

while

(1)

wd();

P2=0x01;

P1=ma[wendu/10];

ys(10);

P1=0xff;

P2=0x02;

//00000010

P1=ma[wendu%10]&

0x7f;

P2=0x04;

//00000100

P1=ma[i/1000];

P2=0x08;

//000010000

P1=0xc6;

//ys(10);

//P1=0xff;

五、系统调试及结论分析

整个系统是由硬件和软件相互组成试机前首先还是要检查硬件的故障。

检查硬件是否存在故障我们一般选用万用表来检查。

用万用表检查各个管脚、线路及元器件等。

(一)硬件调试方法

1、电源故障:

存在电源故障,即通电后将造成元器件损坏、无法正常供电,电路不能正常工作。

电源的故障包括:

电压值不符和设计要求,电源引出线和插座不对应,各档电源之间的短路,变压器功率不足,内阻大,负载能力差等。

解决方法:

电源要单独的测量,本设计中就出现电源故障经过一个稳压电路才使其正常工作。

2、错线、开路、短路:

由于设计错误和加工过程中的工艺性错误所造成的错线、开路、短路等故障。

依照原理图仔细检查修改部分焊点即可。

3、元器件损坏:

由于对元器件使用要求的不熟悉及制作调试过程中操作不当致使器件损坏。

解决方法:

在设计过程中要明确各元器件的工作条件,严格按照制作要求进行操作,损坏的元器件要及时更换,以免损坏其他元件或影响电路功能的实现。

(二)软件电路故障及解决方法

设计软件部分出现这种错误的现象:

当以断点或连续方式运行时,目标系统没有按规定的功能进行操作或什么结果也没有,这是由于程序转移到意外之处或在某处死循环所造成的。

这类错误的原因是程序中转移地址计算错误、堆栈溢出、工作寄存器冲突等。

在采用实时多任务操作系统时,错误可能在操作系统中,没有完成正确的任务调度操作,也可能在高优先级任务程序中,该任务不释放处理器,使CPU在该任务中死循环。

通过对错误程序的修改使其实现预期的功能。

综合调试:

在完成了各个模块程序(或各个任务程序)的调试工作以后,便可进行系统的综合调试。

综合调试一般采用全速断点运行方式,这个阶段的主要工作社排除系统中遗留的错误以提高系统的动态性能和精度。

在综合调试的最后阶段,应在目标系统的晶振频率工作,使系统全速运行目标程序,实现了预定功能技术指标后,便可将软件固化,然后在运行固化的目标程序,成功后目标系统便可脱机运行。

一般情况下,这样一个应用系统就算研制成功了。

总结

在本次设计中,我们所学习的理论得到了实践,从中也了解了自己的不足。

因此在以后的学习工作中要更加努力的学习。

本次设计,我也有很深的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科

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

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