单片机原理及应用课程设计八路温度巡回检测系统.docx

上传人:b****5 文档编号:6360633 上传时间:2023-01-05 格式:DOCX 页数:26 大小:988.60KB
下载 相关 举报
单片机原理及应用课程设计八路温度巡回检测系统.docx_第1页
第1页 / 共26页
单片机原理及应用课程设计八路温度巡回检测系统.docx_第2页
第2页 / 共26页
单片机原理及应用课程设计八路温度巡回检测系统.docx_第3页
第3页 / 共26页
单片机原理及应用课程设计八路温度巡回检测系统.docx_第4页
第4页 / 共26页
单片机原理及应用课程设计八路温度巡回检测系统.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

单片机原理及应用课程设计八路温度巡回检测系统.docx

《单片机原理及应用课程设计八路温度巡回检测系统.docx》由会员分享,可在线阅读,更多相关《单片机原理及应用课程设计八路温度巡回检测系统.docx(26页珍藏版)》请在冰豆网上搜索。

单片机原理及应用课程设计八路温度巡回检测系统.docx

单片机原理及应用课程设计八路温度巡回检测系统

《单片机原理及应用》课程设计

八路温度巡回检测系统

 

摘要:

本文介绍一种采纳STC公司的STC89C52RC单片机操纵DS18B20数字温度传感器搜集温度,最后在共阴极的LED灯上实时显示温度值的温度检测系统(由于实验及本钱缘故本文只做一路传输系统)。

该系统从实际应用工程动身,要紧对硬件电路设计、电子元件选择、系统应用软件设计等方面进行具体探讨和研究。

系统具有性能稳固靠得住、功耗低、本钱低、测量准确、传输距离远、保护简单等优势,系统设计在实际工作中具有必然的借鉴意义。

关键词:

温度检测;STC89C52RC;DS18B20

Notableofcontentsentriesfound.附1:

电路图

附2:

元件清单

附3:

程序

第一节引言

随着运算机技术和传感器技术的飞速进展,在科研、生产和日常活动中,人们对温度、压力、流量等模拟物理量的测量要求愈来愈高。

而这些物量中温度的应用是最为普遍的。

如何将温度通过传感器变成电信号,再通过处置转换成运算性能够识别的数字量,输入到运算机中,由运算机将搜集到的数字量进行不同的处置,然后在显示器显示出来,并进行实时监控。

这已经为当前运算机测量与操纵领域的一个重要研究方向。

鉴于此,本文提出一种基于89C52和DS18B20的低本钱、远距离传输的温度检测系统设计方案。

系统原理及大体框图

如图所示,为系统的大体框图。

图系统基本方框图

该系统由六部份组成:

STC89C52RC核心单片机,温度搜集电路,LED显示电路,报警警电路,复位电路,晶振等,其中温度搜集要紧由DS18B20组成,在短时刻内把热力学温度信号数字,送入单片机,由单片机操纵显示电路显示,而且判定是不是达到设定温度,若达到设定温度,由单片机启动报警电路,报警。

设计任务

利用单片机与AD转换器设计一个八路温度巡回检测系统,对某粮库或冷冻厂八点(八个冷冻室或八个粮仓)进行温度巡回检测。

能够测量-30~+50oC的温度范围,检测精度要求不大于±1oC。

采纳数码管显示测量值;

单片机和AD转换器型号自选(如单片机可选AT89S51或AT89C51等;AD转换器可选ADC0809或ADC0804等)。

(本文均基于一路温度检测系统设计)。

 

第二节硬件设计介绍

STC89C52RC

2.1.2STC89C52RC介绍

单片机自问世以来,以其极高的性价比受到人们的重视和关注,应用很广,进展专门快。

单片机的体积小,重量轻,抗干扰能力强,环境要求不高,价钱低,靠得住性强,灵活性好,开发较为容易。

基于以上的优势,单片机已经普遍的应用在工业自动化操纵,自动检测,智能仪器仪表,机电一体化等方方面面,因此本系统采纳单片机做为操纵器。

