《基于单片机的粮库温度控制系统》毕业论文_第1页
《基于单片机的粮库温度控制系统》毕业论文_第2页
《基于单片机的粮库温度控制系统》毕业论文_第3页
《基于单片机的粮库温度控制系统》毕业论文_第4页
《基于单片机的粮库温度控制系统》毕业论文_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 毕业论文设计 题 目 粮仓温度智能检测系统设计 系部名称 信息工程系 专 业 09 电子信息工程 学生姓名 姜姝婷 指导教师 毕维峰 吉林省经济管理干部学院吉林经济职业技术学院学生毕业论文设计评定表吉林省经济管理干部学院吉林经济职业技术学院论文题目:粮仓温度智能检测系统设计教师评语:建议成绩 指导教师签字 年 月 日 辩论委员会评语:评定成绩 主任签字 年 月 日内容提要“国以民为本,民以食为天,“兵马未动,粮草先行,这都充分的说明了粮食对国建,对人民的重要性。本文研究的是粮仓的温度智能检测系统,在设定一个温度报警阀值后,把温度传感器放在需要测量的粮食中,温度的检测,显示,报警全部都自动完成

2、,不需要人工操作。本设计采用以MCS-51单片机的STC89C52芯片为核心,利用数字式的温度传感器DS18B20在线检测仓库中粮食的实时温湿度,在辅以必要的外围电路,设计了一个简易的温度测量系统。本系统的软件采用MCS-51单片机的汇编语言进行编程,整个系统能够完成实时温度显示、超限报警、报警值设定等功能。经调试,系统工作稳定、可靠性强。关键词:STC89C52单片机;温度传感器;软件设计 目 录 TOC o 1-3 h z HYPERLINK l _Toc324805713 第1章 绪论 PAGEREF _Toc324805713 h 3 HYPERLINK l _Toc324805714

3、 1.1 意义和研究背景 PAGEREF _Toc324805714 h 3 HYPERLINK l _Toc324805715 1.2 国内外开展状况 PAGEREF _Toc324805715 h 3 HYPERLINK l _Toc324805716 1.3 系统的设计要求 PAGEREF _Toc324805716 h 4 HYPERLINK l _Toc324805717 1.4 主要研究内容 PAGEREF _Toc324805717 h 4 HYPERLINK l _Toc324805718 第2章 系统分析 PAGEREF _Toc324805718 h 5 HYPERLINK

4、 l _Toc324805719 2.1 总方案设计 PAGEREF _Toc324805719 h 5 HYPERLINK l _Toc324805720 2.2 显示模块的选着与论证 PAGEREF _Toc324805720 h 5 HYPERLINK l _Toc324805721 静态显示方案 PAGEREF _Toc324805721 h 5 HYPERLINK l _Toc324805722 动态显示方案 PAGEREF _Toc324805722 h 5 HYPERLINK l _Toc324805723 2.3 编程语言选择方案 PAGEREF _Toc324805723 h

5、 6 HYPERLINK l _Toc324805724 汇编语言 PAGEREF _Toc324805724 h 6 HYPERLINK l _Toc324805725 2.3.2 C语言 PAGEREF _Toc324805725 h 6 HYPERLINK l _Toc324805726 第3章 系统软件设计 PAGEREF _Toc324805726 h 7 HYPERLINK l _Toc324805727 3.1 系统硬件工作原理 PAGEREF _Toc324805727 h 7 HYPERLINK l _Toc324805728 3.2 系统软件设计概述 PAGEREF _To

6、c324805728 h 7 HYPERLINK l _Toc324805729 3.3 主程序模块设计 PAGEREF _Toc324805729 h 7 HYPERLINK l _Toc324805730 3.4 温度采集模块程序设计 PAGEREF _Toc324805730 h 8 HYPERLINK l _Toc324805731 3.5 数据显示模块程序设计 PAGEREF _Toc324805731 h 13 HYPERLINK l _Toc324805732 3.6 超限制报警模块程序设计 PAGEREF _Toc324805732 h 17 HYPERLINK l _Toc3

