基于单片机冬暖式温室大棚环境监测系统设计_第1页
基于单片机冬暖式温室大棚环境监测系统设计_第2页
基于单片机冬暖式温室大棚环境监测系统设计_第3页
基于单片机冬暖式温室大棚环境监测系统设计_第4页
基于单片机冬暖式温室大棚环境监测系统设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、摘要本系统以 stc89c52 单片机为核心部件,外加温度采集电路、 光强采集电路、及显示电路。温度部分采用单总线型数字式的温度传感器ds18b20,使系统具有测温误差小、 分辨率高、 抗干扰能力强, 动态显示的方式等特点。 光强部分采用 a/d 转换器 adc0809。本设计既可以对当前温度和光强进行检测又可以其进行数码显示。关键词:仿真温度检测 报警 ds18b20 adc0809 光强检测第一章 题目要求与分析1.1 课程设计的意义本次课程设计是我们在学习计算机控制技术的一次实习。可增强我们的动手能力,特别对单片机的系统设计有很大的帮助。1.2 题目要求1.利用单片机检测和控制温度以及光

2、强并应用于普通温暖式大棚的温度控制和光控制。2.设定定时功能, 可以定时只允许在设定的时间范围内触发单片机工作控制温度或光强。1.3 题目分析本设计可分为温度检测与控制部分和光强检测部分。温度检测部分, 可以利用单总线型数字式的温度传感器ds18b20,使系统具有测温误差小、分辨率高、抗干扰能力强, 动态显示的方式等特点。 光强检测电路, 可以使用光敏电阻之类的器件利用其感光效应, 在将随被测光亮变化的电压或电流采集过来,进行 a/d转换后,就可以用单片机进行数据的处理,在显示电路上, 就可以将被测光强显示出来。第二章 系统总体方案及硬件设计2.1 温度检测与控制部分 2.1.1温度检测与控制

3、系统设计本系统设计了一个由数字化测温元件构成的温度检测控制系统,本系统包括了温度检测、温度显示、温度设置等部分。本系统主要运用了单片机stc89c52, 高性能 cmos 8 位单片机,片内含 8k bytes的可反复擦写的;兼容标准mcs-51 指令系统及 80c51 引脚结构,芯片内集成了通用 8 位中央处理器和 isp flash存储单元等强大功能;也采用了新型传感器 ds18b20,利用它的体积小,高精度、强大的读写功能等特点进行温度的采集;用 pnp 型三极管做驱动,采用4 位共阳 led 动态显示方式。主要采用了自动复位操作。 2.1.2硬件设计与分析主控制器采用st

4、c89c52 单片机stc89c52是一种低功耗、 高性能 cmos8 位微控制器, 具有 8k 在系统可编程 flash 存储器。在单芯片上,拥有灵巧的8 位 cpu 和在系统可编程 flash,使得 stc89c52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能:8k 字节 flash,512 字节 ram , 32 位 i/o 口线,看门狗定时器,内置 4kb eeprom,max810 复位电路,三个 16 位 定时器 /计数器,一个 6 向量 2 级中断结构, 全双工串行口。 另外 stc89x52 可降至 0hz 静态逻辑操作,支持 2 种软件可选择节电

5、模式。 空闲模式下, cpu 停止工作,允许 ram、定时器 /计数器、串口、中断继续工作。掉电保护方式下,ram 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。stc89c52是由深圳宏晶科技公司生产的与工业标准mcs-51 指令集和输出管脚相兼容的单片机。 stc89c52主要功能如表 2.1 所示,其 pdip 封装如图 1 主要功能特性兼容 mcs51 指令系统8k 可反复擦写 flash rom 32 个双向 i/o 口256x8bit 内部 ram 3 个 16位可编程定时 /计数器中断时钟频率 0-24mhz 2 个串行中断可编程 uart 串行通道