单片机中51/52系列最具有代表性。

本设计核心采纳了STC89C52RC单片机。

STC89C51/52单片机系列是在MCS—51/52系列的基础上进展起来的,STC89C52RC完全兼容MCS-51系列单片机的所有功能,而且本身带有2K的内存储器,能够在编程器上实现闪烁式的电擦写达几万次以上,比以往惯用的8031CPU外加EPROM为核心的单片机系统在硬件上具有加倍简单方便等优势,其外形如图所示。

图STC89C52RC芯片

 

2.1.3STC89C52引脚介绍

STC89C52RC的引脚图如图所示.

图STC89C52引脚图

单片机的引脚功能说明:

①电源引脚

VCC(40脚):

电源端,工作电压为5V。

GND(20脚):

接地端。

②时钟电路引脚XTAL1(19脚)和XTAL2(18脚)

③复位RST(9脚)

④.输入输出(I/O)引脚

(39脚-32脚):

输入输出脚,称为P0口,是一个8位漏极开路型双向I/O口,内部不带上拉电阻。

(1脚-8脚):

输入输出脚,称为P1口,是一个带内部上拉电阻

的8位双向I/0口。

(21脚—28脚):

输入输出脚,称为P2口,是一个带内部上拉电

阻的8位双向I/O口,

(10脚—17脚):

输入输出脚,称为P3口,是一个带内部上拉电

阻的8位双向I/O口。

P3端口具有复用功能。

表P3口端口引脚与复用功能表

P3引脚

兼用功能

串行通讯输入(RXD)

串行通讯输出(TXD)

外部中断0(INT0)

外部中断1(INT1)

定时器0输入(T0)

定时器1输入(T1)

外部数据存储器写选通(WR)

外部数据存储器读选通(RD)

DS18B20

2.2.1DS18B20性能

DS18B20是Dallas公司推出的单线集成数字温度搜集系统,与传统的热敏电阻等测温元件相较,它能直接读出被测温度,而且可依如实际要求通过简单的编程实现9~12位的数字值读数方式。

其实物如图所示。

图DS18B20

DS18b20内部要紧有三个数字部件:

64位激光ROM、温度传感器、非易失性温度报警触发器TH和TL。

DS18B20的性能特点如下:

●独特的单线接口方式,DS18B20在与微处置器连接时仅需要一条口线即可实现微处置器与DS18B20的双向通信;

●多个DS18B20能够并联在唯一的三线上,实现多点组网功能;

●无需外部器件;

●可通过数据线供电,电压范围:

~;

●测温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃

●零待机功耗

●温度以9或12位数字量读出;

●用户可概念的非易失性温度报警设置;

●具有非易失性上、下限报警设定的功能,用户可方便地通过编程修改上、下限的数值;

●负电压特性,电源极性接反时,温度计可不能因发烧而烧毁,但不能正常工作;

●适用于DN15~25,DN40~DN250各类介质工业管道和狭小空间设备测温。

8PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。

●数字量的转换精度及转换时刻可通过简单的编程来操纵:

9位精度的转换时刻为93.75ms:

10位精度的转换时刻:

12位精度的转换时刻750ms。

2.2.2DS18B20引脚图

本文用的DS18B20的经常使用封装为3脚,如图所示。

图DS18B20引脚图

各脚功能描述如下:

DQ:

数字信号输入/输出端。

GND:

电源地端。

VDD:

外接供电电源输入端(在寄生电源接线时此脚应接地)。

 

三极管9012

三极管的工作原理

三极管是一种操纵元件,要紧用来操纵电流的大小,以共发射极接法为例(信号从基极输入,从集电极输出,发射极接地),当基极电压UB有一个微小的转变时,基极电流IB也会随之有一小的转变,受基极电流IB的操纵,集电极电流IC会有一个专门大的转变,基极电流IB越大,集电极电流IC也越大,反之,基极电流越小,集电极电流也越小,即基极电流操纵集电极电流的转变。