7、24805733 第4章 系统调试 PAGEREF _Toc324805733 h 19 HYPERLINK l _Toc324805734 4.1 系统调试用到的工具 PAGEREF _Toc324805734 h 19 HYPERLINK l _Toc324805735 硬件调试软件Proteus软件 PAGEREF _Toc324805735 h 19 HYPERLINK l _Toc324805736 软件调试软件Keil软件 PAGEREF _Toc324805736 h 20 HYPERLINK l _Toc324805737 4.2 系统测试 PAGEREF _Toc324805

8、737 h 21 HYPERLINK l _Toc324805738 软件设计分析 PAGEREF _Toc324805738 h 21 HYPERLINK l _Toc324805739 主要指标测试 PAGEREF _Toc324805739 h 21 HYPERLINK l _Toc324805740 测试结果 PAGEREF _Toc324805740 h 21 HYPERLINK l _Toc324805741 第五章 结论 PAGEREF _Toc324805741 h 22 HYPERLINK l _Toc324805742 致 谢 PAGEREF _Toc324805742 h

9、 23 HYPERLINK l _Toc324805743 参考文献 PAGEREF _Toc324805743 h 24 HYPERLINK l _Toc324805744 附 录 PAGEREF _Toc324805744 h 25 绪论意义和研究背景粮食国家为了预防战争,灾难以及突发事件的战略储藏。储粮也是为了保证非农人口的粮食需求、调节国内粮食供求平衡、稳定粮食市场价格、应对重大自然灾害而采取的有效措施。所以粮食的储蓄环境很重要。根据国家相关法规,必须定期抽样粮仓各点的温度,以便及时采取相应措施,防止粮食变质。如果大型粮仓的温度测量不能按时完成,那么有可能造成大量粮食的浪费。据有关资料

10、统计,中国每年因粮食变质而损失的粮食达数亿斤,直接造成的经济损失是惊人的。影响粮食平安储藏的主要参数是粮食的温度和湿度,这两者之间又是互相关联的,粮食在正常储藏过程中,含水量一般在12%以下为平安状态,不会产生温度突变,一旦粮库进水、结露等使粮食的含水量到达20%以上时,由于粮食受潮,胚芽萌发,新陈代谢加快而产生的呼吸热,使局部粮食温度突然升高,必然引起粮食“发烧和霉变,并可能形成连锁反响,从而造成不可挽回的损失。因此设计出一种经济实用的粮库粮情温湿度智能检测系统是非常必要的。国内外开展状况粮情检测局监控系统范畴,近年来,由于传感器技术、计算机技术、超大规模集成电路技术和网络通信技术的开展,使

11、监控系统广泛应用于工农业生产领域,因此,粮情检测技术的研究在软、硬件等方面都有了一定的进展。早期粮情检测主要采用温度计测量法,它是将温度计放入特制的插杆中,根据经验插在粮堆的多个测温点,管理人员定期拔出读数,确定粮温的高、低,决定是否倒掉粮食。这种方法对储粮有一定作用,但是由于温度计精度、人工读数的认为因素等原因,温度检测不仅速度慢,而且精度低,抽样不彻底,局部粮温过高不易被及时发现,导致因局部粮食发霉变质引起大面积坏粮的情况时有发生。随着科技的开展,采用电阻式温度传感器、采样器、模数转换器、报警器等组成的储粮监测系统出现,它可对各粮库的各个测温点进行巡回检测。检测速度、精度大大提高,降低了劳

