粮仓温度检测仪设计副本.docx
《粮仓温度检测仪设计副本.docx》由会员分享,可在线阅读,更多相关《粮仓温度检测仪设计副本.docx(25页珍藏版)》请在冰豆网上搜索。
![粮仓温度检测仪设计副本.docx](https://file1.bdocx.com/fileroot1/2023-1/2/c7c69aac-6706-4e15-9a13-014cd6db0118/c7c69aac-6706-4e15-9a13-014cd6db01181.gif)
粮仓温度检测仪设计副本
辽宁工业大学
单片机原理及接口技术课程设计(论文)
题目:
粮仓温度检测仪设计
院(系):
专业班级:
电气工程及其自动化
学号:
学生姓名:
指导教师:
(签字)
起止时间:
课程设计(论文)任务及评语
院(系):
电气工程学院教研室:
学号
学生姓名
专业班级
电气工程及其自动化
课程设计(论文)题目
粮仓温度检测仪设计
课程设计(论文)任务
该检测仪为手持式设备,粮仓内预先埋设热敏电阻,温度在-10℃~+50℃变化时,其电阻值在10kΩ~1kΩ之间变化。
测温时将设备与热敏电阻对接,检测并显示粮食温度,启动排风设备,当温度超限时及时发出声光报警信号(1只发光二极管和蜂鸣器)。
设计任务:
1.CPU最小系统设计(包括CPU选择,晶振电路,复位电路)
2.传感器选择及其接口电路设计
3.开关量输出接口电路及显示电路设计
4.程序流程图设计及程序清单编写
技术参数:
1.温度检测范围-10℃~+50℃
2.工作电源220V
设计要求:
1、分析系统功能,选择合适的单片机及传感器,温度检测电路设计等;
2、应用专业绘图软件绘制硬件电路图和软件流程图;
3、按规定格式,撰写、打印设计说明书一份,其中程序开发要有详细的软件设计说明,详细阐述系统的工作过程,字数应在4000字以上。
进度计划
第1天查阅收集资料
第2天总体设计方案的确定
第3-4天CPU最小系统设计
第5天传感器选择及其接口电路设计
第6天开关量输出接口电路及显示电路设计
第7天程序流程图设计
第8天软件编写与调试
第9天设计说明书完成
第10天答辩
指导教师评语及成绩
平时:
论文质量:
答辩:
总成绩:
指导教师签字:
年月日
注:
成绩:
平时20%论文质量60%答辩20%以百分制计算
摘要
随着电子信息时代的发展,温度作为一个重要的物理量,是工业生产过程中最普遍、最重要的工艺参数之一,尤其在粮仓保护应用中尤为重要,所以应用于粮仓温度检测系统设计是一个重要的课题。
同时单片机技术已经伸入到各个领域,基于单片机的数字式粮仓温度检测系统与传统温度测试相比,具有读数方便,测温范围广,其输出温度采用液晶显示,并且温度报警可调。
。
本文在阐述测温背景及单片机系统介绍的基础上,详细介绍了测温仪的硬件设计和软件设计的过程,涉及到了曲线实现的算法。
其中,硬件电路设计是以AT89C51单片机和DS18B20数字温度传感器为核心器件,由测温电路、LCD显示电路、时钟电路、报警电路、PC接口电路、键盘电路等设计组成的。
软件设计则采用模块化编程方法,使得程序易于调试和维护,并利用KEIL软件进行C语言编程,实现数据处理、LCD显示、键盘扫描、报警等功能,并用PROTEL99软件画整机电路图。
本设计功能实用,结构简单、抗干扰性强、实用性强,具有一定的工程应用价值。
关键词:
单片机;DS18B20;LCD显示;DS1302;温度检测
第一章绪论
粮仓温度检测仪设计概况
粮食储藏是国家为防备战争、灾荒及其它突发性事件而采取的有效措施,特别对于发展中国家来讲,粮食更是基本的物质基础。
从理论上说,国家掌握的粮食越多越好,但是从现代经济学的角度看,国家只要能控制住一定数量的可灵活支配、质量良好的粮食,便可达到“备战备荒”、宏观调控的目的,还可以节省资金用于发展经济。
而近年来,耕地面积减少、水土流失严重等因素造成提高粮食总产量的空间十分有限;加上人口的增加,粮食尤为重要。
其中,由于农户分散存储,农民储量不当,导致储量虫害霉变,造成粮食损失巨大。
正确的储粮应严格控制其温度,因为,温度高促进粮食的新陈代谢,产生水酒精等,促进粮食发芽;温度过低,温度偏低,则粮食表面水分增高,粮食的湿度到一定上限则会霉变变质。
因此,储粮温度应控制在一定范围内。
大型粮仓有相应的既稳定又精确地粮情智能测控管理系统,该系统复杂且昂贵,而对于小型粮仓来说大材小用;小型的便携式测温仪也只能单点测温且功能单一,不适合小型粮仓的测温工作。
小型粮仓的测温处于中间态,“高不成低不就”。
这便迫使设计出一种实用性强,性价比高且功能多样的智能型小型粮仓测温仪。
这样才能更有效的实现精确农业,真正服务于“三农”。
因此,该设计具有一定的研究意义和使用价值。
本文研究内容
本文提出一种基于单片机系统的小型粮仓测温仪,可测量1路温度数据、报警功能等。
系统以AT89C51单片机为主控器,通过扩展A/D接口,键盘输入,数据处理,数据显示以及系统报警等相关设备实现多路数据采集和监测的原理与结构。
本文在阐述测温背景及单片机系统介绍的基础上,详细介绍了测温仪的硬件设计和软件设计的过程。
其中,硬件电路设计是以AT89C51单片机和DS18B20数字温度传感器为核心器件,由1路测温电路、LCD显示电路、时钟电路、报警电路、PC接口电路等设计组成的。
软件设计则采用模块化编程方法,使得程序易于调试和维护,并利用KEIL软件进行编程,实现数据处理、LCD显示、键盘扫描、报警等功能。
第二章总体方案设计
测温仪有共同的特点:
检测方便、测量点少、功能简单等。
若采用一般的模拟温度传感器采集温度信号,则需要设计信号调理电路、A/D转换及相应的接口电路,才能把传感器输出的模拟信号转换成数字信号送到微处理器处理,电路复杂并且精确度不高。
而随着元件的发展,我们足以能够实现精简电路、丰富功能的设计思想。
针对于小型粮仓测温仪设计,关键在于两部分:
温度传感器的选择和主控单元的设计。
选择何种传感器,选择何种主控单元,选择何种实现方法,这对整个设计都起到至关重要的作用。
2.1传感器的选择
在多点测温系统中,传统的测温方法是将模拟信号远距离采样进行AD转换,而为了获得较高的测温精度,就必须采用措施解决由长线传输,多点测量切换及放大电路零点漂移等造成的误差补偿问题。
采用数字温度芯片DS18B20测量温度,输出信号全数字化。
便于单片机处理及控制,省去传统的测温方法的很多外围电路。
且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。
在0—100℃时,最大线形偏差小于1℃。
DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS1820和微控制器AT89C51构成的温度装置,它直接输出温度的数字信号,可直接与微处理器连接。
这样,测温电路的结构简单,体积小,且由于AT89C51可以带多个DSB1820,因此可以非常容易实现多路测量,轻松的组建传感器网络。
采用温度芯片DS18B20测量温度,可以体现系统芯片化这个趋势。
部分功能电路的集成,使总体电路更简洁,搭建电路和焊接电路时更快。
而且,集成块的使用,有效地避免外界的干扰,提高测量电路的精确度。
所以集成芯片的使用将必成为电路发展的一种趋势。
2.2整体系统方案
本次设计采用AT89C518位单片机实现。
单片机软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制。
而且体积小,硬件实现简单,安装方便。
既可以单独对多个DS18B20控制工作,还可以与PC机通信(辅助功能)。
下位机(单片机)采集多路温度数据,发送到上位机PC。
AT89C51功能没有PC机强大,但是用在测温仪系统中也足够实现简单功能。
在小系统中,AT89C51充分显示其性价比高的特点。
采用的整体方案如图2.1所示:
图2.1系统方案框图
各部分功能如下:
1).单片机系统的主要功能是对传感器输入的信号进行处理,输出温度值,对整个粮仓测温系统进行控制,是整个系统的核心。
2).传感器主要是进行温度的采集,输出数字信号。
3).电源电路的主要功能是为测温仪提供5V直流稳压电源。
4).报警电路的主要功能是在单片机的控制下,当所测温度值超出上限温度和低于下限温度时,喇叭,LED报警信号,提醒管理者。
5).LCD显示电路的主要功能是显示温度值等信息。
6).复位电路的主要作用是使单片机复位;看门狗电路的主要功能是在系统掉电或死机时,保存重要数据和使系统重新工作。
另外,系统还通过RS232实现与PC实时通信,更好的实现人机交互。
2.3复位电路设计
时钟电路单片机在开机时都需要复位,以便于中央处理器以及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。
单片机的复位后时靠外部电路实现的,再时钟电路工作后,只要在单片机的RST引脚时出现24个时钟振荡脉冲以上的高电平,单片机便可以实现初始化状态复位。
51单片机的RST引脚是复位信号的输入端。
例如AT89C51单片机时钟频率为12MHZ,则复位脉冲宽度至少应该为1us.
当AT89C51系列单片机的复位引脚RST出现2个机器周期以上的高电平时,单片机就执行复位操作。
如果RST持续为高电平,单片机就处于循环复位状态。
根据应用的要求,复位操作通常有两种基本形式:
上电复位和上电或开关复位,上电复位要求接通电源后,自动实现复位操作。
图中电容C4和电阻R5对电源+5V来说构成微分电路。
上电后,保持RST一段电平时间,由于单片机内的等效电阻作用,不用图中电阻R5也能达到上电复位的操作功能。
上电或开关复位要求电源接通后,单片机自动复位,并且再单片机运行时间,用开关操作也能确定使单片机复位。
常用的是上电或开关复位电路时上电后,由于C4的充电和反门作用时RST持续一段时间的高电平。
当单片机已在运行当中时,按下复位键SW10复位操作使单片机进入初始化状态,其中使程序计数器PC=0000H,这表明程序从0000H地址单元开始执行,单片机冷机启动后,片内RAM为随机值。
运行中复位操作不改变片内RAM区中的内容,复位电路采用按钮电平复位电路如图
图2.3
2.4时钟电路设计
时钟电路是用来产生AT89C51单片机工作时所必须的时钟信号,AT89C51本身就是一个复杂的同步时序电路,为保证工作方式的实现,AT89C51在唯一的时钟信号的控制下严格的按时执行指令进行工作,时钟的频率影响单片机的速度和稳定性。
通常时钟由于两种形式:
内部时钟和外部时钟。
我们系统采用内部时钟方式来为系统提供时钟信号。
AT89C51内部有一个用于构成振荡器的高增益反向放大器,该放大器的输入输出引脚为XTAL1和XTAL2,他们跨接在晶体振荡器的用于微调的电容,便构成了一个自激励振荡器。
电路中的C1,C2的选择在30PF左右,但电容太小会影响振荡的频率,稳定性和快速性。
晶振频率为在1.2MHZ~12MHZ之间,频率越高单片机的速度就越快,但对存储器要求就高。
为了提高稳定性我们采用温度稳定性好的NPO电容,采用晶振频率为12MHZ.
本次系统的时钟电路设计如图
图2.4
第三章硬件电路设计
3.1传感器的选择
温度是一个基本的物理量,自然界中的一切过程无不与温度密切相关。
温度传感器是最早开发,应用最广的一类传感器。
温度传感器的市场份额大大超过了其他的传感器。
从17世纪初人们开始利用温度进行测量。
在半导体技术的支持下,本世纪相继开发了半导体热电偶传感器、PN结温度传感器和集成温度传感器。
与之相应,根据波与物质的相互作用规律,相继开发了声学温度传感器、红外传感器和微波传感器。
两种不同材质的导体,如在某点互相连接在一起,对这个连接点加热,在它们不加热的部位就会出现电位差。
这个电位差的数值与不加热部位测量点的温度有关,和这两种导体的材质有关。
这种现象可以在很宽的温度范围内出现,如果精确测量这个电位差,再测出不加热部位的环境温度,就可以准确知道加热点的温度。
由于它必须有两种不同材质的导体,所以称之为“热电偶”。
不同材质做出的热电偶使用于不同的温度范围.在多点测温系统中,传统的测温方法是将模拟信号远距离采样进行AD转换,而为了获得较高的测温精度,就必须采用措施解决由长线传输,多点测量切换及放大电路零点漂移等造成的误差补偿问题。
采用数字温度芯片DS18B20测量温度,输出信号全数字化。
便于单片机处理及控制,省去传统的测温方法的很多外围电路。
且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。
在0—100℃时,最大线形偏差小于1℃。
DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS1820和微控制器AT89C51构成的温度装置,它直接输出温度的数字信号,可直接与微处理器连接。
这样,测温电路的结构简单,体积小,且由于AT89C51可以带多个DSB1820,因此可以非常容易实现多路测量,轻松的组建传感器网络。
采用温度芯片DS18B20测量温度,可以体现系统芯片化这个趋势。
部分功能电路的集成,使总体电路更简洁,搭建电路和焊接电路时更快。
而且,集成块的使用,有效地避免外界的干扰,提高测量电路的精确度。
所以集成芯片的使用将必成为电路发展的一种趋势。
。
3.2单片机系统
AT89C51是一种带4K字节FLASH存储器(FPEROM)的低电压、高性能CMOS8位微处理器,俗称单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
3.2.1AT89C51的主要特性
AT89C51是美国ATMEL公司生产的低电压,高性能COMS8位单片机,片内含4Kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元;全静态工作,0Hz~24MHz;32可编程I/O线;两个16位定时器/计数器;5个中断源;可编程串行通断;低功耗的闲置和掉电模式;片内振荡器和时钟电路;片内振荡器和时钟电路。
功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。
3.3AT89C51的引脚功能
图3.3
VCC/GND:
供电电源。
P0口:
可以被定义为数据/地址的低八位,能够用于外部程序/数据存储器。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
标准输入输出I/O口,P1口管脚写入1后,被内部上拉为高,可用作输入。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
既可用于标准输入输出I/O,也可用于外部程序存储器或数据存储器访问时的高八位地址。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
既可以作标准输入输出I/O,也可作为AT89C51的一些特殊功能口
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机械周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
表3-1P3口第二功能如表
第一功能标记
第二功能
P3.0
RXD
串行输入口
P3.1
TXD
串行输出口
P3.2
外部中断0输入
P3.3
外部中断1输入
P3.4
T0
定时/计数器0外部输
P3.5
T1
定时/计数器1外部输入
P3.6
外部数据存储器写选通
P3.7
外部数据存储器读选通
3.4显示电路设计
在LCD显示模块,常见的有LCD1602,LCD12232,LCD12864等。
LCD12864的分辨率达到了128*64,对于16*16的字体可显示4行8列,能满足大部分设备显示的要求。
LCD12864作为一种输出方式,液晶显示最大的特点就是能否实现友好的人机界面,它广泛应用于现代工业控制和智能仪器仪表等领域。
根据设计需要,最终选定的是LCD12864。
3.4.1LCD12864引脚功能
LCD12864引脚有20个,如图3.6所示:
图3.6LCD12864引脚图
VSS:
电源地,0V;
VDD:
电源电压,+5V;
VLCD:
0~-10V,LCD驱动负电压,要求VDD-VLCD=13V;
RS:
寄存器选择信号;
R/W:
读/写操作选择信号;
E:
使能信号;
DB0-DB7:
八位三态并行数据总线;
CS1:
片选信号,CS1=1时。
液晶左半屏显示;
CS2:
片选信号,CS2=1时,液晶右半屏显示;
RES:
复位信号,低有效;
VEE:
-10V,输出-10V的负电压(单电源供电);
BLA:
背光电源,+5V;
BLK:
背光电源,0V。
3.4.2LCD12864的电路连接
LCD的电源共有2组,一组是用于驱动LCD显示,另一组用于背光显示。
输入管脚V0需要接入LCD调整电压来调节对比度,因为对比度过高或过低均会使屏幕无法正常显示。
有些LCD12864的对比度可由单片机操作其寄存器调节,但是在本设计会大大增加软件设计的工作量。
解决方法是:
在VDD和VEE两端接10K—20K电位器,以调节LCD12864的对比度。
DB[7,0]接数据总线,RS、R/W、CS接地址总线,E接读写控制总线,采用与非门匹配时序,如果存在地址冲突,还需统一编址。
LCD12864电路连接图如图3.7所示
图3.7LCD12864与单片机的硬件连接
3.5报警电路设计
本设计采用单片机与警报喇叭相连来显示当前系统所处的状态来报警。
自激只需对驱动口输出驱动电平并通过三极管放大驱动电流就能使喇叭发出声音。
报警电路如图3-15图所示,其中单片机P14口与蜂鸣器相连,在P14与蜂鸣器中间接一个200Ω的电阻起到防止电路过大,保护期间的作用。
与非门作为非门来用,作用是为了防止系统上电时喇叭发出声音,以为系统复位以后,I/O口输出的是高电平。
报警电路图如图3.10所示:
图3.15报警电路
第四章软件设计
4.1软件实现功能综述
整个系统的功能是通过硬件电路和相应软件配合来实现的,硬件电路的设计包含着软件的设计思路,而软件的设计支持着硬件发挥应有的功能。
因此,软件对整个系统来说是至关重要的,是整个系统的核心,整个系统的执行操作都是在软件的协调指挥下进行的。
从软件功能来分类:
一是监控软件(主程序),它是整个控制系统的核心,专门来协调各执行模块和操作者的关系。
二是执行软件(子程序),它是用来完成各种实质性的功能,如测量、计算、显示、通讯等。
本设计中的软件设计采用模块化的设计思路,根据程序要完成的功能将整个程序划分为若干个模块,每一个执行软件也就是一个小的功能模块,既便于调试、连接,又便于移植、修改。
整个系统的程序软件由多个独立的子程序模块组成,它们之间通过软件接口进行连接。
连接的原则是:
模块内数据关系紧凑,模块间数据关系松散,按功能划分模块。
系统程序主要包括主程序、温度采集子程序、温度处理子程序、显示子程序等等。
4.2流程图设计
4.2.1主程序流程图设计
主程序是整个测控系统中最重要的程序,各个子程序都在主程序的协调指挥下运行,是一个顺序执行的循环程序,可以被任何优先级的中断请求所打断。
各个环境参数的测试和控制指令的判断都在各个子程序中进行,主程序的主要功能是实现系统的初始化、响应中断请求、调用子程序,从而实现系统功能。
主程序
应尽可能多地使用调用指令,调用指令使得程序结构清晰明了,无论是修改还是维护都比较方便。
本设计的主程序流程图如图4.1所示
图4.1
4.2.2温度处理子程序设计
从DS18B20读取出的二进制值必须先转换成十进制值,然后再转换为BCD码,调用LCD1602显示器才能用于字符显示。
在本程序中采用默认的12位转换精度时,温度寄存器里的值是以0.0625为步进的,即温度值为温度寄存器里的二进制值乘以0.0625,就是实际的十进制温度值。
然后转换十进制到BCD码,由于百位没有用,默认情况是置为0A,在显示屏上没有任何显示。
温度处理子程序流程图如4-2所示。
图4.2
4.2.3温度采集子程序设计
由于每一片DSl8B20在其ROM中都存有其唯一的48位序列号,在出厂前已写入片内ROM中,主机在进入操作程序前必须逐一接入DS18B20,用读ROM(33H)命令将该DSl8B20的序列号读出并登录。
流程中先控制器启动所有DS18B20进行温度变换,温度转换过程如下:
程序判断温度是否是零下,如果是,则DS18B20保存的是温度的补码值,需要对其低8位取反加一变成原码。
然后再逐一地读出每个DS18B20的温度数据,首先要发出匹配ROM命令(55H),紧接着主机提供64位序列(包括该DS18B20的48位序列号),就将与之匹配的温度值读出到单片机的RAM中这种方式使其所用时间往往小于传统方式。
温度采集子程序流程图如图4-3所示。
图4.3
4.3温度报警子程序设计
粮仓内的温度超过了15℃或者低于0℃,就自动启动报警系统。
若温度都在0℃~15℃之间,则不报警。
温度报警子程序流程图如图4-4所示。
图4.4
4.4LCD显示子程序
图4.5
第五章课程设计总结
粮仓温度过高或过低必然会对粮食的储藏产生不利的影响,造成不必要的经济损失,因此,必须定时对储存粮食进行温度检测。
大型粮仓有相应的庞大粮情监控系统及布线网络,小型便携式测温仪只能单点测温且功能单一,小型粮仓测温处于中间态。
于是,本小型粮仓测温仪应运而生。
本设计选用方便实用的DS18B20作为温度传感器,温度传直接将采集的温度信号输入到单片机进行处理;单片机采用目前低价位但技术十分成熟的AT89C51;仪器的显示部分用LCD12864,显示美观;并且,报警采用的是性价比高喇叭和发光二极管。
同时,编写了相关子程序,实现温度数据采集及处理、报警、显示等功能,实现了对粮仓温度的自动测温,可对温度数据实现自动巡检、单点查询。
温度测量范围为-10℃~50℃,测量精度为±0.1℃。
简而言之,该小型智能粮仓测温仪可以取代以往粗糙的粮仓测温方法,同时也具备旧式测温仪表不可比拟的优点,优化现场作业,提高生产效率,增强粮食储备安全水平。
本文介绍了该小型粮仓测温仪的设计过程,包括硬件电路及其配套的应用软件,其主要内容如下:
1).介绍了国内外温度检测技术的发展;
2).根据实际测量要求制定出了所需元器件的选择使用和连接方案;
3).根据实际使用要求设计了相应的基于单片机的硬件系统,该系统能够实现温度数据采集、温度值的实时显示;
4).设计了和硬件配套的软件流程。
参考文献
[1]梅丽凤等编著单片机原理及接口技术清华大学出版社2009.7
[2]赵晶主编Prote199高级应用人民邮电出版社,2000
[3]于海生编著微型计算机控制