6、2 个外部中断源共 6 个中断源2 个读写中断口线3 级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能表 1 stc89c52 主要功能stc89c52 引脚介绍 主电源引脚( 2 根)vcc(pin40):电源输入,接 5v 电源gnd(pin20):接地线外接晶振引脚( 2 根)xtal1(pin19):片内振荡电路的输入端xtal2(pin20):片内振荡电路的输出端控制引脚( 4 根)rst/vpp(pin9):复位引脚,引脚上出现2 个机器周期的高电平将使单片机复位。ale/prog(pin30):地址锁存允许信号psen(pin29):外部存储器读选通信号ea/vpp(pin31

7、):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。可编程输入 /输出引脚( 32 根)stc89c52单片机有 4 组 8 位的可编程 i/o 口,分别位 p0、p1、p2、p3 口,每个口有 8 位(8根引脚) ,共 32 根。p0口(pin39pin32) :8 位双向 i/o 口线,名称为 p0.0p0.7 p1口(pin1pin8) :8 位准双向 i/o 口线,名称为 p1.0p1.7 p2口(pin21pin28) :8 位准双向 i/o 口线,名称为 p2.0p2.7 p3口(pin10pin17) :8 位准双向 i/o 口线,名

8、称为 p3.0p3.7 stc89c524039383435363727282930313233232425262221p1.01232019181716151413121110987654t0/p3.4into/p3.2rxd/p3.0rstvccsck/p1.7miso/p1.6mosi/p1.5p1.4p1.3p1.2p1.1txd/p3.1inti/p3.3t1/p3.5wr/p3.6rd/p3.7xtal2xtal1gndp0.0(ad0)psenale/progea/vppp0.1(ad1)p0.7(ad7)p0.6(ad6)p0.5(ad5)p0.4(ad4)p0.3(ad3)p

9、0.2(ad2)p2.7(ad15)p2.6(ad14)p2.1(ad9)p2.2(ad10)p2.3(ad11)p2.4(ad12)p2.5(ad13)p2.0(ad8)图 1 stc89c52 pdip 封装图stc89c52 最小系统最小系统是指能进行正常工作的最简单电路。stc89c52最小应用系统电路如图 2 所示。它包含五个电路部分:电源电路、时钟电路、复位电路、片内外程序存储器选择电路、输入/输出接口电路。其中电源电路、时钟电路、复位电路是 保证单片机系统能够正常工作的最基本的三部分电路,缺一不可。电源电路芯片引脚 vcc 一般接上直流稳压电源 +5v, 引脚 gnd 接电源+5

10、v 的负极,电源电压范围在45.5 之间,可保证单片机系统能正常工作。为提高电路的抗干扰性能,通常在引角vcc 与 gnd 之间接上一个 10uf 的电解电容和一个 0.1uf陶片电容,这样可抑制杂波串扰,从而有效确保电路稳定性。时钟电路单片机引脚 18 和引脚 19外接晶振及电容,stc89c52 芯片的工作频率可在 233mhz 范围之间选,单片机工作频率取决于晶振xt 的频率,通常选用 11.0592mhz晶振。两个小电容通常取值3pf,以保证振荡器电路的稳定性及快速性。复位电路一般若在引脚 rst上保持 24 个工作主频周期的高电平,单片机就可以完成复位,但为了保证系统可靠地复位,复位

11、电路应使引脚rst 保持 10ms以上的高电平。如图复位电路带有上电自动复位功能,当电路上电时,由于 c1 电容两端电压值不能突变,电源+5v 会通过电容向 rst 提供充电电流,因此在 rst引脚上产生一高电平,使单片机进入复位状态。随着电容c1 充电,它两端电压上升使得rst电位下降, 最终使单片机退出复位状态。正常运行时,可按复位按钮对单片机复位ea/vp31x119x218r es et9r d17wr16int012int113t014t115p10/ t1p11/ t2p123p134p145p156p167p178txd11p0039r xd10p0138p0237p0336vc

12、c40p0435ale/p30p0534psen29p0633p2728p0732p2627p2021p2526p2122p2425p2223p2324gnd208052r 1200r210k复位按 键c 110ufc 230 ufc 330ufc410 ufc 50. 1ufxtgndgndvc c+5vvc c+5vgnd图 2 stc89c52 最小系统主要功能特性:兼容 mcs-51 指令系统8k 可反复擦写 (1000 次)flash rom 32 个双向 i/o 口4.5-5.5v 工作电压时钟频率 0-33mhz 全双工 uart 串行中断口线256x8bit 内部ram 2个外