12、动强度,但由于电阻传感器的灵敏度低,致使检测精度、系统可靠性还不够理想。至1990年,粮情检测系统有了很大的改善和提高,系统在布线上采用矩阵式布线技术,简化了数据采集局部的线路,在传感器方面应用了半导体、热电偶等器件;在线路传输上采用了串行传输方式,从而减少了传输线根数;采用单片机进行数据处理,并采用各种手段提高数据传输及检测速度,通过硬件技术的结合,检测精度和可靠性较以前有了很大的提高。但温度传感器的线性度差,系统的检测精度仍然不理想,无法大面积推广。近年来,随着单片机功能的日益强大和计算机的广泛应用,粮情检测的准确性、稳定性要求越来越高。寻找最正确配置和最好的性价比成为粮情监测研究的热点。

13、国外在粮情监控技术上已到达了很成熟的地步,高科技数字式传感器广泛应用于粮情检测系统。这种传感器采用了半导体集成电路与微控制器最新技术,在一个管芯上集成了半导体温度检测芯片、数据信号转换芯片、计算机接口芯片、存储芯片等,除完成温度检测功能外,还可完成预置范围温度、报警、多路AD转换、温度补偿等功能。由于数字温度传感器直接传出数字量,从而解决了温度信号长距离传输问题及传输过程中因干扰和衰减而导致的精度低等问题。目前,国内出现了丰富的数值传感器配套产品。如远程控制模块、中继器、接插器、分线器等,技术也比拟成熟。系统的设计要求主要任务是在系统的硬件电路的根底上,利用MCS-51单片机的汇编语言,实现1

14、粮食仓库的温度实时测量功能;2将测到的温度含量显示在4位数码管上;3利用假设干个开关键设置温度的标准值;4实现系统温度超限报警功能。主要研究内容设计相应的信号采集电路、执行电路等硬件电路;实现各环境要素的自动监测;通过单片机汇编语言编制数据采集、分析处理、显示、修改、参数设置、控制等程序功能模块;研究装置的软硬件抗干扰措施、提高系统工作的可靠性和稳定性。系统分析总方案设计将系统分为两个局部,一个是由温度传感器组成局部,另一个是由单片机和LED数码管组成的主控与显示局部。如下图DS18B20温度检测电路将检测的数送到单片机,单片机对接受到的数据进行处理并送到LED数码管,5V稳压电源给各个局部供

15、电。系统组成框图如图2.1所示。显示模块单片机DS18B20温度检测电源图2、1系统组成框图显示模块的选着与论证LED数码管要正常显示,就要用驱动电路来驱动数码管的各个断码,从而显示出需要的数位,因此根据数码管的驱动方式不同,可以分为静态式和动态式两类。静态显示方案对于单片机的I/O接口进行驱动,静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O接口多。动态显示方案数码管动态显示界面是单片机中应用最广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示比划“a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共级COM增加位元选通控制电路,位元选通由各独立的I/O线控制

16、,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟哪个数码管会显示出字形,要取决于单片机对位元选通COM端电路的控制,所以要将需要显示的数码管的选通控制翻开,该位元就显示出字形,没有选通的数码管就不会亮。透过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位元数码管的点亮时间为12ms暂留现象及发光二极体的余辉效应。动态显示能够节省大量的I/O接口,而且功耗更低。编程语言选择方案汇编语言汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。汇编语言,作为一门语言,对应于高级语言的编译器,需要一

17、个“汇编器来把汇编语言源文件汇编成机器可执行的代码。汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序。 C语言C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言。很多优秀的应用程序也都是用C语言开发出来的,它是一种很有开展前途的高级程序设计语言。汇编语言是低级语言,在编写程序的时候会把根据不同的情况指定使用不同的寻址方式,能够对内存和CPU里的通用存放器直接操纵。不同的计算机系列会有不

