智能大棚系统设计:基于物联网技术的创新方案
目 录
摘要
1.绪论
2.系统概述及单片机介绍
2.1整体方案设计思想
2.2系统组成
2.2.1主控芯片的选择
2.2.2传感器模块选择
2.2.3电机驱动模块
2.3 单片机介绍
2.3.1 AT89C51单片机的基本组成
2.3.2 AT89C51主要特性
2.3.3管脚说明
2.3.4 AT89C51单片机的存储器
2.3.4.1 程序存储器
2.3.4.2 数据存储器
2.3.5 振荡电路和时钟
2.3.6 AT89C51的中断系统
2.3.6.1 中断系统结构和中断控制
2.3.6.2 中断响应过程
2.3.7 定时器/计数器
2.3.7.1定时器/计数器0和1简介
3.1.1 中央处理单元
3.1.2 LCD显示部分
3.1.3 电磁阀部分
3.1.4按键部分
3.1.5 ADC0809这个芯片
3.2 总电路设计图
3.3 AT89C51单片机电路
3.4 晶振电路
3.5 复位电路
3.6 按键电路
3.9 LCD显示电路
3.10 蓝牙HC-05
4.软件设计
4.1 系统软件设计思路
4.2系统软件设计整体框图
4.3用户界面设计与APP开发
4.4远程通信协议设计
5.结论
致谢
参考文献
摘要:
本研究旨在设计并实现一种基于AT89C51微控制器的智能农业大棚控制系统,以满足对温度、湿度和土壤湿度等关键参数的实时监测和有效控制需求。通过选用精准的温湿度传感器和土壤湿度传感器,并结合LCD液晶显示屏和相应的执行机构、报警装置等硬件设备,实现了对农业大棚内环境的全面感知与精确控制。在软件方面,通过编写和调试了一套高效稳定的控制程序,实现了温度、湿度和土壤湿度数据的准确采集、处理和显示,并能根据预设的阈值进行自动控制和报警。该智能控制系统不仅能够有效提升农业生产效率,降低资源消耗,还能够提供实时的监测数据和预警信息,帮助农户及时调整种植管理策略,最大限度地保障农作物的生长和产量稳定性。因此,本研究所设计的农业大棚智能控制系统具有良好的实用性和推广价值,为农业生产的智能化发展提供了有力支持。
关键词: AT89C51微控制器,农业大棚,智能控制系统,温湿度传感器,土壤湿度传感器,LCD液晶显示屏,自动控制,报警装置,农业生产效率,智能化发展。
1.绪论
最近几年,人们的生活水平有了很大提高,如何真正提高生活质量,如何使生活有了质的飞跃就成了问题大多数人认为。花卉种植是中国人几千年来保持同样的喜好,所以大多数人都选择种植植物,以陶冶情操,还能用它作为一个业余的消遣,但由于生活节奏快,人们经常出差及其他原因无法按时浇水的植物和花卉成为主要的死亡原因。这一设计不仅是传统农业生产方式的升级,更是对未来农业发展趋势的积极探索。
为了解决这个问题的时候浇花,人们会通过手机,并保存备忘录或者各种其他备忘的方法,但这些方法总是有很多瑕疵,农业大棚智能控制系统的特点在市场上众多的仪器,但价格过于昂贵,对于一般家庭,过于复杂的应用程序和多功能性是不必要的。
农业大棚智能控制系统能够解决这个问题,该系统主要是一个电磁阀致动器在一端连接管,连接到外部水管作为浇水主要由微控制器控制的另一端。设备主要通过控制浇水间隔浇水的持续时间,以控制浇水量。方便操作,这样就实现了现代家庭生活,同时也保证植物的正常生长。
近年来,电子技术作为新技术的代表,以推动电子行业的快速增长,也极大地推动智能家电和智能家居设备的快速发展。智能家电海外市场似乎已经做大做强,鉴于中国在全球制造链和设计链的重要作用,这使它成为世界上主要的设备制造商在生产智能家居的大决战的竞争,而且还导致中国国内情报国内研发及检测设备和仪器技术应用的快速发展。农业大棚智能控制系统自然也包括在内,在最近几年,出现了很多国内外各类农业大棚智能控制系统,它的功能和控制的原则有许多不同,但两者的根本目的方便了人们的日常生活,保证正常生长和鲜花。
中国在20世纪80年代后,逐渐展开了温室大棚的研究工作。虽然这一阶段的起点相对较晚,但我国的科技研究人员积极吸取了西方发达国家在温室自动控制技术方面的成熟经验,并在此基础上进行了大量的研究和开发工作。
通过不断学习和实践,我国的科技研究人员逐步掌握了温室内自动控制技术的核心原理和应用方法。他们利用微型计算机技术、传感器技术等先进技术,开发出了一系列适合中国国情的温室自动控制系统。
在过去的几十年里,农业大棚领域经历了迅速的发展和变革,随着人口基数的增加和人民对生活品质追求的不断提高,农业大棚的产量低、质量差、成本高等相关问题逐渐凸显出来。
尽管农业大棚技术取得了显著的进步,但仍面临着一系列亟待解决的问题。其中,传统农业大棚面临的最大挑战在于数据采集与处理的效率低下。
众所周知,在二十世纪,人类跨越了三个“电”的时代,即电气时代、电子时代和电脑时代。但这种电脑,通常指个人计算机,也就是我们平时所说的PC机。它由主机、显示器、键盘等组成。除此之外还有一类计算机,大多数人很不熟悉。这种计算机就是把智能赋予给各种机械的单片机(微控制器)。这种计算机最小的系统只用一片集成电路,就能进行简单运算和控制。因为其体积小,通常都被放在被控机械的“肚子”里。在整个装置中,他的作用有如人类头脑,若它出了毛病,整个装置也就瘫痪了。这不仅引起了学术界的广泛关注,也对实际应用产生了深远的影响,为了更好的解决这些问题,研究者们纷纷投入到这一领域的研究中。现如今,这种单片机的使用领域已发展的十分广泛,如智能仪表、导航系统、实时工控、通讯设备、家用电器等。各种家用产品用上了单片机以后,便能起到令产品换代升级的功效,通常都会在产品名称前加上形容词——“智能型”,例如智能型洗衣机等等。 而农业作为大多数人生活中的一部分,却常常因为人们工作等原因被忽略,农业大棚智能控制系统可为人们解决这一问题,与此同时,农业大棚智能控制系统若能走进家庭,也是人们生活进入智能化的标志之一。
大家都知道,在二十世纪,人类跨越时代的三个“电”,即电气时代,电子时代和计算机时代。不过,这里的计算机,通常是指个人电脑,这就是我们通常说的PC。它由主机,显示器,键盘和其它组分。此外,还有一类计算机,大多数人非常熟悉。给各种机械赋予智能的单片机(MCU)。这样的计算机系统只使用一个最小的IC可以进行简单的算术和控制。由于其体积小,经常被指责被放置在机械的“肚子”里。整个单元,他的作用就像人的大脑,如果它出了毛病,那么瘫痪的是整个系统。现在,该领域已被开发广泛使用,如智能仪表,导航系统,实时工业控制,通讯设备,家用电器等。用各种家居产品的微控制器后,就能起到使产品升级换代的功效,一般的产品名称与形容词前 – “智能”,如智能洗衣机等。人工采集和分析大棚数据既耗时又耗力,这阻碍了我们对大棚环境的深入理解和优化。为了解决这一问题,因此我设计了基于STM32的智能大棚系统,该系统利用智能化和网络通信技术,为传统农业大棚带来了革新性的发展。早在20世纪70年代国外就已经对对温室环境控制技术进行了研究,那时主要采用人工进行记录和控制温室内的环境信息并人工干预改变植物的生长环境。现在正在开发和研制利用计算机数据采集和控制环境的各项环境参数。
2.系统概述及单片机介绍
2.1整体方案设计思想
根据题目要求的要求,确定了以下方案:自己买材料制作,连接到微控制器,使土壤水分控制,并在此基础上,最小系统板安装湿度传感器。然后,湿度测距数据检测模块返回到微控制器,微控制器发送相应的命令来实现对泵的开关控制,实现自动检测和自动浇水湿度的功能。
温湿度模块能够自动采集大棚内的温湿度。液晶显示屏将会显示所采集的数据,并通过单片机进行数据处理。若采集的温湿度值超出或低于系统设置的阈值,系统将触发报警电路,启动声音和灯光报警,直至环境参数回归正常范围。
报警电路模块当检测到环境参数异常时,系统将会发出声光报警,管理人员便能够及时知晓并采取措施。
显示模块实时显示大棚的各个关键参数,便于管理人员直观了解温室环境状况。
光照模块通过光照传感器检测温室内的光照强度,并将数据传输至单片机进行处理。若光照强度超出设定范围,系统将发出报警提示,确保作物获得最佳光照条件。
二氧化碳模块能够检测大棚内的二氧化碳浓度数据,并将其上输到单片机及并由液晶显示屏显示,确保管理人员对温室内的空气质量有清晰的认识。
土壤湿度模块能够对土壤的水分进行采集。当土壤湿度低于或高于设定范围时,系统将发出报警,提醒管理人员调整灌溉策略。
2.2系统组成
图2.1 系统组成
2.2.1主控芯片的选择
现在市场上种类繁多,最能够满足比单片机AT89C51,AVR单片机主体的要求,以及ARM,凌阳,当然他们有自己的优势和劣势在控制芯片,但这个设计过程中,我们选择了AT89C51。相比于其他类型的控制芯片,AT89C51系列更适合我们这个型号,如:AT89C51单片机完全能够完成这一精心设计的所有功能; AT89C51外围电路非常简单,易于控制;在我们的课程对许多AT89C51的演讲;事情TA89C51价格相对于其他的控制芯片,便宜很多,最重要的可能是一个很好的成本控制能力。
STM32单片机作为的核心控制器,通过集成温湿度传感器采集环境温湿度参数、由土壤湿度传感器采集土壤湿度参数、光照传感器采集光照参数、二氧化碳浓度传感器采集二氧化碳浓度参数由STM32单片机进行整合处理并通过OLED显示屏显示所采集的参数,通过舵机进行灌溉和加湿处理、加热片进行加热处理、风扇启动与否控制二氧化碳浓度和温湿度、按键设置控制环境中各个参数的阈值,进而能够实现大棚环境的监测功能。
考虑到所有这些点的时候我是在最后的设计选用AT89C51单片机来完成这一设计。
2.2.2传感器模块选择
随着科学技术的不断发展,传感器领域相应得到了很大的发展。它是在各个领域具有很广泛的应用。在选择这种传感器的设计中,我们考虑了湿度传感器,温度和湿度传感器两种。温度和湿度传感器体积小,性能稳定,精度高,可以检测土壤中的温度和湿度,但价格昂贵被检测;湿度传感器,精度和长期稳定性,湿度敏感的,并且可以用来检测土壤湿度,而且价格低廉。经过学生和教师探索,考虑到传感器的选择关键在于适合于单芯片的处理。最后,我们选择了一个比较实用的湿度传感器
2.2.3电机驱动模块
继电器(英文名称:relay)是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器[2]。它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用继电器,充当水泵开关,控制水泵出水。正是因为其功能,符合我们此次的设计,我们选择其作为自动浇花系统的电机驱动模块。
2.3 单片机介绍
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
2.3.1 AT89C51单片机的基本组成
AT89C51由一个8位的微处理器,128KB片内数据存储器RAM,21个特殊功能寄存器SFR,4KB片内程序存储器Flash ROM,64KB可寻址片内外统一编址的ROM,64KB可寻址片外的RAM, 4个8位并行I/O接口(P0—P3),一个全双工通用异步串行接口UART,两个16位的定时器/计数器,具有位操作功能的布尔处理机及位寻址功能的五个中断源、两个优先级的中断控制系统以及片内振荡器和时钟产生电路。其基本组成框图如图2-1所示。
图2-1 AT89C51的基本组成
2.3.2 AT89C51主要特性
AT89C51主要特性有:
·与MCS-51 兼容
·4K字节可编程闪烁存储器
·寿命:1000写/擦循环
·数据保留时间:10年
·全静态工作:0Hz-24Hz
·三级程序存储器锁定
·128*8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
2.3.3管脚说明
AT89C51的引脚图如图2-2所示。各引脚的具体说明如下:
VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口
的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4
个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此
作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口
当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八
位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写
时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址
信号和控制信号。
图2-2 AT89C51引脚图
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电
流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入口。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如表2-1所示。同时,P3口为闪烁编程和编程校验接收一些控制信号。
表2-1 P3口的特殊功能
引脚 |
名称 |
功能说明 |
引脚 |
名称 |
功能说明 |
P3.0 |
RXD |
串行输入口 |
P3.4 |
T0 |
记时器0外部输入 |
P3.1 |
TXD |
串行输出口 |
P3.5 |
T1 |
记时器1外部输入 |
P3.2 |
|
外部中断0 |
P3.6 |
|
外部数据存储器写选通 |
P3.3 |
|
外部中断1 |
P3.7 |
|
外部数据存储器读选通 |
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位
字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/VPP:当/EA保持低电平时,则在此期间外部程序存储(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,
将内部锁定为RESET;当
端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
2.3.4 AT89C51单片机的存储器
在单片机中,存储器分为程序存储器ROM和数据存储器RAM,并且两个存储器是独立编址的。
AT89C51单片机芯片内配置有8KB(0000H~1FFFH)的Flash程序存储器和256字节(00H~FFH)的数据存储器RAM,根据需要可外扩到最大64KB的程序存储器和64KB的数据存储器,因此AT89C51的存储器结构可分为4部分:片内程序存储器、片外程序存储器、片内数据存储器和片外数据存储器。如果以最小系统使用单片机,即不扩展,则AT89C51的存储器结构就较简单:只有单片机自身提供的8KB Flash程序存储器和256字节数据存储器RAM。
图2-3给出了AT89C51单片机的存储器分布空间。左侧线框中为单片机自身提供的8KB Flash程序存储器和256字节数据存储器RAM。右侧为可扩展的64KB的程序存储器ROM和64KB的数据存储器RAM。
2.3.4.1 程序存储器
AT89C51单片机出厂时片内已带有8KB的Flash程序存储器,使用时,引脚
要按高电平(5V),这时,复位后CPU从片内ROM区的0000H单元开始读取指令代码,一直运行到1FFFH单元,如果外部扩展有程序存储器ROM,则CPU会自动转移到片外ROM空间2000H~FFFFH读取指令代码。
图2-3 存储器空间分布图
2.3.4.2 数据存储器
AT89C51单片机出厂时片内已带有256字节的数据存储器RAM,如果不够用,可以在片外扩展,最多可扩展64KB RAM。
图2-4 片内数据存储器的结构
单片机自带的数据存储器RAM结构如图2-4所示,此256字节单元(00H~FFH)的低128字节(00H~7FH)单元为用户使用区,高128字节(80H~FFH)单元为特殊功能寄存器SFR区。
片内数据存储器的00H~7FH单元又划分为3块:00H~1FH块是工作寄存器所用;20H~2FH块是位寻址功能的单元区;30H~3FH是普通RAM区。工作寄存器又分为4组,在当前的运行程序中只有一组是被激活的,谁被激活有程序状态寄存器PSW的RS1,RS0两位决定。
2.3.5 振荡电路和时钟
在AT89C51芯片内部,有一个振荡电路和时钟发生器,引脚XTAL1和XTAL2之间接入晶体振荡器和电容后构成内部时钟方式。也可以使用外部振荡器,由外部振荡器产生的信号直接加载到振荡器的输入端,作为CPU的时钟源,称为外部时钟方式。采用外部时钟方式时,外部振荡器的输出信号接至XTAL1,XTAL2悬空。两种方式的电路连接如图2-5所示。大多数的单片机采用内部时钟方式,本次设计亦然。
(a)使用片内振荡器接法 (b)使用片外振荡器接法
图2-5 AT89C51振荡器的连接方式
在AT89C51单片机内部,引脚XTAL2和引脚XTAL1连接着一个高增益反相放大器,XTAL1引脚是反相放大器的输入端,XTAL2引脚是反相放大器的输出端。
芯片内部的时钟发生器是一个二分频触发器,振荡器的输出
为其输入,输出为两相的时钟信号(状态时钟信号),频率为振荡器输出信号频率
的1/2。状态时钟经三分频后为低字节地址锁存信号ALE,频率为振荡器输出信号频率
的1/6,经六分频后为机器周期信号,频率为
/12。
、
一般取20~30pF的陶瓷电容器。
2.3.6 AT89C51的中断系统
为了提高系统的工作效率,AT89C51单片机设置了中断系统,采用中断方式与外设进行数据传送。所谓“中断”,是指单片机在执行某一段程序的过程中,由于某种原因(如异常情况或特殊请求),单片机暂时中止正在执行的程序,而去执行相应的处理程序,待处理结束后,再返回到被打断的程序处,继续执行原程序的过程。
2.3.6.1 中断系统结构和中断控制
AT89C51有六个固定的可屏蔽中断源,分别是三个片内定时器/计数器溢出中断TF0、TF1和TF2,两个外部中断
(P3.2)和
(P3.3),一个片内串行口中断TI或RI。6个中断源有两级中断优先级,可形成中断嵌套。它们在程序存储器中各有固定的中断入口地址,由此进入相应的中断服务程序。
引起6个中断源的符号、名称及产生的条件如下:
:外部中断0,由P3.2端口线引入,低电平或下降沿引起;
:外部中断1,由P3.3端口线引入,低电平或下降沿引起;
T0:定时器/计数器0中断,由T0记满回零引起;
T1:定时器/计数器1中断,由T1记满回零引起;
TI/RI:串行口I/O中断,串行端口完成一帧字符发送/接收后引起中断;
T2:定时器/计数器2中断,由T2记满回零引起。
在本次设计中采用了定时器/计数器0中断,它的中断控制寄存器包括定时器/计数器0、1控制寄存器TCON和中断允许控制寄存器IE。
① 定时器控制寄存器TCON
TCON是定时器/计数器和外部中断两者合用的一个可位寻址的特殊功能寄存器,它的格式如下:
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
TF1 |
TR1 |
TF0 |
TR0 |
IE1 |
IT1 |
IE0 |
IT0 |
各控制位定义如下:
TF1:定时器/计数器1溢出中断请求标志位。当定时器/计数器1计数产生溢出时,由内部硬件置位TF1,向CPU响应中断并转向该中断服务程序执行时,由硬件内部自动TF1清0。
TR1:定时器/计数器1启动/停止位。由软件置位/复位控制定时器/计数器1的启动或停止计数。
TF0:定时器/计数器0溢出中断请求标志位。当定时器/计数器0计数产生溢出时,由内部硬件置位TF0,向CPU响应中断并转向该中断服务程序执行时,由硬件内部自动TF1清0。
TR0:定时器/计数器0启动/停止位。由软件置位/复位控制定时器/计数器0的启动或停止计数。
IE1:外部中断请求标志位。当CPU检测到INT0低电平或下降沿且IT1=1时,由内部硬件置位IE1标志位(IE1=1)向CPU请求中断,当CPU响应中断并转向该中断服务程序执行时,由硬件内部将IE1清0。
IE0:外部中断请求标志位。当CPU检测到INT0低电平或下降沿且IT0=1时,由内部硬件置位IE0标志位(IE0=1)向CPU请求中断,当CPU响应中断并转向该中断服务程序执行时,由硬件内部将IE0清0。
IT1:用软件置位/复位IT1来选择外部中断INT1是下降沿触发还是电平触发中断请求。当IT1置1时,则外部中断INT1为下降沿触发中断请求,即INT1端口由前一个机器周期的高电平跳变为下一个机器周期的低电平,则触发中断请求;当IT1复位清0,则INT1的低电平触发中断请求。
IT0:由软件置位/复位IT0来选择外部中断INT0是下降沿触发还是低电平触发中断请求,其控制原理同IT1。
② 中断允许控制寄存器
中断允许控制寄存器IE的格式如下:
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
EA |
|
ET2 |
ES |
ET1 |
EX1 |
ET0 |
EX0 |
各控制位定义如下:
EA:中断总控制为。EA=1,CPU开中断,它是CPU是否响应中断的前提,在此前提下,如果某中断源的中断允许位置1,才能响应该中断源的中断请求。如果EA=0,无论哪个中断源有请求,CPU都不予回应。
ET2:定时器/计数器T2中断控制位,ET2=1,允许T2计数溢出中断;ET2=0,禁止T2中断。
ES:串行口中断控制位,ES=1,允许串行口发送/接收中断;ES=0禁止串行口中断。
ET1:定时器/计数器T1中断控制位,ET1=1,允许T1计数溢出中断;ET1=0,禁止T1中断。
EX1:外部中断1控制位,EX1=1,允许中断;EX1=0,禁止外部中断1中断。
ET0:定时器/计数器T0中断控制位,ET0=1,允许T0计数溢出中断;ET0=0,禁止T0中断。
EX0:外部中断0控制位,EX0=1,允许中断;EX0=0,禁止外部中断0中断[1]。
2.3.6.2 中断响应过程
CPU中断处理从响应中断、控制程序转向对应的中断矢量地址入口处执行中断服务程序,到执行返回(RETI)指令为止。中断响应可分为以下几个步骤:
① 保护断点,即保存下一个将要执行的指令的地址,把这个地址送入堆栈。
② 寻找中断入口,根据6个不同的中断源所产生的中断,中断系统必须能够正确地识别中断源,查找6个不同的入口地址。以上工作是由单片机自动完成的,与编程者无关。在6个入口地址处存放有中断处理程序。
③执行中断处理程序。
④中断返回:执行完中断指令后,从中断处返回到主程序,继续执行[2]。
2.3.7 定时器/计数器
AT89C51单片机内部设有两个16位可编程定时器/计数器,即定时器/计数器0和定时器/计数器1。除此之外还有一个可编程定时器/计数器2。
2.3.7.1定时器/计数器0和1简介
定时器/计数器0和1内部有一个计数寄存器(
和
),它实际上是一个累加寄存器进行加1计数。定时器和计数器共用这个寄存器,但定时器/计数器同一时刻只能工作在其中一种方式下,不可能既工作在定时器方式,同时又工作在计数器方式。这两个工作方式的根本区别是在于计数脉冲的来源不同。工作在定时器方式时,对振荡源12分频的脉冲计数,即每过一个机器周期(1个机器周期在时间上和12个振荡周期的时间相等),计数寄存器中的值就加1。工作在计数器方式时,计数脉冲不是来自内部的机器周期,而是来自外部输入。对定时器/计数器0、定时器/计数器1,计数脉冲分别来自T0、T1引脚。当这些引脚上输入的信号产生高电平至低电平的负跳变时,计数寄存器的值就加1。单片机每个机器周期都要对对外部输入进行采样,如果在第一个周期采得的外部信号为高电平,在下一个周期采得的信号为低电平,则在再下一个机器周期,即第三个机器周期计数寄存器的值才增加1[1]。
3.硬件设计
3.1中央处理单元
以AT89C51作为整个系统的控制中心
(1)通过LCD液晶显示屏作为显示模块;
(2)根据按键输入发送正确的信号并在LCD显示。
3.2 LCD显示部分
作为一个显示模块该设备应该是在单片机控制的正确输出显示检测到的物理量。
3.3 电磁阀部分
该设备是完成本次工作的重要组成部分。
3.4按键部分
它是整个系统中比较简单的部分,根据功能要求,本系统共需3个按键,3个按键位于按键部分,分别是上调按键,下调按键,工作按键。
它是整个系统是相对简单的部件,根据该系统的功能要求需要总共三个按钮,三个按钮位于按键部件,其被加、减按钮,工作按钮。
3.5 ADC0809数模转换
ADC0809由一个8位分辨率,双通道A / D转换芯片生产。由于其体积小,兼容性,高性价比而深受欢迎的微控制器,目前具有较高的普及率。学习和使用,但让我们明白ADC0809 A / D转换器原理,有利于提高我们的供应链管理技术水平。
ADC0809具有以下特点:
8位分辨率;两路A / D转换器;
输入和输出电平与TTL/ CMOS兼容;
0输入电压〜5V时,5V电源;
工作频率是250千赫,转换时间为32μS;
典型功耗仅为15mW;
8P,14P-DIP(双列直插式),人保财险多种封装形式;
0°C商业级芯片的温度宽-40°C至+70°C,工业级芯片温度宽至+85°C;
ADC0809与单片机的接口电路:
ADC0809 8位分辨率的A / D转换芯片,多达256的最大分辨率可适应普通模拟转换的要求。内部电源的输入和基准电压复用,使得0〜5V之间的芯片的输入模拟电压。只有32μS芯片转换时间,根据一个双数据输出可以用作数据验证,以便减少数据误差,转换速度快且稳定的和强大的性能。单独的芯片使能输入,使更多的设备连接和处理器控制变得更加方便。通过DI数据输入,就可以很容易地选择频道来实现功能。
ADC0809单片机控制原理:
在正常情况下与ADC0809单片机的接口应该是四个数据线,分别CS,CLK,DO,DI。然而,由于以结束与DI DO通信没有结束的同时有效地与微控制器接口是双向的,因此,该电路设计可被并联连接的DO和DI用的数据线。
当其CS输入要高ADC0809不起作用,那么芯片被禁止,CLK和DO / DI水平可以随心所欲。当您要执行的A / D转换,CS功能的客户端必须先放在低并保持低直到转换完全结束。在此芯片开始转换的工作,但由所述处理器芯片时钟输入端子CLK输入的时钟脉冲,DO / DI的最终用途的DI端输入通道特征选择
数据信号。之前的第一个时钟脉冲端DI水槽要高,表明启动信号。在此之前的第二个和第三个脉冲的DI下沉二数据输入端应该被用于选择信道的功能。
3.2 总电路设计图
图4.1 总电路
根据如图4.1所示的总电路主要由:晶振电路,复位电路,按键设置电路, LED显示电路,电磁阀电路,以及电源电路等几个部分。通过这几个分电路的分工合作,能够使得系统具有显示功能,并且具备键盘调整功能,同时能够对电磁阀进行有效的控制。从而使设备顺利的进行工作。
3.3 AT89C51单片机电路
图4.2 单片机电路
AT89C5单片机的RST引脚连接复位电路,P2.7引脚连接电磁阀电路,P1.0~P1.7引脚连接按键电路,XTAL1和XTAL2引脚连接晶振电路,P2.0和P2.1引脚连接指示灯电路,P2.5~P2.7引脚连接放大电路从而和P0.0~P0.7引脚一起控制LED显示电路。
3.4 晶振电路
图4.3 晶振电路
AT89C51单片机芯片内部设有一个反相放大器所构成的振荡器,XTAL1和XTAL2分别为振荡电路的输入端和输出端。在XTAL1和XTAL2引脚上外接定时元件,内部振荡电路就产生自激振荡。定时元件常常是用石英晶体和电容组成的并联谐振回路。系统选择了12MHZ的晶振片,两个30Pf的电容C2和C3。
3.5 复位电路
图4.4 AT89C51单片机的复位电路
本设计采用的复位电路包括两个方面:上电复位电路(图a),按键复位电路(图b)。
a:上电复位电路:它是利用电容充电来实现复位的。在接电瞬间,RST引脚端的电位与Vcc端相同,但是随着充电电流的减少,RST端的电位逐渐下降。只要保证RST端为高电压的时间大于两个机器周期时,系统自动能实现正常复位。
b:按键复位电路:当要系统自动复位时,只需要按住S8按键,此时电源Vcc经过电阻R1,R2分压,并且在RST端产生一个复位的高电平。同样,只要保证RST端保持高电压的时间大于两个机器周期时,系统自动能实现正常复位。
3.6 按键电路
图4.5 按键电路
系统采用非编码键盘,按键电路主要由3个按键组成,分别是K1—工作按键; K2—“+”调节按键;K3—“-”调节按键,本系统采用独立式的按键形式。按照上图的电路连接方法,判断是否有键按下的方法是:查询哪一根接按键的I/O接口线为低电平,如果是低电平则说明这个接口线连接的按键处于按下状态。相反,若为高电平则说明按键处于非按下状态。
3.9 LCD显示电路
图4.8 LCD显示电路
3.9.1 液晶显示器的简介
液晶显示器是一种低功能耗液晶显示器件。工作电流小,适合于仪表和低功耗系统。常用的有笔画型液晶显示器、点阵字符型液晶显示器和图形点阵式液晶显示器。LCD液晶显示器的原理是利用液晶的物理特性,通过电压对其显示区域进行控制。有电就显示黑色,这样就显示出图形。液晶显示器适应于大规模电路直接驱动,易于实现全彩色显示的特点。目前被广泛应用于计算机,数字摄像机等众多领域。
3.9.2液晶显示器的分类
液晶显示器按显示图案的不同可分为笔段型LCD、字符型LCD和点阵图型LCD三种。
(1) 笔段型
笔段型是以长条状作为基本单位显示。该类型主要用于数字显示,也可用于显示西文字或某些字符。这种段型显示通常有6段。7段、8段、9段、14段和16段等,在形状上与数码管类似,总是围绕“8”的结构变化。其中以7段显示器常用,常用于数字仪表、电子仪器中。
(2) 字符型
字符型液晶显示器是专门用来显示英文和其他拉丁字母、数字、符号等点阵型液晶显示模块。它一般由若干个5乘8或5乘11点阵组成,每个点阵显示一个字符。这类模块一般应用于数字寻呼机、数字仪表等电子设备中。
(3) 点阵图型
点阵图形型是在一平板上排版多行多列的矩阵式的晶格点,点的大小可根据显示精细度来设计,可显示数字、字母、汉字、图像,甚至动画。这液晶显示器广泛应用于手机、笔记本电脑等需要显示大量信息的设备中。
2.3液晶显示器1602
1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。
3.10 蓝牙HC-05
3.10.1 蓝牙模块选择与集成
通信模块在系统中起着关键的作用,它实现了与手机APP的通信,允许用户远程控制和监控d大棚的状态。本节将介绍我们选择的通信模块以及其设计。
为了实现远程控制和监控功能,我们选择了蓝牙模块BT06作为通信模块。BT06是一款低成本、高性能的蓝牙模块,具有以下主要特点:
– 高度集成:ESP8266集成了WiFi芯片、CPU和存储器,具备强大的计算和通信能力。
– 低功耗:模块具有低功耗特性,适用于嵌入式系统。
– 可编程性:HC-05支持Arduino等开发环境,便于开发人员进行编程和定制。
– 蓝牙连接:模块可以连接与手机APP进行通信。
为了增强用户交互与远程控制功能,设计还融入了手机APP。用户可以通过APP远程设置和调整各项环境参数的阈值。一旦检测到光照强度低于设定阈值,系统将触发BUZZER蜂鸣器进行报警提示。当温度超过预设安全范围时,风扇将自动启动,帮助散热降温。若湿度低于设定阈值,系统将自动启动洒水加湿装置,确保植物生长环境始终处于最佳状态。HC-05 嵌入式蓝牙串口通讯模块(以下简称模块)具有两种工作模式:命令响应工作 模式和自动连接工作模式,在自动连接工作模式下模块又可分为主(Master)、从(Slave) 和回环(Loopback)三种工作角色。当模块处于自动连接工作模式时,将自动根据事先设定 的方式连接的数据传输;当模块处于命令响应工作模式时能执行下述所有 AT 命令,用户可 向模块发送各种 AT 指令,为模块设定控制参数或发布控制命令。通过控制模块外部引脚 (PIO11)输入电平,可以实现模块工作状态的动态转换。
图4.10 HC-05蓝牙模块实物图
HC-05的主要工作是为项目添加双向(全双工)无线功能。它可用于两个具有串行功能的微控制器(如两个Arduinos)之间的通信,但它也可用于通过微控制器控制任何蓝牙设备,反之亦然。
HC-05通过TX和RX引脚,支持使用标准AT命令。为此,用户必须在设备启动时进入特殊命令模式。这是通过在打开模块时将钥匙销拉低来完成的。否则,设备将启动进入数据模式,这样它就可以与其他设备进行无线通信。模块启动后,任何蓝牙设备(例如智能手机)都应该可以发现它,便可以使用标准密码连接到设备。建立连接后,数据通过HC-05传输并转换为串行流,然后由模块连接的微控制器读取该串行流。从微控制器发送数据的方式相反。如下图所示是HC-05蓝牙模块内部原理图。
图4.11 HC-05蓝牙模块内部原理图
3.10.2 远程控制与监控设计
通过集成蓝牙模块HC-05,我们实现了以下远程控制和监控功能:
– 远程控制:用户可以通过安装在手机上的APP远程控制温湿度上下限的操作。APP可以向系统发送指令。
– 远程监控:用户可以通过手机APP实时监控大棚的状态。这包括当前的温湿度信息、工作模式等。
– 参数设置:用户可以通过APP设置系统的参数,例如湿度阈值,以便系统根据用户的偏好进行自动控制。
通信模块与主控制器之间建立了串口通信连接,通过串口协议实现数据传输。蓝牙模块BT06负责连接,将数据传递给手机APP,并接收来自APP的指令。这使用户能够方便地远程控制和监控晾衣架的状态,提高了系统的便捷性和智能化。
通过通信模块的设计,系统能够实现与用户的无线连接,允许远程控制和监控,提升了系统的智能性和可操作性。
3.10.3HC-05蓝牙模块初始化代码
//初始化HC05模块
//返回值:0,成功;1,失败.
u8 HC05_Init(void)
{
u8 retry=10,t;
u8 temp=1;
RCC->APB2ENR|=1<<4; //使能PORTC时钟
GPIOC->CRL&=0XFF00FFFF; //PC4,推挽输出;PC5,输入
GPIOC->CRL|=0X00830000;
GPIOC->ODR|=1<<5; //PC5上拉
USART2_Init(36,9600); //初始化串口2为:9600,波特率.
while(retry–)
{
HC05_KEY=1; //KEY置高,进入AT模式
delay_ms(10);
u2_printf("AT\r\n"); //发送AT测试指令
HC05_KEY=0; //KEY拉低,退出AT模式
for(t=0;t<10;t++) //最长等待50ms,来接收HC05模块的回应
{
if(USART2_RX_STA&0X8000)break;
delay_ms(5);
}
if(USART2_RX_STA&0X8000) //接收到一次数据了
{
temp=USART2_RX_STA&0X7FFF; //得到数据长度
USART2_RX_STA=0;
if(temp==4&&USART2_RX_BUF[0]=='O'&&USART2_RX_BUF[1]=='K')
{
temp=0;//接收到OK响应
break;
}
}
}
if(retry==0)temp=1; //检测失败
return temp;
}
通过AT模式来判断是否有蓝牙存在
//获取HC05模块的角色
//返回值:0,从机;1,主机;0XFF,获取失败.
u8 HC05_Get_Role(void)
{
u8 retry=0X0F;
u8 temp,t;
while(retry–)
{
HC05_KEY=1; //KEY置高,进入AT模式
delay_ms(10);
u2_printf("AT+ROLE?\r\n"); //查询角色
for(t=0;t<20;t++) //最长等待200ms,来接收HC05模块的回应
{
delay_ms(10);
if(USART2_RX_STA&0X8000)break;
}
HC05_KEY=0; //KEY拉低,退出AT模式
if(USART2_RX_STA&0X8000) //接收到一次数据了
{
temp=USART2_RX_STA&0X7FFF; //得到数据长度
USART2_RX_STA=0;
if(temp==13&&USART2_RX_BUF[0]=='+')//接收到正确的应答了
{
temp=USART2_RX_BUF[6]-'0';//得到主从模式值
break;
}
}
}
if(retry==0)temp=0XFF;//查询失败.
return temp;
}
通过AT指令来判断是什么模式
//ATK-HC05设置命令
//此函数用于设置ATK-HC05,适用于仅返回OK应答的AT指令
//atstr:AT指令串.比如:"AT+RESET"/"AT+UART=9600,0,0"/"AT+ROLE=0"等字符串
//返回值:0,设置成功;其他,设置失败.
u8 HC05_Set_Cmd(u8* atstr)
{
u8 retry=0X0F;
u8 temp,t;
while(retry–)
{
HC05_KEY=1; //KEY置高,进入AT模式
delay_ms(10);
u2_printf("%s\r\n",atstr); //发送AT字符串
HC05_KEY=0; //KEY拉低,退出AT模式
for(t=0;t<20;t++) //最长等待100ms,来接收HC05模块的回应
{
if(USART2_RX_STA&0X8000)break;
delay_ms(5);
}
if(USART2_RX_STA&0X8000) //接收到一次数据了
{
temp=USART2_RX_STA&0X7FFF; //得到数据长度
USART2_RX_STA=0;
if(temp==4&&USART2_RX_BUF[0]=='O')//接收到正确的应答了
{
temp=0;
break;
}
}
}
if(retry==0)temp=0XFF;//设置失败.
return temp;
}
通过AT模式来设置主从模式
void HC05_Sta_Show(void)
{
if(HC05_LED)LCD_ShowString(120,140,120,16,16,"STA:Connected "); //连接成功
else LCD_ShowString(120,140,120,16,16,"STA:Disconnect"); //未连接
}
#define HC05_LED PCin(5) //蓝牙连接状态信号
4.软件设计
4.1 系统软件设计思路
农业大棚智能控制系统设计包括四个部分的程序设计,分别是:AD转换模块程序设计、湿度检测模块设计、阀值调节模块、数码管显示模块设计。
AD转换模块程序设计主要实现以下功能:将湿度传感器产生的模拟信号转换成数字信号。
湿度检测模块设计主要实现以下功能:通过程序设计,对所测湿度值进行处理,当低于所设定阀值继电器打开,实现浇水功能;当高于或等于所设阀值继电器关闭,关闭浇水功能。
阀值调节模块主要实现以下功能:设定两个按键实现对阀值的调节功能,其中一个按键要求是上调键,另一个是下调节,同时设定调节幅度为5。
数码管显示模块主要实现以下功能:需要数码管实现三个值的显示,分别是:采集的电压值、采集的当前土壤湿度值、设定的适合植物生长的土壤湿度阀值。数值顺序显示,通过间歇加以区分显示。
4.2系统软件设计整体框图
图4.1 软件设计原理
4.3 用户界面设计与APP开发
用户界面设计和手机APP开发是系统的关键部分,它们决定了用户如何与系统进行交互、监控状态并进行远程操作。本节将介绍我们的用户界面设计以及APP开发,包括液晶显示界面和Android手机APP界面。
4.3.1 液晶显示界面
液晶显示界面是系统上的LCD1602液晶显示屏,用于提供实时信息反馈和操作功能。主要显示内容包括:
– 当前温度和湿度:通过DHT11传感器获取的环境温湿度数据,以便用户了解环境条件。
– 当前光照:显示系统当前的光照,以便用户了解环境条件。
液晶显示界面使用简单的文字和图标来展示信息,用户可以通过设置温湿度上下限阈值。这个界面设计友好且易于操作,确保用户能够轻松地监控和控制晾衣架。
4.3.2 手机APP界面开发
为了实现远程控制和监控功能,我们开发了Android手机APP,使用Android Studio进行开发。APP的主要功能包括:
– 远程控制:用户可以通过APP远程启动、停止等操作,以便在不同时间和地点控制系统架。
– 远程监控:用户可以通过APP实时监控状态,包括温湿度信息、光照等。
– 参数设置:用户可以在APP中设置湿度阈值和其他参数,以满足个性化的需求。
APP界面采用直观的图形和用户友好的操作方式,确保用户能够轻松地实现远程控制和监控功能。与通信模块结合,用户可以随时随地远程管理大棚,提高了系统的便捷性和智能化。
通过用户界面设计和APP开发,我们为用户提供了方便的远程操作和监控工具,使智能晾衣架系统更加易用和智能。
4.4 远程通信协议设计
远程通信协议设计是系统的关键部分,它决定了如何实现与手机APP之间的通信,以实现远程控制和监控功能。本节将介绍我们的远程通信协议设计,包括控制指令协议和数据传输协议。
4.4.1 控制指令协议
控制指令协议是用于手机APP向系统发送控制指令的协议。我们设计了简单而有效的指令格式,包括以下字段:
– 操作类型:指定要执行的操作类型式。
– 参数设置:如果操作需要附带参数,可以在此字段中传递,例如设置湿度阈值等。
– 校验和:为了确保指令的完整性和正确性,我们在指令中包含了校验和字段,以检测传输错误。
手机APP将构建控制指令并通过蓝牙模块BT06发送给系统,主控制器接收并解析指令,然后执行相应的操作。这个协议确保了远程控制的可靠性和准确性。
4.4.2 数据传输协议
数据传输协议用于在手机APP和系统之间传输状态信息和环境数据。我们选择了简单的JSON格式作为数据传输协议,因为它易于解析和生成,并且能够容纳各种类型的数据。
数据传输协议包括以下字段:
– 状态信息:包括温湿度信息、光照等。
– 控制指令响应:当手机APP发送控制指令后,晾衣架系统将向APP发送指令执行的响应。
– 数据更新频率:规定了数据更新的频率,以确保数据的实时性。
手机APP和系统通过WiFi模块进行数据传输,实现远程监控和状态更新。数据传输协议的设计确保了数据的可靠传输和正确解析。
通过远程通信协议的设计,我们实现了系统与手机APP之间的高效通信,使用户能够远程控制和监控晾衣架,提高了系统的便捷性和智能化。
5.结论
本次设计的农业大棚智能控制系统以电子类的的工作原理为参考,运用现代传感器技术及单片机控制技术构成一个土壤温湿度采集与控制系统。再用数字电路控制自动给水系统及时的给农业系统供水。整个系统包括土壤温湿度的检测和显示、自动浇水和蓄水箱自动上水及水位报警三个部分。土壤温湿度的检测和显示以温湿度传感器SHT-11为感应部件,将检测到的土壤温湿度值送入AT89C51单片机,再由单片机的I/O口输出到LCD液晶显示屏进行显。同时此湿度值也是是否给盆花浇水的参考值。自动浇水部分与土壤温湿度的检测和显示部分共同构成土壤温湿度的检测与控制系统。它设计为智能和手动两个部分:智能浇水部分是通过单片机程序设定浇水的上下限值并与SHT-11送入单片机的土壤湿度值相比较,当传感器检测到的湿度值低于设定的下限值时,单片机输出一个信号控制电磁阀打开,开始浇水,高于设定的上限值时再由单片机输出一个信号控制电磁阀关闭,停止浇水;手动部分是由单片机从时钟芯片DS1302读入月份与每天的实时时刻,通过软件程序设定定时浇水的时间与浇水的量。蓄水箱自动上水及水位报警采用纯硬件电路控制,实现水箱水位实时监测、自动上水以及水位上下限报警的功能。
通过本次毕业设计,让我进一步了解了微电脑控制的智能系统。也使我真正接触到了检测控制系统的设计,虽然是一个人们日常生活中的小系统,但也让我明白了很多设计上应该注意的问题。比如实用性、经济性以及安装条件等。
致谢在这四年中我学到了许多专业知识,提高了理论与实践相结合的能力,提高 了自学能力,这都得感谢老师的细心教导和培养,在此,我向给予我教育和帮助
的老师说声谢谢。在校期间所学到的东西应该对我以后工作和生活有很大帮助。
经过两个星期的努力我终于完成了这个课程设计,PLC 课程是我们的主要课
程,自从接触了这门课程我便对她产生了浓厚的兴趣。
本课程设计虽然凝聚着我们这组所有人的汗水,但却不是仅仅是我们组员智 慧的产品,没有老师的指引和赠予,没有其他组同学和朋友的帮助和支持,我们 的课程设计也不会完成。当我打完课程设计的最后一个字符,涌上心头的不是长
途跋涉后抵达终点的欣喜,而是源自心底的诚挚谢意。
回首这两个星期来的设计过程,可以说是收获良多,也付出了不少心力。它 检验了我对 PLC 这门课程的掌握程度,通过老师们和同学们的帮助今天我们的课 程设计终于做完了。虽然在课程设计中遇到很多困难,但在做的过程中我真正掌 握和领会了各项知识。面对问题仔细揣摩,查阅各方文件资料,也得到老师和同学的帮助。他们不仅治学严谨而且为人师表,堪称良师益友,教给我们的不仅是知识还有待人处世的积极态度,在此表示衷心的感谢。我还要感谢其他带课程设计的老师在本次设计中给予我们帮助和指导!也感谢对本次设计提供帮助的人。
参考文献
[1] 赵克中.磁力驱动技术与设备,北京:化学工业出版社,2003.
[2] 林伸茂.8051单片机彻底研究,北京:中国电力出版社,2007.
[3] Mackenzie.8051微控制器,北京:清华大学出版社,2005.
[4] 周志敏,纪爱华.LCD背光驱动电路与应用实例,北京:人民邮电出版社,2009.
[5] 孙俊喜.LCD驱动电路、驱动程序与典型应用,北京:人民邮电出版社,2009.
[6] 明赐东.调节阀的应用,北京:化学工业出版社,2006.
[7] 毛兴武.新一代绿色光源LED及其应用技术,北京:人民邮电出版社,2008.
[8] 蔡振江.单片机原理及应用,北京:电子工业出版社,2008.
[9] 周志敏,纪爱华,周纪海.LED驱动电路设计实例,北京:电子工业出版社,2008.
[10] 王慧.计算机控制系统,北京:化学工业出版社,2005.
[11] Steve James. 5×7 LED Matrix Display with Z8 Encore, Zilog.Inc, 2007.
[12] Riheb Wislati, Helmut Haase. Design and Simulation of an Electromagnetic Valve Actuator Using COMSOL Multiphysics, Leibniz University, 2005.
[13] 郭天祥.51单片机C语言教程——入门、提高、开发、拓展全攻略[M].北京:电子工业出版社,2012:67-87.
[14] 王玉凤,刘湘黔.电子设计从零开始[M].北京:清华大学出版社,2010:123-134.
[15] 谭浩强.C程序设计教程学习辅导 [M].北京:清华大学出版社,2011:23-26.
[16] 童诗白.模拟电子技术基础[M].成都:高等教育出版社,2010:45-48.
[17] 赵克中.磁力驱动技术与设备[M].北京:化学工业出版社,2011:134-156.
[20] 林伸茂.8051单片机彻底研究[M].北京:中国电力出版社,2011:56-67.
[21] 吴磊.8051微控制器[M].北京:清华大学出版社,2010:98-111.
[22] 郭英涛.LCD背光驱动电路与应用实例[M].北京:人民邮电出版社,2012:245-256.
[23] 张炜.LCD驱动电路、驱动程序与典型应用[M].北京:人民邮电出版社,2011:256-265.
[24] SD Group.SD Memory Card Specifications[Z].USA:Technical Committee SD Association,
2013:456-467.
[25] Teayon . Hardware White Paper [Z].USA:Microsoft Corporation,2011:46-57.
[26] 张琳.调节阀的应用[M].北京:化学工业出版社,2013:76-89.
[27] 徐贤.新一代绿色光源LED及其应用技术[M].北京:人民邮电出版社,2011:47-76.
[28] 崔雪莉.单片机原理及应用[M].北京:电子工业出版社,2010:36-48.
[29] 唐绪军.报业经济与报业经营[M].北京:新华出版社,2012:117-121.
作者:kkkkk778