13、部中断源低功耗空闲和省电模式中断唤醒省电模式3级加密位看门狗( wdt )电路软件设置空闲和省电功能灵活的 isp字节和分页编程双数据寄存器指针2个16位可编程定时 / 计数器stc89c42共有 4 个(p0、p1、p2、p3 口)8 位并行 i/o 端口,共 32 个引脚。p0口双向 i/o 口,用于分时传送低8 位地址和 8 位数据信号; p1、p2、p3口均为准双向 i/o 口;其中 p2 口还用于传送高 8 位地址信号; p3口每一引脚还具有特殊功能,用于特殊信号的输入输出和控制信号。stc89c52内部有一个可编程的、全双工的串行接口。它串行收发存储在特殊功能寄存器 sfr的串行数

14、据缓冲器sbuf 中的数据。温度传感器温度传感器选用 ds18b20。适应电压范围更宽,电压范围:3.05.5v,在寄生电源方式下由数据线供电。独特的单线接口方式, ds18b20在与微处理器连接时仅需要一条口线即可实现微处理器与 ds18b20的双向通讯。ds18b20支持多点组网功能,多个ds18b20可以并联在唯一的三线上,实现组网多点测温。ds18b20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。温范围 55125,在 -10+85时精度为 0.5。可编程的分辨率为912 位,对应的可分辨温度分别为0.5、0.25、0.125和 0

15、.0625,可实现高精度测温。在 9 位分辨率时最多在 93.75ms内把温度转换为数字, 12 位分辨率时最多在你 750ms内把温度值转换为数字,速度更快。测量结果直接输出数字温度信号,以一线总线 串行传送给 cpu,同时可传送 crc 校验码,具有极强的抗干扰纠错能力。ds18b20 的外形和内部结构ds18b20的外形结构及引脚排列图3 ds18b20 外形结构图ds18b20 内部结构主要由四部分组成:64 位光刻 rom 、温度传感器、非挥发的温度报警触发器th和 tl、配置寄存器。ds18b20 是在一根 i/o 线上读写数据, 因此,对读写的数据位有着严格的时序要求。 ds18

16、b20 有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序: 初始化时序、 读时序、写时序。 所有时序都是将主机作为主设备, 单总线器件作为从设备。 而每一次命令和数据的传输都是从主机主动启动写时序开始, 如果要求单总线器件回送数据,在进行写命令后, 主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。2.1.2 系统方案设计主控电路设计主控电路采用 stc89c52 单片机电路如下:图 4 stc89c52 单片机电路复位电路当单片机 at89s52的复位引脚 rst(全称 reset)出现 2 个机器周期以上的高电平时,单片机

17、就执行复位操作。如果rst 持续为高电平,单片机就处于循环复位状态。 根据应用的要求, 复位操作通常有两种基本形式:上电复位和上电或开关复位。 上电复位要求接通电源后, 自动实现复位操作。 常用的上电复位图如 7 中 a 图所示。图中电容c1 和 r1 对电源 +5v 来说构成微分电路。上电后使rst持续一段时间的高电平。 由于单片机内的等效电阻作用,不用图中电阻 r1,也能达到上电复位的功能。图5 上电或开关复位要求电源接通后, 单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。常用的上电或开关复位电路如上图(b)所示。上电后,由于电容 c3 的充电和反相门的作用, 使 rs

18、t持续一段时间的高电平。 当单片机已在运行当中时,按下复位键k 后松开,也能使 rst为一段时间的高电平,从而实现上电或开关复位的操作。2.2 光强检测与控制部分 2.2.1光强检测与控制系统设计本设计使用光敏电阻5228 搭建光电转换电路,经过ad 转换将光电模拟信号数字化,在通过单片机进行数据处理,最终在4 位 led 上显示光强。同时设计了报警系统,当光强达到一定上限值时,启动报警模式。单片机的 reset 口上提供了供电自启动,在x1,x2 口上提供了 12mhz 晶振,以支持单片机的运行与启动。系统由4 个模块组成,分别为光电转换模块、ad转换模块、测量数据显示模块、报警模块。系统框