可是集电极电流的转变比基极电流的转变大得多,这确实是三极管的放大作用。

IC的转变量与IB转变量之比叫做三极管的放大倍数β(β=ΔIC/ΔIB,Δ表示转变量。

),三极管的放大倍数β一样在几十到几百倍。

三极管在放大信号时,首先要进入导通状态,即要先建立合适的静态工作点,也叫建立偏置,否则会放大失真。

9012是一种最经常使用的一般三极管。

它是一种低电压,大电流,小信号的PNP型硅三极管:

∙集电极电流Ic:

Max-500mA

∙集电极-基极电压Vcbo:

-40V

∙工作温度:

-55℃to+150℃

∙和9013(NPN)相对

∙要紧用途:

o开关应用

o射频放大

共阴极数码管

数码管由8个发光二极管(以下简称字段)组成,通过不同的组合可用来显示数字0~九、字符A~F、H、L、P、R、U、Y、符号“-”及小数点“.”。

数码管的外形结构如下图所示。

数码管又分为共阴极和共阳极两种结构。

图共阴极四位一体数码管

共阴极数码管的8个发光二极管的阴极(二极管负端)连接在一路。

通常,公共阴极接低电平(一样接地),其它管脚接段驱动电路输出端。

当某段驱动电路的输出端为高电平常,则该端所连接的字段导通并点亮,依照发光字段的不同组合可显示出各类数字或字符。

现在,要求段驱动电路能提供额定的段导通电流,还需依照外接电源及额定段导通电流来确信相应的限流电阻。

利历时,既能够用半导体三极管驱动,也能够直接用TTL与非门驱动。

需要加限流电阻。

数码管的工作电压一样为至3伏,工作电流只需几到十几毫安。

且寿命长,响应速度快。

硬件部份电路图

2.5.1复位电路

在振荡器运行时,有两个机械周期(24个振荡周期)以上的高电平出此刻此引脚时,将使单片机复位,只要那个脚维持高电平,52芯片便循环复位。

复位后P0-P3口均置1引脚表现为高电平,程序计数器和特殊功能寄放器SFR全数清零。

当复位脚由高电平变成低电平常,芯片为ROM的0000H处开始运行程序。

该芯片的复位脚为9脚,因此复位电路接STC89C52RC的9脚,具体电路如下图所示。

当采纳的晶体频率是6MHZ时,可取C=22UF,R=1K;当采纳的晶体频率为12MHZ时,可取C=10UF,R=。

只是这都是最佳的组合,也能够有其它大小的电容电阻,只要符合电路要求就能够够,如本文就采纳22UF的电容和10K的电阻,经实验也知足要求。

图复位电路

2.5.2晶振

为了产生时钟信号,在8052内部设置了一个反相放大器,XTAL1是片内振荡器反相放大器的输入端,XTAL2是片内振荡器反相放大器的输出端,也是内部时钟发生器的输入端。

当利用自激振荡方式时,XTAL1和XTAL2外接石英晶振,使内部振荡器依照石英晶振的频率振荡,就产生时钟信号。

晶振一样利用石英晶体,其频率由系统需要和器件决定,在频率稳固度要求不高时也能够利用陶瓷滤波器。

利用石英晶体时C一、C2为C1=C2=30(±10)pF,利用陶瓷滤波器时,C1=C2=40(±10)pF。

本系统用12MHZ的石英晶振,接STC89C52RC的18和19脚,具体电路如图所示。

图时钟信号电路(晶振)

2.5.3一路传输电路

在传统的模拟信号远距离温度测量系统中,需要专门好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够达到较高的测量精度。

另外一样监控现场的电磁环境都超级恶劣,各类干扰信号较强,模拟温度信号容易受到干扰而产生测量误差,阻碍测量精度。

因此,在温度测量系统中,本文采纳抗干扰能力强的新型数字温度传感器是解决这些问题的最有效方案,新型数字温度传感器DS18B20具有体积更小、精度更高、适用电压更宽、采纳一线总线、可组网等优势,在实际应用中取得了良好的测温成效。