18、同的汇编语言。我选择了C语言进行编写。 系统软件设计系统硬件工作原理该系统的硬件电路有以下几局部电路模块组成:单片机、温度传感器检测电路、数码管显示电路、键盘开关电路、蜂鸣器报警电路等局部。系统硬件框图如图3.1所示。S18B20温度传感器STC89C52单片机串行LED显示键盘报警电路图3.1 系统硬件框图系统软件设计概述本章在硬件电路设计的根底上,全面阐述各局部软件的设计思想和具体实现方法。整个软件采用模块化设计结构,并利用汇编语言编制。整个程序由主程序、显示、报警、测量等子程序模块组成。主程序模块设计主程序框图如图3.2所示。程序初始化包括存放器设置、堆栈设置和相关单元清零设置等。主程序

19、存放于89C52中,启动后循环执行,不停地进行采样计算,得出实际温度值。并与设定值进行比拟,实现声光报警信号。在主程序是单片机的主体,整个单片机端系统软件的功能的实现都是在其中完成的。软件设计的只要思路是将采集、接收、显示灯功能编成独立的模块。开 始Key1键按下?显示温度结 束是否图3.2主程序流程图温度采集模块程序设计根据DS18B20的通讯协议,主机单片机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预订的操作。复位要求主CPU将数据线下拉500微秒,然后释放,

20、当DS18B20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主CPU收到此信号表示复位成功。开始初始化初始化是否成功?从18B20读字节向18B20写字节读取温度结束是否图3.3温度检测程序流程图DS18B20中的温度传感器可完成对温度的测量,以12为转化为例:用16为符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位。 图3.4DS18B20温度值这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘以0.0625即可得到实际温度;如果温度小于

21、0,这5位为1,测到的数值需要取反加1再乘以0.0625即可得到实际温度例如+125的数字输出为07D0H,+25.0625的数字输出为0191H-25.0625的数字输出为FF6FH,-55的数字输出为FC90H。/*/*温度测量*/*/*初始化DS18B20 */*/Init_DS18B20(void) DQ=1; /DQ 复位 Delay(8); /稍做延时 DQ=0; /单片机将DQ拉低 Delay(90); /精确延时 大于 480us DQ=1; /拉高总线 Delay(8); Presence=DQ; /如果=0那么初始化成功 =1 那么初始化失败 Delay(100); DQ=

22、1; Returm(presence);/返回信号,0=presence,1=no presence/*读一个字节 */*/ Read One Char(void)unsigned char i=0;unsigned char dat=0;for(i=8;i0;i-) DQ=0;/给脉冲信号 dat=1; DQ=1;/给脉冲信号 If(DQ) dat |=0 x80; Delay(4); Return(det)/* 写一个字节 */*/ Write One Char(unsigned char det) Unsigned char i=0; for(i=8;i0;i-) DQ=0; DQ=da

23、t&0 x01; Delay(5); DQ=1; Dat=1; /* 读取温度 */*/ Read_Temperature(void) Init_DS18B20() Write One Char(0 xCC); /跳过读序号列号的操作 Write One Char(0 xBE); /读取温度存放器 temp_data0=Read One Char (); /温度低8位 temp_data1=Read One Char (); /温度高8位/* 数据转换与温度显示 */*/ Disp_Temperature() display4=temp_data0&0 x0f; display0=ditabd

24、isplay4+0 x30; /查表得小数位的值 display4=(temp_data0&0 x0f)4)|(temp_data1&0 x0f)=0 x32&display1=0 x31) BEEP=1; Else BEEP=0; 数据显示模块程序设计在日常生活中,大家对液晶显示器并不陌生。液晶显示模块已经作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是字、专用符号和图形。在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、LED数码管、液晶显示器在单片机系统中应用液晶显示器作为输出器件有以下几个优点:显示质量高、数字式接口、体积小、

25、重量轻、功耗低、LCE,ED四位七段数码管,主要技术参数:显示容量:162个字符;芯片工作电压:4.5-5.5V;工作电流:2.0mA5.0V;模块最正确工作电压:5.0V;字符尺寸:2.954.35WHmm。开始是否忙碌?写指令写数据 设置显示初始化显示结束否是图3.6液晶显示程序流程图/*/*检查LCD忙状态 /*lcd_busy为1时,忙,等待lcd_busy为0时,闲,可写指令与数据。*/*/Bit lce_busy() Bit resylt; LCD_RS=0; LCD_RW=1; LCD_EN=1; delayNOP(); result=(bit)(P0&0X80); LCD_EN

