版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、信 息 工 程 学 院 课 程 设 计 报 告设计题目: 花房温度控制电路设计 名 称: 电子信息专业综合课程设计 班 级: 姓 名: 学 号: 设计时间: 至 指导教师: 评 语: 评阅成绩: 评阅教师: 一、课程设计的性质和目的通过课程设计,进行硬软件设计的方法和技能训练,巩固在课堂上学到的有关硬件电路设计和相应程序设计的基本知识和基本方法,通过具体课题的训练,达到能独立阅读、查阅资料、软硬件设计和调试完善特定功能的目的。二、课程设计的要求1、遵循硬件设计模块化。2、要求通过自制PCB板、或万能板、或面包板设计实物。3、程序设计结构化。4、要求程序结构合理,程序简明易懂,有必要的注释。三、
2、主要仪器设备及软件PC机、Keil软件、STC下载软件、ALTIUM DESINGERS09(PROTEL99)、Proteus绘图软件及仿真等。四、课程设计题目及要求 题目:花房温度控制电路设计 要求:实时显示花房温度并设置温度上下限,超过设置实现声光报警五、课题分析及设计思路1系统的总体设计1.1 系统设计要求本系统以温度作为主要的控制参数,来控制整个系统设计,其主要功能有:(1)实现对花房温度的实时监测、采集,测量空间的多点温度数值。由单片机对数据进行循环监测采集、数值处理以及存储,实现花房的自动化控制多点监测(2)对监测采集的数据超过预设置数值的及时报警系统,及自动控制系统能够完全做出
3、温度的参数处理,将花房的温度调节到开始设置的参数数值附近。1.2 系统工作原理及总体设计1.2.1 总体设计本系统以单片机为核心控制元器件,采用温度、检测及控制技术,以温度传感器,构成自动化温度、控制系统。可分为温度、及数码管显示模块,报警系统,以及温度,复位电路和晶振模块。温度传感器采集模块设置温度上下限复位电路及晶振模块数码管显示模块报警系统温度控制STC89C52单片机图1系统结构框图1.2.2 工作原理利用单片机控制温度传感器,并反馈给单片机作出相应的分析和处理,而单片机将处理的结果显示在设备的数码管显示器上。当花房的温度不在设定适宜范围情况时,单片机控制报警器报警,同时向温度调节器发
4、送信息,控制调节器调节花房温度,使其回归正常范围。当花房空气温度超过设定值时,温度控制电路就会自动控制电路,打开排气扇设置在花房顶部的喷雾设备的进行一段时间的降温,而当温室温度低于设定值时,则通过单片机自动开启加热设备,使温度值达到适宜的范围。2硬件简介2.1.1 复位电路复位引脚(Reset)为第 9 脚,当此引脚连接高电平超过 2 个机器周期,即可产生复位的动作。图2 复位电路原理图2.1.2 晶振电路晶振电路是用来给单片机提供时钟信号的。晶振有两种其中包含有源晶振与无源晶振,是时钟电路中最重要的部件之一,晶振的作用是向IC等部件提供相应的基准频率。图3 晶振电路原理图2.1.3 键盘电路
5、图4 键盘电路这个系统采用的键盘电路是利用最简单的低电平扫描方式实现的,利用开关的一端与单片机I/O口相连接方式,另一端是用接地的方式,用单片机来检测I/O口是否是低电平,此目的是来判断键盘是否被按下。2.2 温度传感器2.2.1 DS18B20温度传感器的特性DS18B20温度传感器的特点1. 只需要一个端口I/O就能够实现通信。2.在DS18B20中的每个器件上都有独一无二的序列号。3.在实际的应用中实现检测温度是不用任何外部元器件的。4.每次把温度转换为数字需要的时间为200ms。5.测量温度范围在55oC到125oC之间,精确度在0.5度。6.数字温度计的分辨率用户可以从实现9位到12
6、位选择方式。7.其内部可以有温度上、下限设置报警。8.具有负压特性,当电源极性给接反时,温度计是不能正常工作的,但也不会由于发热而被烧毁5。2.2.2 DS18B20的引脚及指令表GND:电源地DQ:为数字信号输入/输出端VDD:为外接供电电源输入端(在寄生电源线方式时接地)表1 DS18B20的ROM指令表指令约定代码功能读ROM33H读DS18B20温度传感器ROM中的编码符合ROM55H发出指令之后,接着发出64位ROM编码,只有访问单总线上与DS18B20相对应编码才能做出响应搜索ROMOFOH是为了确定在同一总线上DS18B20的数量与识别64位的ROM地址,是为各元器件工作做准备7
7、跳过ROMOCCH忽略64位ROM中地址,可以直接向DS18B20发送温度改变指令告警搜索命令OECH在其工作后只有温度超过预先设定值的最大温度或最小温度时才会发出报警响应2.3 数码管显示4位一体数码管,其内部段已连接好,引脚如图所示(正面朝自己,小数点在下方)。a、b、c、d、e、f、g、dP为段引脚,1、2、3、4分别表示四个数码管的位。 。 。 。 。 。1 a f 2 3 b。 。 。 。 。 。e d dp c g 4即:12-9-8-6为公共端,A-11 B-7 C-4 D-2 E-1 F-10 G-5 DP-3 图5 数码管引脚图3 硬件系统设计3.1 温度测试电路由于在本系统
8、中采用了DS18B20数字温度传感器9,所以后续电路简单,只需将传感器的数据输入/输出管脚直接接到单片机I/O口,通过单片机的控制DS18B20传感器并实时读取花房空气温度。数字温度传感器的测量电路如下图:图6 温度传感器电路3.2 报警电路图7 报警电路原理图当花房的空气温度不在设定值范围时蜂鸣器就会自动报警并且LED灯同时也会亮以告知工作人员,此时花房的温度不在设定的范围值之内11。3.3 继电器电路图8继电器驱动电路原理图图中的三极管是作开关使用的,当单片机输出高电平1时,三极管就会导通,继电器表现出吸合的状态。当单片机输出低电平0时,继电器就会断开12。二极管是作为保护使用的,是防止继
9、电器产生的感应电动势烧坏三极管或继电器。4 软件设计开始4.1 温度控制流程图温度是否在设定适宜范围值内DS18B20采集温度数据温度是否低于设定适宜范围值内温度是否高于设定适宜范围值内否加热设备继电器打开加热设备继电器开始工作排气扇及喷雾设备继电器打开排气扇及喷雾设备继电器开始工作是是否是结束图9温度控制流程图单片机通过温度传感器DB18B20检测、采集花房空气温度,而当花房温度低于设定适宜范围值时,则通过单片机控制继电器驱动打开加热设备工作,使花房温度值达到适宜的范围值;当空气温度超过设定适宜范围值时13,就通过继电器控制电路,打开排气扇配合设置在花房顶部的喷雾设备的进行一段时间的降温,使
10、花房温度达到设定适宜范围值内。如果检测的温度在适宜范围,单片机将维持现状。4.2 键盘扫描流程图 开始 扫描键盘 K4是否按下 开始设置 1次 设置温度上限 K4按下次数 2次 设置温度下限 当前设置加1 是 K1是否按下 K2是否按下 否 否 是 当前设置减1 当前设置不变 按下K3设置完成确定 结束图10键盘扫描流程图键盘扫描程序开始时先扫描按键,判断是否有按键被按下,确定有按键被按下时判断被按下的是哪一个按键,如果是按键K4,系统将开始设置,这时按键K1和K2被启用,进入哪个参数的设置取决于按键K4被按下的次数,K4被按下1次,进入温度上限设置,K4被按下2次,进行温度下限设置,每次按下
11、K1,当前设置的参数值就加一。每次按下K2,当前设置的参数值就减一。如果是K3键被按下,就确定设置完成。6、 程序主要代码与分析(关键代码要有注释):见附录(2)七、调试与分析见附录(1)8、 心得体会此花房控制系统设计综合利用单片机技术、传感器技数码管显示等知识,完成了基于单片机的温度和显示装置的设计。系统简单介绍了硬件的组成和相应的设计方法,并利用单片机(STC89C52)C语言完成了系统软件的相应设计,具体系统的相应运行过程如下:(1)把传感器技术应用到单片机控制系统中,实现了对环境温度的数据采集和读取。(2)利用数码管的显示完成了花房温度及显示电路的设计。 (3)外接蜂鸣器报警模块,花
12、房温度不在设定范围时系统自动报警及时告知工作人员作出相应的处理。 另外此次课程设计是在常老师的细心指导以及全力支持下完成的。本花房温度控制系统的设计成功与常老师的帮助是不可分开的,再加我自己的努力才能够很好的完成预想的目标。常老师渊博的知识,对新知识及新事物独特的理解以及敏捷的思维、敏锐的观察力让我受益匪浅,他对工作的敬业和对学术的一丝不苟的精神,这些对我的学习态度有莫大的帮助,是我一生学习的榜样。他给与我很大的帮助,使我有了很大的的提高、受益不少,这对于我以后的工作和学习都是有益的,同时感谢他耐心的辅导。附录 1分析:使用键盘设置报警温度的上下限,当实时温度超过设置温度的上下限时,声光报警器
13、工作,通知工作人员并自动的启动制冷或加热设备,使温度趋于设置的温度范围内- 15 -附录2#include<reg52.h>#include <intrins.h>#define uchar unsigned char #define uint unsigned intsbit DATA = P11; /DS18B20接入口uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;/共阴极字型码int temp; /温度值int ss;
14、/中间的一个变量int dd;int j;uchar data b;/定时器中断次数uchar data buf4;/字型显示中间变量int alarmH=320; /默认报警值int alarmL=100;/定义开关的接入口sbit k1=P25;/+sbit k2=P26;/-sbit k3=P27;/确认sbit k4=P24; /切换sbit relay=P37;sbit bell=P10; /蜂鸣器sbit HLight=P12; /正温指示灯sbit LLight=P13; /负温度指示灯sbit warn=P14; /报警指示灯sbit Red=P16; /温度上限设置指示灯sb
15、it Green=P17; /温度下限设置指示灯bit set=0;/初始化bit Flag=0;/设置标志int n;/函数的声明区void key_to1();void key_to2();void delay(uint); void key();void Show();/函数的定义区/*延时子函数*/void delay(uint num)while(num-) ;/DS18b20温度传感器所需函数,分为初始化,读写字节,读取温度4个函数Init_DS18B20(void) /传感器初始化 uchar x=0; DATA = 1; /DQ复位 delay(10); /稍做延时 DATA
16、= 0; /单片机将DQ拉低 delay(80); /精确延时 大于 480us /450 DATA = 1; /拉高总线 delay(20); x=DATA; /稍做延时后 如果x=0则初始化成功 x=1则初始化失败 delay(30);ReadOneChar(void) /读一个字节uchar i=0;uchar dat = 0;for (i=8;i>0;i-) DATA = 0; / 给脉冲信号 dat>>=1; DATA = 1; / 给脉冲信号 if(DATA) dat|=0x80; delay(8); return(dat);WriteOneChar(unsign
17、ed char dat)/写一个字节 uchar i=0; for (i=8; i>0; i-) DATA = 0; DATA = dat&0x01; delay(10); DATA = 1; dat>>=1; delay(8);int ReadTemperature(void) /读取温度uchar a=0;uchar b=0;int t=0;float tt=0;Init_DS18B20();WriteOneChar(0xCC);/ 跳过读序号列号的操作WriteOneChar(0x44); / 启动温度转换Init_DS18B20();WriteOneChar(
18、0xCC); /跳过读序号列号的操作WriteOneChar(0xBE); /读取温度寄存器等(共可读9个寄存器) 前两个就是温度a=ReadOneChar();/低位b=ReadOneChar();/高位t=b;t<<=8;t=t|a;tt=t*0.0625;t= tt*10+0.5; return(t);void display00() /*显示负值子函数 dd=-(temp-1); buf1=dd/100;buf2=dd/100;buf3=dd%100/10;buf0=dd%10;/动态显示for(j=0;j<5;j+) P2=0xff; / 初始灯为灭的 P0=0x0
19、0;P2=0xfd; /显示小数点P0=0x80; /显示小数点delay(100); P2=0xff; / 初始灯为灭的 P0=0x00; P2=0xf7; /片选LCD1 P0=0x40;delay(100); P2=0xff; P0=0x00; P2=0xfb; /片选LCD2 P0=tablebuf2;delay(100);P2=0xff; P0=0x00;P2=0Xfd;/片选LCD3P0=tablebuf3;delay(100);P2=0xff; P0=0x00;P2=0Xfe;P0=tablebuf0;/片选LCD4delay(100);P2=0xff; /显示正值子函数void
20、 display()buf1=temp/1000;/显示百位buf2=temp/100%10;/显示十位buf3=temp%100/10;/显示个位buf0=temp%10; /小数位for(j=0;j<3;j+) P2=0xff; / 初始灯为灭的 P0=0x00;P2=0xfd; /显示小数点P0=0x80; /显示小数点delay(300); P2=0xff; / 初始灯为灭的 P0=0x00; P2=0xf7; /片选LCD1 P0=tablebuf1;delay(300); P2=0xff; P0=0x00; P2=0xfb; /片选LCD2 P0=tablebuf2;dela
21、y(300);P2=0xff; P0=0x00;P2=0Xfd; /片选LCD3P0=tablebuf3;delay(300);P2=0xff; P0=0x00;P2=0Xfe;P0=tablebuf0;/片选LCD4delay(300);P2=0xff;void key()/按键扫描子程序 if(k1!=1) delay(20); if(k1!=1) while(k1!=1) key_to1(); for(n=0;n<8;n+) Show(); if(k2!=1)delay(20);if(k2!=1) while(k2!=1) key_to2(); for(n=0;n<8;n+)
22、 Show(); if(k3!=1)TR0=1; /复位,开定时 temp=ReadTemperature();if(k4!=1) delay(20); if(k4!=1) while(k4!=1); set=!set; if(set=0) Red=0;Green=1; else Green=0;Red=1; void key_to1() TR0=0; /关定时器 temp+=10;if(temp>=1100) temp=-550; if(set=0)alarmH=temp;else alarmL=temp;void key_to2() TR0=0; /关定时器 temp-=10;if(temp<=-550) temp=1100; if(set=0) alarmH=temp;else alarmL=temp;void alarm(void)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国科学院大学招聘备考题库及完整答案详解一套
- 遵守行政机关考勤制度
- 宁夏银行2026年度校园招聘备考题库及答案详解(新)
- 2025年民生银行天津分行社会招聘备考题库带答案详解
- 2025年成都银行招聘总行专职信用审批人等岗位7人备考题库带答案详解
- 西双版纳边境管理支队2025年四季度备考题库招聘边境管控专职辅警(含答案详解)
- 上高县公安局2025年治安巡防队员招聘备考题库完整参考答案详解
- 中国电力科学研究院有限公司2026年高校毕业生招聘200人的备考题库含答案详解
- 2025年福州市鼓楼区司法局面向残疾人定向招聘司法协理员备考题库带答案详解
- 中国药科大学《有机化学》期终试卷及答案
- 语文●全国甲卷丨2023年普通高等学校招生全国统一考试语文试卷及答案
- 康养银发产业“十五五规划”研究报告
- T/IESB 002-2020景观照明设施运行维护费用估算
- T/GIEHA 035-2022医院室内空气质量要求
- 卧床患者生活护理课件
- 高考生物 考前专项拔高提分练 二 必考题型二 遗传变异
- 五年级上册数学计算题每日一练(共20天带答案)
- 2025春季开学第一课安全教育班会课件-
- 课件:《科学社会主义概论(第二版)》导论
- 雨污水管网施工危险源辨识及分析
- 供排水维修安全培训
评论
0/150
提交评论