DS18B20有三个引脚。

VDD管脚接5V电压给传感器供电。

DQ管脚为数据线,与STC89C51RC的连接的同时,还要接一个4.7K的上拉电阻,并接到5V的电源上,使数据线在空闲状态下能自动上拉为高电平。

GND管脚接地。

具体电路如图所示。

之因此接P1口,是因为P1口的驱动力最强,完全能够驱DS18B20的正常运行。

图一路传输电路

2.5.4LED显示电路

显示电路采纳静态显示,4位LED数码管。

所谓静态显示,确实是每一个显示器都要占用单独的具有锁存功能的I/O接口用于比划段字形代码。

如此单片机只要把显示的字形代码发送到接口电路,就不用管它了,直到要显示显示新的数据时,再发送心的字形码,因此,利用这种方式,单片机中的CPU的开销小。

本文的显示电路如图所示。

其中P0口作为7断码和小数点的选择,P2口作为位码的选择,在断码和P0口之间还需加上1K的上拉电阻,以保证LED灯的正常显示。

.

图LED显示电路

2.5.5报警电路

本文中当某一通道的温度测量值超出预先设定的上、下限报警值或系统运行显现故障时,系统发作声光报警以提示用户注意。

报警电路中光报警采纳发光二极管,声报警采纳蜂鸣器来设计,蜂鸣器电路中,9012晶体管起开关作用,输出低电平常,管脚输出电压通过lK限流电阻分压后,抵达9012基极的电压为使得晶体管发射结正偏,集电结反偏,晶体管导通,蜂鸣器上电而产生声响。

发光二极管电路中,主若是限流电阻的设计,由于发光二极管工作电流是3mA-30mA,导通压降为V;而单片机工作在5V电压时,I/O口输出低电平的最大灌入电流是16mA,输出的低电平是Vss+V如此在限流电阻上的压降确实是V,而电流要限定在8mA左右,因此电阻阻值为V/8mA=325欧姆,在实际电路当选用330欧姆的电阻即能知足要求。

具体电路如图所示。

图报警电路

2.5.6下载程序电路

本文中将PC机上的程序拷贝到单片机中是通过如图所示的,连接单片机的10和11脚串行接口到插件上,再和PC机之间进行通信。

.

图下载程序电路

2.5.7完整电路

图完整电路

第三节软件设计介绍

程序流程图和实物图

系统程序要紧包括主程序,读出温度子程序,温度转换命了子程序,计算温度子程序,显示刷新温度子程序等。

3.1.1主程序

主程序的要紧功能是负责温度的实时显示、读出并处置DS18B20的测量的当前温度值。

温度测量每1S进行一次,如此能够在1S之内测量一次被测温度,其程序流程见图所示。

图系统主程序流程

3.1.2显示电路框图

显示数据刷新子程序主若是对显示缓冲器中的显示数据进行刷新操作,当最高位显示为0时将符号显示位移入下一名。

程序流程图如图所示。

图显示电路框图

3.1.3读出温度子程序

温度转换命令子程序主若是发温度转换开始命令,当采纳12位分辨率时转换时刻约为750ms,在本程序设计中采纳1S显示程序延时法等待转换的完成。

温度转换命令子程序流程图如图所示。

图温度转换流程图

3.1.4计算温度子程序

计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图所示。

图计算温度流程图

调试

3.2.1硬件调试

硬件调试是利用开发系统、大体测试仪器(万用表、显示器)等,检查系统硬件中存在的故障。

静态调试静态调试是在系统未工作时的一种调试。

步骤如下:

第一步:

目测。

检查外部的各类原器件或是电路是不是有断点。

第二步:

用万用表检测。

先用万用表复核目测中有疑问的连接点,在检测各类电源线与接地线之间是不是有短路现象。

第三步:

加电检测。

给电路板加电,检测所有的插座或是硬件的电源是不是符合要求的值。