26、=0; Return(result);/*写指令数据到LCD/*RS=L,RM=L,E=高脉冲,D0-D7=指令码。 */*/Void lcd_wcmd(char cmd) While(lcd_busy(); LCD_RS=0; LCD_RW=0; LCD_EN=0; _nop_(); _nop_(); PO=cmd; delayNOP(); LCD_EN=0;/*/*些显示数据到LCD */*RS=H,RW=L,E=高脉冲,D0-D7=数据。 */*/Void lcd_wdat(uchar dat) While(lcd_busy(); LCD_RS=1; LCD_RW=0; LCD_EN=0

27、; P0=dat; DelayNOP(); LCD_EN=0;/* LCD初始化设定/*/Void lcd_init() Delay1(15); Lcd_wcmd(0 x01); /去除LCD的显示内容 Lcd_wcmd(0 x38); /162显示,57点阵,8位数据 Delay15; Lcd_wcmd(0 x38); Delay15; Lcd_wcmd(0 x38); Delay15; Lcd_wcmd(0 x0c); /显示开,关光标 Delay15; Lcd_wcmd(0 x06); /移动光标 Delay15; Lcd_wcmd(0 x01); /去除LCD的显示内容 Delay15

28、;/* 设定显示位置 */*/Void lcd_pos(uchar pos) Lcd_wcmd(pos | 0 x80); /数据指针=80+地址变量/*自定义字符写入CGRAM */*/Void writrtab() Unsihned char I; Lcd_wcmd(0 x40); /写CGRAM For (i=0,i4)|(temp_data1&0 x0f)=0 x32&display1=0 x31) BEEP=1; Else BEEP=0; 系统调试系统调试用到的工具硬件调试软件Proteus软件Proteus ISIS是英国Labcenter公式开发的电子线路分析与实物仿真软件。它运

29、行Windows操作系统上,可以仿真、分析SPICE各种模拟器件和集成电路,该软件的特点是:实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电子仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能:有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个

30、变量、存放器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能及其强大。 图4.1 Proteus ISIS 的工作界面双击桌面上的 ISIS 6 Professional 图标或者单击屏幕左下方的“开始“程序 “Proteus 6 Professional “ISIS 6 Professional。Proteus ISIS 的工作界面是一种标准的Windows界面。包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏

31、、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。在图形编辑窗口内完成电路原理图的编辑和绘制。为了方便作图坐标系统CO-ORDINATE SYSTEM。 ISIS中坐标系统的根本单位是10nm,主要是为了和Proteus ARES保持一致。但坐标系统的识别read-out单位被限制在1th。坐标原点默认在图形编辑区的中间,图形的坐标值能够显示在屏幕的右下角的状态栏中。点状栅格The Dot Grid与捕捉到栅格Snapping to a Grid。编辑窗口内有点状的栅格,可以通过View菜单的Grid命令在翻开和关闭间切换。点与点之间的间距由当前捕捉的设置决定。捕捉的尺度可以由View菜单的Snap命令设置,或者直接使用快捷键F4、F3、F2和CTRL+F1。如图4.2操作界面所示。 图4.2 操作界面软件调试软件Keil软件Keil uVision2是目前使用广泛的单片机开发软件,它集成了源程序编辑和程序调试于一体,支持汇编、C、PL/M语言。系统测试软件设计分析主程序进行键盘扫描,单片机根据判断键盘哪个键按下,显示温度。如果key1键按下就调用温度检测程序,单片机对18B20进行初始化,成功那么读字节,在写入字节,读取温度数据送到LED数码管显示。主要指标测试本系统主要指标就在于所测得的温度的数据是否到达了要求,本

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论