19、图如图8:光电转换a/d 转换单片机led 显示蜂鸣器单片机复位图1 系统框图图 6 系统框图2.2.2 光强检测与控制系统硬件设计与分析本系统主要由光电转换电路,ad转换器,单片机,存储器, led显示,蜂鸣器组成。光电转换模块光电转换模块采用5228 光敏电阻进行光电转换,当有光照射到光敏电阻上时,光敏电阻的阻值发生变化,从而产生电信号。在经过放大器将电信号放大,转换电路如图 9 所示。为减小输出信号的噪声,输出端可接1 个 0.1f的电容 c4去除高频信号。为防止产生自激振荡在输入与输出之间接1 个 0.1 f的补偿电容 c1,对于增益电阻可采用高精度的可调电阻, 输出信号

20、幅度与 r1 成正比。r1取值大一些可以增加信噪比,但 r1 取值要受输出电压幅度的限制。234veec10.1ufc20.1u fr220kr120k12348u2atl071cvccc30.1ufuor光 敏电 阻图 7 光电转换电路 a/d转换a/d 转换采样比较熟悉的adc0809 芯片。 adc0809 是带有 8 位 a/d 转换器、8 路多路开关以及微处理机兼容的控制逻辑的cmos 组件。它是逐次逼近式a/d 转换器,可以和单片机直接接口。本次设计中ad 转换系统与 at89s51 单片机的外部总线接口p0 连接,接收采集到的光强电压。如图3 所示。第三章系统软件分

21、析3.1 温度检测与控制部分程序流程:是否超出上下限温度值处理单片机发出温度转换命令ds18b20 温度转换显示温度单片机读取温度开始指示灯亮是否指示灯是否亮指示灯灭否是图 8 主流程图3.2 光强检测与控制部分程序流程:图 9 主流程图第五章总结与体会这次设计与制作,温度部分主要是依靠新型ds18b20温度传感器对温度的采集以及 stc89c51单片机、 led 数码管,发光二极管完成了一个简单的温度控制自动报警系统。本设计充分采用了ds18b20的高精度、体积小、一线总线等特点和 stc89c51单片机的强大功能, 既节约了时间、 经济成本, 也减小了设计电路的复杂性。但本设计也有许多不足

22、的地方。光部分主要是对光强这个陌生名词的理解和完成设计的硬件电路的设计。首先,我们了解光强的基本概念, 了解光强在生活中的应用。 因为我们没用光电传感器,所以我们需用光敏电阻或光敏二极管做成一个光电转换电路用来采集光强。在设计电路上,我们需了解各个器件的引脚分布,防止接错。焊接过程中,我们由于没有掌握器件的引脚,而导致电路不能正常工作。 在程序方面, 相对比较简单,都是平时做过的一些实验。参考文献1 乐建波温度控制系统北京化学工业出版社。2 张毅刚新编 mcs-51 单片机应用设计哈尔滨工业大学出版社2003版3 李东升等 protel 99se 电路设计技术入门与应用电子工业出版社4 龚永彬

23、 采用单片机设计温湿度控制仪http:/,2002 5 keil software company. cx51 compiler users guide. 2001 6 王为青、邱文勋 .51 单片机应用开发案例精选.人民邮电出版社 ,2007 7 李朝青 .单片机原理与接口技术 .北京航空航天大学出版社,200 8 邹逢兴 .微型计算机原理与接口技术m. 长沙:国防科技大学出版社,9 穆兰.单片微型计算机原理及接口技术m. 北京:机械工业出版社,10 沈德金 ,陈粤初 .接口电路与应用程序例m. 机械工业出版社, 2003 11 刘祖润 ,胡俊达 . m. 北京:航天航空大学出版社,1995

24、 12 宋明刚 .智能 pid 方法在高精度控温中的应用研究j.水利电力机械,2001 13 罗鑫.微机在电阻炉自动控温中的应用j.威谱机械, 1994 14 沈协和 .用单片微机构成的温控制器j.仪表仪器, 1998 15 吴期,俞亚珍 .微机自动程序温度控制系统j.水利电力机械 ,2003 16 陈磊.单片机控制数字光强检测计的设计j.大学物理实验 .2009.4. 17 马忠梅,张凯 .单片机的 c 语言应用程序设计(第四版)m. 北京航天大学出版社 . 附录程序温度部分主程序:void main(void) unsigned char a; unsigned int t,cntup,c