第四步:

联机检查。

因为只有单片机开发系统才能完成对用户系统的调试。

动态调试动态调试是在用户系统工作的情形下发觉和排除系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查,动态调试的一样方式是由近及远、由分到合。

由近及远是将信号流经的各器件依照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。

调试时,仞采纳去掉无关元件的方式,逐层调试下去,就会定位故障元件了。

由分到合是指第一依照逻辑功能将系统硬件电路分为若干块,当调试电路时,与该元件无关的器件全数从系统中去掉,如此能够将故障范围限定在某个局部的电路上。

当各块电路无端障后,将各电路逐块加入系统中,再对各块电路功能及各电路之间可能存在的彼此联系进行调试,

3.2.2软件调试

软件调试是通过对程序的汇编(或C语言)、连接、执行来发觉程序中存在的语法错误与逻辑错误并加以排除纠正的进程,查看程序是不是有逻辑的错误。

在对硬件调试后再对软件进行,因为先对硬件检查没问题的情形下再对软件进行调试,编译软件能够通过编译去检查程序上的语法错误,然后能够在它的基础上在对它进行一些修改达到没有错误为止,然后将软件拿到硬件上去运行。

通过仿真后,如无误,方可将程序灌输如单片机中。

3.2.3实物

图调试前电路板

图调试时电路板

图调试后温度显示

第五节个人心得体会

做本课程设计,让我清楚的了解了电子设计大体分三个时期:

设计与计算时期(预设计时期)、安装与调试时期、撰写总结报告时期。

在拿到一个课题时第一要做的事确实是对课题的任务,要求和条件进行认真的分析和研究,找出关键问题,依照关键问题提出实现的原理和方式,并画出原理框图。

提出原理方案是一个关系到设计全局的问题,应普遍搜集与查阅有关资料,广开思路,利用已有的各类理论知识,提出尽可能多的方案,以便作出更合理的选择。

所提出的方案中,对关键部份的可行性,一样应通过实验加以确认。

依照整个课题的技术要求,明确该功能框对单元电路的技术要求,必要时应详细拟定单元电路的性能指标,然后进行单元电路结构形式的选择或设计,但知足功能框图要求的单元电路可能不止一个,因此必需进行分析比较,择优选择。

就如咱们那个课题当初我就提出了三种方案,最后基于简单,可实行选择了现在这种方案。

然后是元器件的选择,元器件的品种规格繁多,性能、价钱和体积各异,选择器件需进行分析比较。

第一考虑知足单元电路对元器件性能指标的要求,第二考虑价钱、货源和元器件体积等,最好是利用实验室已有的元器件。

元器件选好了确实是参数的计算了,值得指出的是,知足性能指标要求的参数值通常不是唯一的,这就要求对各组参数进行综合性的分析,认真考虑元器件之间的参数配合、元器件价钱、体积和货源等因素,恰本地选取一组适合的参数。

在各单元电路确信后,还要认真考虑它们之间的级联问题,如:

电气特性的彼此匹配、信号耦合方式、时序配合,和彼此干扰等问题,保证整个电路能正常工作。

这些都做好后,整体实验电路就出来了,接下来的情形确实是焊接工作,实施焊接的要紧工具是电烙铁,第二还有松香、焊锡、吸水棉、连接线等,焊接的要紧步骤为预备施焊——加热被焊件——加焊锡丝——移开焊锡丝——移开电烙铁。

在焊接电路时必然做到认真认真、一丝不苟。

注意连线正确,焊接规范,尽可能做到整齐美观并保证接触良好;集成块插牢并注意方向;电源和地线不要短路,以幸免人为故障。

最后确实是对电路进行调试。

一个组装好的电子电路不可能不经调试即可知足设计要求。

调试中显现的各类现象和问题,需要咱们提出解决的方法。

只有如此,才能顺利做好调试工作,才能通过这次设计取得实际训练。

在调试当中一样常见故障源为:

接触不良(专门是当电源线接触不良时可能工作不稳固)、焊接错误(错焊、漏焊或虚焊)、接线错误(错接、漏接或短路)、器件本身损坏(需单独测试其功能方能确信确实损坏)、集成块插错位置或方向插反、多余操纵输入端未正确处置(一样若悬空会有较大干扰,应接固定电平)、设计上有缺点(显现预先估量不到的现象,这就需要改变某些元件的参数或改换元器件,乃至需要修改方案)。

在这次设计当中,由于电路设计和焊接工作都超级认真认真的完成,因此在调试当中几乎很少显现电路的问题,因此本设计才顺利的完成了。

我通过实践课的综合练习,课程设计的实际操作,将课堂理论学习贯穿其中,全面系统的把单片机课程的知识联系在一路,做到融会贯通,使我真正感受到理论应用于实践的乐趣。

这次设计是一次锻炼的好机遇,使我在学习和巩固新、老知识的同时,训练了自己综合运用知识的能力、分析解决新问题的能力,同时也提高了自己工程实践能力;在设计的进程中,我与同窗一同窗习、一同讨论,大伙儿群策群力,发扬了团队协作精神。

在课程设计进程中,我发觉了自己的不足,尔后应增强学习,而且增强理论与实践的相结合,把所学的知识应用于实际当中。

 

参考文献

[1]李朝青.《单片机原理及接口技术(第3版)》[M].北京:

航空航天大学出版社,2005

[2]陈世和.《电工电子实习教程》[M].北京:

航空航天大学出版社,2007

[3]孙进生等.《电子产品设计实例教程》[M].北京:

冶金工业出版社,2004

[4]张伟等.《Protel99SE有效教程》[M].北京:

人民电邮出版社,2008

[5]白瑞青,金功伟.《单片机温度巡回监测系统》[J].测试技术学报,98年第12卷第3期

[6]李红刚,方佳,王强,钱双艳.《基于At89C51的八路温度巡回检测系统设计》[J].热带农业工程,2010年第34卷第1期

 

附录

附1

表1元件清单

序号

型号

个数

1

STC89C51(52)RC

1

2

DS18B20

1

3

排阻(1K)

1

4

排针(4)

1

5

.排针

(2)

1

6

按键

1

7

LED显示灯(8×4)

1

8

蜂鸣器

1

9

12MHZ晶振

10

1K电阻

11

电阻

1

12

10K电阻

13

电阻

1

14

30PF电容

2

15

22UF电容

1

16

S9012三极管

1

17

发光二极管

1

注:

封装都为标准封装

 

附2

图1一路传输温度测量系统完整电路图

附3

源程序

#include""

#include""//_nop_();延时函数用

#defineDisdataP0//段码输出口

#definediscanP2//扫描口

#defineucharunsignedchar

#defineuintunsignedint

sbitDQ=P1^0;//温度输入口

sbitDIN=P0^7;//LED小数点操纵

uinth;

uinttemp;

//**************温度小数部份用查表法***********//

ucharcodeditab[16]=

{0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09};

//

ucharcodedis_7[12]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf};

ucharcodescan_con[4]={0xFE,0xFD,0xFB,0xF7};//列扫描操纵字

uchardatatemp_data[2]={0x00,0x00};//读出温度暂放

uchardatadisplay[5]={0x00,0x00,0x00,0x00,0x00};//显示单元数据,共4个数据和一个运算暂用

 

/*****************11us延时函数*************************/

voiddelay(uintt)

{

for(;t>0;t--);

}

/****************显示扫描函数***************************/

scan()

{

chark;

for(k=0;k<4;k++)//4位LED扫描操纵

{

Disdata=0XFF-dis_7[display[k]];//数据显示

if(k==1){DIN=1;}//小数点显示

discan=scan_con[k];//位选

delay(300);

}

}

/****************DS18B20复位函数************************/

ow_reset(void)

{

charpresence=1;

while(presence)

{

while(presence)

{

DQ=1;_nop_();_nop_

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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