25、ntdown,cntdisp; unsigned char mode=0,temmin=25,temmax=27; while(1) t = readtemperature(); if (temmax != temmin) /高低温值相同则不报警 if ( (t temmax * 10) | (t temmin * 10) ) bz = 0; else bz = 1; else bz = 1; switch(mode) case 0: /显示温度seg0 = (t / 1000) ? tablet / 1000 : 0 xff; /如果为 0则不显示seg1 = (t % 1000 / 100

26、) ? tablet % 1000 / 100 : (seg0 = 0 xff) ? 0 xff : table0); /如果为 0 需要看 seg0, seg0不显示,则本位也不显示seg2 = tablet % 100 / 10 & 0 x7f; seg3 = tablet % 10; break; case 1: /低温限值修改seg0 = table11; seg1 = 0 xff; seg2 = tabletemmin / 10; seg3 = tabletemmin % 10; break; case 2: /高温限值修改seg0 = table10; seg1 = 0 x

27、ff; seg2 = tabletemmax / 10; seg3 = tabletemmax % 10; break; default: break; for(a = 0; a 2) mode = 0; if (keyshort & key_up) /+ switch(mode) case 0: /正常状态break; case 1: /低温限值修改if (temmin != temmax) / 低温不能超过高温限值temmin+; break; case 2: /高温限值修改if (temmax != 99) /高温限值不能超过99; temmax+; break; if (key

28、short & key_down) /- switch(mode) case 0: /正常状态break; case 1: /低温限值修改if (temmin != 0) /低温不能小于 0 temmin-; break; case 2: /高温限值修改if (temmax != temmin) /高温限值低于低温限值 ; temmax-; break; /*微秒延时 */ void delayus(unsigned int dut) while(dut-); /*毫秒延时 */ void delayms(unsigned int dt) unsigned int da,db; for

29、(da=0; dadt; da+) for(db=0; db0; i-) dq = 0; / 给脉冲信号dat=1; dq = 1; / 给脉冲信号if(dq) dat |= 0 x80; delayus(4); return(dat); /*/ void writeonechar(unsigned char dat)/ 写一个字节( ds18b20驱动) unsigned char i=0; dq = 0; delayus(5); for (i=8; i0; i-) dq = 0; dq = dat & 0 x01; delayus(4); dq = 1; dat=1; /*/ un

30、signed int readtemperature(void)/ 读取温度( ds18b20驱动) unsigned char tl,th; unsigned int t=0; float tt=0; bit flag=0; init_ds18b20(); writeonechar(0 xcc); / 跳过读序号列号的操作writeonechar(0 x44); / 启动温度转换init_ds18b20(); writeonechar(0 xcc); /跳过读序号列号的操作writeonechar(0 xbe); /读取温度寄存器tl = readonechar(); /读低 8 位th =

31、 readonechar(); /读高 8 位t = th; t = 8; t = t|tl; tt=t*0.0625; t= tt*10+0.5; /放大 10 倍输出并四舍五入return(t); /读按键值void keyread( void ) unsigned char readdata = port_key 0 xff; /读端口值,并取反readdata &= (key_menu | key_up | key_down); / 只取有效按键值keyshort = readdata & (readdata keylong); /只在第一次按下时为按键值,以后为0 k

32、eylong = readdata; /长按、短按都为按键值 光强部分源程序:#include /*引脚定义*/ sbit dis_ab=p30; sbit dis_clk=p31; sbit clk=p34; sbit st=p35; sbit eoc=p36; sbit oe=p37; /*7seg-led段码表 */ unsigned char code ledtab21=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f, 0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71,0 x76,0 x73,0 x3e,0 x00, 0 x40; /*/ unsigned char data num_1; /存储十六进制转化为两个单十六进制数的值unsigned char data num_2; unsigned char data

温馨提示

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

评论

0/150

提交评论