河南理工大学2011毕业设计说明书PAGEPAGE76盆花自动浇水系统的设计测控07级2班指导老师:摘要:本次设计的盆花自动浇水系统包括土壤温湿度的检测与控制和蓄水箱自动上水及水位报警两大部分。土壤温湿度的检测与控制部分又包括了土壤温湿度的检测和显示、自动浇水系统。土壤温湿度的检测和显示以温湿度传感器SHT-11为感应部件,将检测到的土壤温湿度值送入AT89C51单片机,再由其输出到LCD屏进行显示。自动浇水系统设计为智能和手动两个部分:智能浇水部分是通过单片机程序设定浇水的上下限值与SHT-11送入单片机的土壤湿度值相比较,当低于下限值时,单片机输出一个信号控制电磁阀打开,开始浇水,高于上限值时再由单片机输出一个信号控制电磁阀关闭,停止浇水;手动部分是由单片机从时钟芯片DS1302读入月份与每天的实时时刻,通过软件程序设定定时浇水的时间与浇水的量。蓄水箱自动上水及水位报警采用纯硬件电路控制,实现水箱水位实时监测、自动上水以及水位上下限报警的功能。关键词:AT89C51单片机SHT-11温湿度传感器LCDDS1302时钟芯片C51程序数字电路DesignofpottedflowersautomaticwateringsystemAbstract:Thedesignoftheautomaticwateringsystemincludessoilpothumiditydetectionanddisplay,automaticwateringandstorageboxautomaticwaterandwaterlevelalarmthreeparts.S-oiltestinganddisplayoftemperatureandhumiditysystemtakesTemperatureandhumiditysen-sorSHT-11asinductivecomponents,itwilldetectthesoiltemperatureandhumidityvalueandinputthevaluetotheAT89C51microcontroller,thenthetemperatureandhumidityvaluewillbeoutputtoLCDscreendisplayed.Automaticwateringsystemdesignforintelligenceandmanualtwoparts.Intelligentwateringpartthroughthemicrocontrollerprogramsettingtheupperandlo-werwaterattained,thencomparingthisupperandlowerwaterattainedwiththevalethatthroug-hingSHT-11inputtingtothemicrocontroller.WhenbelowthelimitSCMoutputsasignaltoo-peningtheElectromagneticvalve,andStartwatering.ifAbovetheupperlimitvalue,theSCMwilloutputanothersignaltoTurnningofftheElectromagneticvalve,andStopwatering.ManualpartreadthetimefromtheclockchipDS1302bymicrocomputer.Throughsoftwareprogramtosettingtheregularwatering'timeandWateringamount.StorageboxWaterlevelcontrolsystemu-sesPurehardwarecontrol.Realizingreal-timemonitoringwatertank,AutomaticwatersupplyandLevelalarmingfunction.Keywords:AT89C51microcontroller;SHT-11temperatureandhumiditysensor;LCD;clockchipDS1302;C51program;Digitalcircuit目录TOCo"1-4"hzu1、绪论11.1选题的目的和意义11.2自动浇花器的诞生背景及国内外发展现状11.3毕业设计所采用的研究方法和手段22、AT89C51单片机42.1AT89C51单片机的基本组成42.2AT89C51主要特性52.3管脚说明52.4AT89C51单片机的存储器72.4.1程序存储器72.4.2数据存储器82.5振荡电路和时钟92.6AT89C51的中断系统102.6.1中断系统结构和中断控制102.6.2中断响应过程122.7定时器/计数器122.7.1定时器/计数器0和1简介122.7.2与定时器/计数器0和1相关的特殊功能寄存器133、温湿度传感器143.1数字温湿度传感器SHT-11153.2SHT-11的传感器输出163.2.1湿度值输出173.2.2温度值输出173.2.3露点计算183.2.4非线性校正及温度补偿183.3SHT-11的特性193.3.1SHT-11的特点193.3.2SHT的详细规格193.4SHT-11的引脚203.5SHT-11的的内部命令与接口时序213.5.1SHT-11的内部命令213.5.2SHT-11的命令顺序及命令时序213.5.3SHT-11的状态寄存器223.6硬件接口233.7恢复处理233.8SHT-11的相关程序244、DS1302时钟芯片304.1DS1302时钟芯片的简介304.2引脚304.3命令字节314.4DS1302的相关程序345、液晶显示器LCD385.1液晶显示器的分类385.2AMPIRE128×64385.2.1LCD128×64引脚功能395.2.2KS0108控制器指令功能405.2.3应用说明425.2.4LCD相关程序426、盆花自动浇水系统的设计496.1土壤温湿度检测与控制496.1.1硬件电路设计496.1.2系统软件设计536.2蓄水箱自动供水系统656.2.1基本的导电理论666.2.2系统工作原理676.2.3系统硬件组成666.2.4系统电路连接706.2.5参数计算716.2.6水箱水位控制系统检测717、总结738、致谢74参考文献751、绪论1.1选题的目的和意义随着社会生活的进步,人们的生活质量越来越高。在家里养盆花可以陶冶情操、丰富生活。同时,盆花通过光合作用可吸收二氧化碳,净化室内空气,在有花木的地方空气中阴离子聚积较多,所以空气也特别清新,而且有许多花木还可吸收空气中的有害气体,因此,养盆花如今被许多的人所喜爱。盆花浇水量是否能做到适时适量,是养花成败的关键。但是,在生活中人们总是会有无暇顾及的时候,比如工作太忙或者出差、旅游等。花草生长问题80%以上是由花儿浇灌问题引起;好不容易种植几个月的花草,因为浇水不及时,长势不好,用来美化家园的花草几乎成了“鸡肋”;不种植了吧,家中没有绿色衬托感觉没有生机;保留吧,花草长得不够旺盛,还影响家庭装饰效果。虽然目前市面上有卖盆花自动浇水器的,但价格十分的昂贵,并且大多只能设定一个定时浇水的时间,很难做到给盆花适时适量浇水。也有较经济的盆花缺水报警器,可以提醒人们及时的给盆花浇水。可是这种报警器只能报警,浇水还是需要人们亲自动手。当家里无人时,即使报警也无人浇水,就起不到应有的作用了。因此,我想通过设计一种集盆花土壤湿度检测,自动浇水以及蓄水箱自动供水于一体的盆花自动浇水系统。让盆花在人们无暇照顾时也能得到及时的浇灌。1.2自动浇花器的诞生背景及国内外发展现状微喷系统是近几年利用国内外先进技术组装的新型灌溉设施,主要是利用水流通过低压管道系统以一定速度从特制的喷头喷出,在空气中分散成细小的水滴,着落在花草植物、作物及周围的地面上,从而达到及时补充水分的目的。该系统具有用水量少、冲击力小的灌溉特性,适用于栽培密度大、植株柔软细嫩的植物。自动浇花器的诞生是随着人们生活水平的提高和生活节奏的加快而诞生的一种懒人园艺用品。它把微喷的概念应用于家庭盆花浇灌中,通过相应的改进,达到合理给盆花自动浇水的目的。早在很多年前,国外就已经开始普及,国内使用的电子类自动浇花器多数从国外进口的,价格昂贵,但质量比较可靠。不过这并不太适用于国内,目前国内外比较流行的是玻璃制作的自动浇花器。这种类型的浇花器多数在我国山西和浙江一带加工生产的,价格比较低廉,实用性没有电子类自动浇花器好。随着国内居民消费水平和生活质量的提高,居家园艺市场异常火爆,但是由于生活节奏加快,种花容易养花难的问题暴露出来,而养花最重要的问题就是浇水问题,研究表明花草80%以上的死亡由于浇水不及时引起,因此国内商家已经看到了这种需求潜力。目前这类小居家用品的厂家主要集中在广东,上海,浙江一带。现在市面上所出售的自动浇花器主要有以下几类:⑴电子类自动浇花器电子类自动浇花器又叫时控喷淋装置,系统构成为:主机(或者控制器)、主管(可以是花园管也可以是4/7mm的微喷淋管)、分水接头(3通、4通、5通、6通、分水器)、副管(3/5mm)喷淋管(雾化喷头、旋转喷头、折射雾化喷头等)。电子类自动浇花器根据电源的不同分为交流电自动浇花器和电池自动浇花器两种。控制器的一般性能有:电磁阀控制;智能时控电路•微电脑芯片控制;适用电源为AC220V/50HZ;最适宜水压0.3-0.6Mpa;待机功率(4VA,浇水时<12VA);可控制连续作业时间是1分钟至168个小时;可每天自动完成十次以上浇水作业,可每天、隔天、隔多天自动循环进行浇水,手动自动两用;每天计时误差小于正负3秒;电器适应环境温度为-10~50℃;相对湿度<90%RH。⑵玻璃、陶瓷类自动浇花器玻璃、陶瓷类自动浇花器又叫自动渗水装置,它由本身材质的物理结构构成,根据器具的物理渗水原理完成自动浇灌,当自动浇水器内部存水,自身形成一定的压力,当遇到干燥的土壤,水就会自上而下的流出,当土壤湿润以后,会形成一个堵塞压力,从而导致水流速度变慢或者停止。器具工艺不同,效果也不一样,当然也因土壤的疏松情况决定器具内水流的速度。当前传感器技术与单片机技术发展迅速,其应用逐步由工业、军事等领域向其他领域渗透,已经和我们的日常生活息息相关。而且智能家居概念也越来越受人们的推崇,因此,微电脑控制的电子类自动浇花系统有很好的发展前景。1.3毕业设计所采用的研究方法和手段本次毕业设计是设计一种单片机控制的自动浇水系统,实现室内盆花浇水的自动化系统。该系统可对土壤的温湿度进行监控,并对作物进行适时、适量的浇水。其核心是单片机和温湿度传感器以及浇水驱动电路构成的检测控制部分。主要研究土壤湿度与浇水量之间的关系、浇灌控制技术及设备系统的硬件、软件编程各个部分。检测部分,单片机选用AT89C51单片机,温湿度传感器选用SHT11温湿度传感器。SHT-11采用COMSens专利传感器技术将温度湿度传感器、A/D转换器、数字接口、校准数据存储器、标准I2C总线等电路全部集成在一个芯片内。软件选用C51语言编程。土壤温湿度传感器可将检测到的土壤温湿度模拟量放大转换成数字量通过单片机内程序控制精确的将温度与湿度分别显示在LCD显示屏上,同时通过单片机内的中断服务程序判断是否要给盆花浇水,若需浇水,则单片机系统发出浇水信号,并经放大驱动设备,开启电磁阀进行浇水,若不需浇水,则进行下一次循环检测。在浇水系统中也同时设计一个手动浇水部分,系统工作时通过设置键的按下与否来选择浇水系统的工作方式。土壤浇水驱动电路采用继电器开关电路,蓄水箱水位报警以及自动上水部分采用纯硬件控制。
2、AT89C51单片机AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。2.1AT89C51单片机的基本组成AT89C51由一个8位的微处理器,128KB片内数据存储器RAM,21个特殊功能寄存器SFR,4KB片内程序存储器FlashROM,64KB可寻址片内外统一编址的ROM,64KB可寻址片外的RAM,4个8位并行I/O接口(P0—P3),一个全双工通用异步串行接口UART,两个16位的定时器/计数器,具有位操作功能的布尔处理机及位寻址功能的五个中断源、两个优先级的中断控制系统以及片内振荡器和时钟产生电路。其基本组成框图如图2-1所示。图2-1AT89C51的基本组成2.2AT89C51主要特性AT89C51主要特性有:·与MCS-51兼容·4K字节可编程闪烁存储器
·寿命:1000写/擦循环
·数据保留时间:10年
·全静态工作:0Hz-24Hz
·三级程序存储器锁定
·128*8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路2.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-2AT89C51引脚图P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入口。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如表2-1所示。同时,P3口为闪烁编程和编程校验接收一些控制信号。表2-1P3口的特殊功能引脚名称功能说明引脚名称功能说明P3.0RXD串行输入口P3.4T0记时器0外部输入P3.1TXD串行输出口P3.5T1记时器1外部输入P3.2外部中断0P3.6外部数据存储器写选通P3.3外部中断1P3.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.4AT89C51单片机的存储器在单片机中,存储器分为程序存储器ROM和数据存储器RAM,并且两个存储器是独立编址的。AT89C51单片机芯片内配置有8KB(0000H~1FFFH)的Flash程序存储器和256字节(00H~FFH)的数据存储器RAM,根据需要可外扩到最大64KB的程序存储器和64KB的数据存储器,因此AT89C51的存储器结构可分为4部分:片内程序存储器、片外程序存储器、片内数据存储器和片外数据存储器。如果以最小系统使用单片机,即不扩展,则AT89C51的存储器结构就较简单:只有单片机自身提供的8KBFlash程序存储器和256字节数据存储器RAM。图2-3给出了AT89C51单片机的存储器分布空间。左侧线框中为单片机自身提供的8KBFlash程序存储器和256字节数据存储器RAM。右侧为可扩展的64KB的程序存储器ROM和64KB的数据存储器RAM。2.4.1程序存储器AT89C51单片机出厂时片内已带有8KB的Flash程序存储器,使用时,引脚要按高电平(5V),这时,复位后CPU从片内ROM区的0000H单元开始读取指令代码,一直运行到1FFFH单元,如果外部扩展有程序存储器ROM,则CPU会自动转移到片外ROM空间2000H~FFFFH读取指令代码。图2-3存储器空间分布图2.4.2数据存储器AT89C51单片机出厂时片内已带有256字节的数据存储器RAM,如果不够用,可以在片外扩展,最多可扩展64KBRAM。图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.5振荡电路和时钟在AT89C51芯片内部,有一个振荡电路和时钟发生器,引脚XTAL1和XTAL2之间接入晶体振荡器和电容后构成内部时钟方式。也可以使用外部振荡器,由外部振荡器产生的信号直接加载到振荡器的输入端,作为CPU的时钟源,称为外部时钟方式。采用外部时钟方式时,外部振荡器的输出信号接至XTAL1,XTAL2悬空。两种方式的电路连接如图2-5所示。大多数的单片机采用内部时钟方式,本次设计亦然。(a)使用片内振荡器接法(b)使用片外振荡器接法图2-5AT89C51振荡器的连接方式在AT89C51单片机内部,引脚XTAL2和引脚XTAL1连接着一个高增益反相放大器,XTAL1引脚是反相放大器的输入端,XTAL2引脚是反相放大器的输出端。芯片内部的时钟发生器是一个二分频触发器,振荡器的输出为其输入,输出为两相的时钟信号(状态时钟信号),频率为振荡器输出信号频率的1/2。状态时钟经三分频后为低字节地址锁存信号ALE,频率为振荡器输出信号频率的1/6,经六分频后为机器周期信号,频率为/12。、一般取20~30pF的陶瓷电容器。2.6AT89C51的中断系统为了提高系统的工作效率,AT89C51单片机设置了中断系统,采用中断方式与外设进行数据传送。所谓“中断”,是指单片机在执行某一段程序的过程中,由于某种原因(如异常情况或特殊请求),单片机暂时中止正在执行的程序,而去执行相应的处理程序,待处理结束后,再返回到被打断的程序处,继续执行原程序的过程。2.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。①定时器控制寄存器TCONTCON是定时器/计数器和外部中断两者合用的一个可位寻址的特殊功能寄存器,它的格式如下:D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0各控制位定义如下: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的格式如下:D7D6D5D4D3D2D1D0EAET2ESET1EX1ET0EX0各控制位定义如下: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.6.2中断响应过程CPU中断处理从响应中断、控制程序转向对应的中断矢量地址入口处执行中断服务程序,到执行返回(RETI)指令为止。中断响应可分为以下几个步骤:①保护断点,即保存下一个将要执行的指令的地址,把这个地址送入堆栈。②寻找中断入口,根据6个不同的中断源所产生的中断,中断系统必须能够正确地识别中断源,查找6个不同的入口地址。以上工作是由单片机自动完成的,与编程者无关。在6个入口地址处存放有中断处理程序。③执行中断处理程序。④中断返回:执行完中断指令后,从中断处返回到主程序,继续执行[2]。2.7定时器/计数器AT89C51单片机内部设有两个16位可编程定时器/计数器,即定时器/计数器0和定时器/计数器1。除此之外还有一个可编程定时器/计数器2。2.7.1定时器/计数器0和1简介定时器/计数器0和1内部有一个计数寄存器(和),它实际上是一个累加寄存器进行加1计数。定时器和计数器共用这个寄存器,但定时器/计数器同一时刻只能工作在其中一种方式下,不可能既工作在定时器方式,同时又工作在计数器方式。这两个工作方式的根本区别是在于计数脉冲的来源不同。工作在定时器方式时,对振荡源12分频的脉冲计数,即每过一个机器周期(1个机器周期在时间上和12个振荡周期的时间相等),计数寄存器中的值就加1。工作在计数器方式时,计数脉冲不是来自内部的机器周期,而是来自外部输入。对定时器/计数器0、定时器/计数器1,计数脉冲分别来自T0、T1引脚。当这些引脚上输入的信号产生高电平至低电平的负跳变时,计数寄存器的值就加1。单片机每个机器周期都要对对外部输入进行采样,如果在第一个周期采得的外部信号为高电平,在下一个周期采得的信号为低电平,则在再下一个机器周期,即第三个机器周期计数寄存器的值才增加1[1]。2.7.2与定时器/计数器0和1相关的特殊功能寄存器①计数寄存器TH0、TL0和TH1、TL1计数寄存器是16位的,再启动定时器时需要对它设定初始值。是计数寄存器的高8位,是计数寄存器的低8位。TH0、TL0对应T/C0,TH1、TL1对应T/C1。②定时器/计数器控制寄存器TCON定时器/计数器控制寄存器TCON的格式如下:TF1TR1TF0TR1IE1IT1IE0IT0TF1为T/C1的溢出标志,溢出时由硬件置1,进入中断后又由硬件自动清0。TR1为T/C1的启动和停止位,由软件控制。置1时启动T/C1;清0时停止T/C1。TF0和TR0的功能和使用方法以TF1、TR1类似,只是它们针对的是T/C0。③定时器/计数器方式控制寄存器TMOD定时器/计数器方式控制寄存器TMOD的格式如下所示。它的控制位都是由软件控制的,其中高4位是针对T/C1的,低4位是针对T/C0的,其功能和使用方法相似。GATEM1M0GATEM1M0现在以T/C0来说明各控制位的使用方法:GATE是一个选通位,当GATE位置1时,T/C0受到双重控制,只有为高电平且TR0位置1是T/C0才开始工作,当GATE位清0时,T/C0仅受到TR0的控制。用来选择工作在定时器方式还是计数器方式。当该位置1时工作在计数器方式,清0时工作在定时器方式。M1和M0联合起来用于选择操作模式,一共有四种操作模式,如表2-2所示。表2-2操作模式M1M0操作模式计数器配置00模式013位计数器10模式2自动重转载的8位计数器10模式2自动重转载的8位计数器11模式3T0分为两个8位计数器,T1停止计数
3、温湿度传感器传统的模拟式湿度传感器需设计信号调理电路并要经过复杂的校准、标定过程,测量精度难以得到保证,且在线性度、重复性、互换性、一致性等方面往往不尽人意。为解决这些问题,瑞士Sensirion公司推出了新一代基于CMOSensTM技术的数字式温湿度传感器。它很好地解决了温湿度传感器存在的上述问题,实现了数字式输出、免调试、免标定、免外围电路及全互换功能[3]。3.1数字温湿度传感器SHT-11数字温湿度传感器SHT—11采用COMSens专利传感器技术将温度湿度传感器、A/D转换器、数字接口、校准数据存储器、标准I2C总线等电路全部集成在一个芯片内(其内部结构如图3-1所示)[4]。图3-1数字温湿度传感器SHT—11的内部结构图由它的内部结构可看出SHT-11具有不同保护的“微型结构”检测电极系统与聚合物覆盖层组成了传感器芯片的电容,这样除保持了电容式湿敏器件的原有特性外还可抵御来自其它方面的影响。将温度传感器与湿度传感器结合在一起构成了一个单一的个体,这就使得测量精度提高并且可以精确得出露点,而不会产生由于温度与湿度传感器之间随温度梯度变化而引起的误差。而且将传感器元件、信号放大器、模/数转换器、OTP校准数据存储器、I2C工业标准串行总线等,电路功能部件全部采用CMOS技术与温湿度传感器一起放置在一个芯片内。这不仅使信号强度增加,更重要的是长期稳定性也得到增强,这对传感器系统是极为重要的。同时,模/数转换也在一个芯片内同时完成,这可使信号对噪声不敏感,尤其重要的是,在传感器芯片数据存储器内装载的针对每一只传感器的校准数据保证了每一只传感器都有相同的功能,可以实现100%的互换。此外,。该传感器还具有I2C二线串行总线接口,这可使传感器方便的与任何类型的微处理器、微控制器接口相连,为温湿度的微机化测试带来极大的方便,这不仅能减少温湿度测试系统的开发时间,还可节约数字化接口的软硬件成本。该传感器还有反应迅速、高精度、低功耗等优点。3.2SHT-11的传感器输出SHT-11的相对湿度绝对精度、温度精度和25℃露点精度如图3-2(a)~(c)所示[4]。(a)湿度绝对精度(b)温度精度(C)25℃露点精度图3-2相对湿度、温度和露点的精度曲线3.2.1湿度值输出SHT-11可通过I2C总线直接输出数字量湿度值,其相对湿度输出特性曲线如图3-2所示。从中可以看出,SHT11的输出特性呈一定的非线性,为了补偿湿度传感器的非线性以获取准确数据,可按式(3-1)修正湿度值:=式中,SORH表示传感器相对湿度测量值,系数取值分别如下:12位时:;8位时:。3.2.2温度值输出SHT-11温度传感器的线性非常好,可用下列公式(3-2)将温度数字输出转换成实际温度值T:式中,表示传感器温度测量值。当电源电压为5V,温度传感器的分辨率为14位时,,;当温度传感器的分辨率为12位时,,。图3-3相对湿度输出特性曲线3.2.3露点计算空气的露点值可根据相对湿度和温度值由下面公式计算:式中,——饱和水蒸气压强(mmHg)3.2.4非线性校正及温度补偿式(3-1)为相对湿度的非线性补偿计算公式,对于单片机系统而言,计算量大而过复杂,下面给出简化的计算方法。(1)线性当系统对湿度测量精度要求不高时,可采用以下的线性计算公式。式中,。(2)2×线性当系统对湿度测量精度要求较高时,可采用以下的2×线性计算公式,即用最小的计算复杂性来提高精确度。式中,为8位湿度传感器输出湿度值。当时,,;当时,,。(3)温度补偿上述湿度计算公式是按环境温度为25℃进行计算的,而实际的测量温度值则在一定的范围内变化,所以应考虑湿度传感器的温度系数,可按式对环境温度进行补偿。当为12位时,,;当为8位时,,。3.3SHT-11的特性3.3.1SHT-11的特点SHT-11传感器的特点如下:1)相对湿度和温度一体测量;2)精确露点测量;3)全量程标定,无需重新标定即可互换使用;4)超快响应时间;5)两线制数字接口(最简单的系统集成,较低的价格);6)超小尺寸(7.5×5×2.5mm);7)高可靠性(工业CMOS工业);8)优化的长期稳定性;9)可完全浸没水中;10)基于请求式测量,因此低能耗;11)具有湿度传感器元件的自检测能力;12)传感器元件加热应用,亦可获得极高的精度和稳定性。3.3.2SHT的详细规格1.相对湿度传感器(RH)的性能参数如下:范围:0—100%RH;精度:±3%RH(20—80%RH);响应时间:≤4s;复现性:±0.1%RH;分辨率:0.03%RH;工作温度:-40℃—+120℃。2.温度传感器(T)的性能参数如下:范围:-40℃—+120℃;精度:±0.5℃(在25℃时),±0.9℃(在0—40℃时);响应时间:≤20s;复现性:±0.1℃;分辨率:0.01℃。3.电器数据能耗:典型30uW(@5V,12-bit,测量周期2秒)典型1uW(@2.4V,8-bit,测量周期2分);供电范围:2.4V—5.5V;检测电流:0.5mA;待机电流:0.3uV。3.4SHT-11的引脚SHT-11的引脚图如图3-4所示。图3-4SHT-11的引脚图引脚简介引脚1—GND接地端;SHT-11的供电电压为0.4~5.5V,传感器上电后要等待11ms以越过“休眠”状态。在此期间无需发送任何指令,电源引脚(VDD,GND)之间可增加一个100uF的电容,用以去耦滤波。引脚2—DATA双向串行数据线;SHT-11的串行接口,在传感器的读取及电源损耗方面都做了优化处理。DATA三态门用于数据的读取。引脚3—SCK串行时钟输入;用于微处理器与SHT-11之间的通讯同步。由于接口包含了完全静态逻辑,因而不存在最小SCK频率。引脚4—VDD电源端,0.4—5.5V电源引脚5—8—NC空管脚3.5SHT-11的的内部命令与接口时序3.5.1SHT-11的内部命令SHT-11传感器共有5条用户命令,具体命令格式见表3-1。在程序编程时根据命令编号来设定SHT-11的工作状态。例如:0x03设置SHT-11为温度测量,0x05是设置SHT-11为湿度测量[5]。表3-1SHT-11传感器命令列表命令编号说明测量温度00011温度测量测量湿度00101湿度测量读寄存器00111“读”状态寄存器写寄存器00110“写”状态寄存器软启动11110重启芯片,清除状态记录器的错误记录11毫秒后进入下一个命令3.5.2SHT-11的命令顺序及命令时序1)传输开始初始化传输时,应发出“传输开始”命令,具体为SCK是高电平时,DATA高电平变为低电平,并在下一个SCK为高时将DATA升高。接着传输开始下一个命令,包含3个地址位(目前只支持“000”)和5个命令位,通过DATA脚的ack位处于低电位表示SHT11正确收到命令。2)连接复位顺序如果与SHT11传感器的通讯中断,下列信号顺序会使串口复位:当使DATA线处于高电平时,触发SCK9次以上(含9次),并发一个前述的“传输开始”命令。3)温湿度测量时序当发出了温(湿)度测量命令后,控制器就要等到测量完成后才开始动作。使用8/12/14位的分辨率测量分别需要大约11/55/210ms。为表明测量完成,SHT11会使DATA为低电平,此时控制器必须重新启动SCK,然后SHT11传送两字节测量数据与1字节CRC校验和到控制器,控制器必须通过使DATA为低来确认每一字节,通讯在确认CRC数据位后停止。如果没有用CRC28校验和,则控制器就会在测量数据LSB后,保持ack为高时停止通讯,SHT11在测量和通讯完成之后会自动返回睡眠模式。需要注意的是,为使SHT11温升高低于0.1℃,则此时工作频率不能大15%(如:12位精确度时,每秒最多进行3次测量)。测量温度和测量湿度命令所对应的时序如图3-4所示。图3-4测量温湿度时序图4)加热控制将传感器芯片中的加热开关接通,传感器温度大约增加5℃,加热用途如下:其一,通过对启动加热器前后的温、湿度进行比较,可以正确地区别传感器的功能;其二,在相对湿度较高的环境下,传感器可通过加热来避免冷凝。5)低电压检测SHT11的工作极限功能可以检测VDD电压是否低于2.45V,准确度为±0.1V。3.4.3SHT-11的状态寄存器SHT-11的状态寄存器的类型及其说明见表3-2。表3-2SHT-11状态寄存器及说明位类型说明缺省说明7保留06读工检限X5保留04保留0续表位类型说明缺省说明3只用于试验,不可以使用02读/写加热0关1读/写不从OTP重下载0重下载0读/写‘1’—8位相对湿度,12位温度分辨率;‘0’—12位相对湿度,14位温分辨率012位相对湿度,14温度3.6硬件接口图3.2DS1302与单片机连接SHT-11与单片机接口构成的温湿度测量电路,如图3-5所示。因SHT-11内部集成了A/D转换器、数字接口等,在与单片机连接时就不需要再外接转换部件[6]。图3.2DS1302与单片机连接图3-5SHT-11与单片机接口3.7恢复处理置于极限工作条件下或化学蒸汽中的传感器,经过在80~90℃(176~194F)和<5%RH的湿度条件下保持24小时(烘干),随后在20~30℃(70~90F)和>74%RH的湿度条件下保持48小时以上(重新水和)的处理后可使其恢复到刚校准时的状态[7]。通过上面的论述可见SHT-11数字式温湿度传感器完全符合对土壤温湿度检测的要求。3.8SHT-11的相关程序⑴SHT11端口定义sbitSHT11_DATA=P2^6;sbitSHT11_SCK=P2^5;ucharflag_tempeture=0;//显示温度位置的标志ucharflag_humidity=0;//显示湿度位置的标志//uchardat;uinti,temp1,temp2,dat=0,count;floattempeture1;floatRHline,RHtrue;voiddelay(uintm){while(m--);}⑵SHT11内部延时voidDelay(){;;}⑶SHT11检测等待延时:11ms/55ms/210ms分别对应8位/12位/14位测量结果,对应的形参为N则延时NmsvoidDelay_Ms(uintms){uinti,j;for(i=ms;i>0;i--)for(j=112;j>0;j--);}⑷SHT11启动时序voidSHT11_Start(){SHT11_SCK=1;SHT11_DATA=1;Delay();SHT11_DATA=0;Delay();SHT11_SCK=0;Delay();SHT11_SCK=1;Delay();SHT11_DATA=1;}⑸向SHT11发送8bite数据voidSHT11_Sendbyte(uchardat){uchari;SHT11_SCK=0;Delay();for(i=0;i<8;i++){if(dat&0x80){SHT11_DATA=1;Delay();}else{SHT11_DATA=0;Delay();}dat=dat<<1;SHT11_SCK=1;Delay();SHT11_SCK=0;}}⑹检测SHT11的响应信号(在第九个时钟周期)voidSHT11_Answer(){SHT11_SCK=1;Delay();while(SHT11_DATA==1);SHT11_SCK=0;SHT11_DATA=1;}⑺检测SHT11温湿度检测是否完毕voidSHT11_Test_Finish(){while(SHT11_DATA==1);}⑻“写”程序:向SHT11的状态寄存器设置功能,command为REG_WRITE0x06写寄存器,dat为设置SHT11的功能,可以设置检测的数据位数voidSHT11_Write_Register(ucharcommand,uchardat){SHT11_Start();SHT11_Sendbyte(command);SHT11_Answer();SHT11_Sendbyte(dat);SHT11_Answer();}⑼“读”程序:ommand为REG_READ0x07//读寄存器,返回值为状态寄存器的值。位6显示当前检测完一次数据后电源供电情况:当位6为0时表明VDD>2.47V当位6为1时表明VDD<2.47V即电量不足。位0表明当前的测量分辨率:当位0为1时表明测量精度:8位/湿度12位温度,当位0为0时表明测量精度:12位湿度14位温度,默认为0ucharSHT11_Read_Register(ucharcommand){uchardat;SHT11_Start();SHT11_Sendbyte(command);SHT11_Answer();dat=SHT11_Receivebyte();SHT11_End();return(dat);}⑽设置SHT11检测功能,并返回相应的检测结果:command形参用于设定温度检测还是湿度检测,time形参用于设定检测过程中的等待时间,以确定检测结果的位数11ms/55ms/210ms分别对应8位/12位/14位uintSHT11_Measure(ucharcommand,uchartime){uintdat=0;uchardata_high,data_low;SHT11_Start();SHT11_Sendbyte(command);SHT11_Answer();Delay_Ms(time);SHT11_Test_Finish();data_high=SHT11_Receivebyte();MCU_Answer();data_low=SHT11_Receivebyte();SHT11_End();dat=(dat|data_high);dat=(dat<<8)|data_low;return(dat);}⑾将检测到的数据转化为相应的温度数据:温度转换公式--T=d1+d2*Sot,公式中的参数d1=-40,d2=0.01适用于14位测量精度floatSHT11_Convert_Tempeture14bit(uintdat){floattempeture1;tempeture1=-40+0.01*dat;if(tempeture1>100.0){flag_tempeture=1;}elseif(tempeture1<0.0){flag_tempeture=1;}else{flag_tempeture=0;}return(tempeture1);}⑿将检测到的数据转化为相应的湿度数据:相对湿度转换公式RHline=C1+C2*SOrh+C3*SOrh*SOrh,RHtrue=(tempeture-25)*(t1+t2*SOrh)+RHline式中参数C1=-4,C2=0,0405,C3=-0.0000028,t1=0.01,t2=0.00008;适用于12位测量精度floatSHT11_Convert_Humidity12bit(uintdat,floattemp){//floatRHline,RHtrue;RHline=-4+0.0405*dat-0.0000028*dat*dat;RHtrue=(temp-25)*(0.01+0.00008*dat)+RHline;if(RHtrue<10.0){flag_humidity=1;}else{flag_humidity=0;}return(RHtrue);}
4、DS1302时钟芯片DS1302是Dallas公司推出的高性能低功耗涓流充电时钟芯片。可通过简单的串行接口与单片机进行通信,光感应用于智能仪器、单片机系统和家用时钟电路等领域。4.1DS1302时钟芯片的简介DS1302涓流充电计时芯片包含一个实时时钟/日历和31字节的静态RAM。它通过一个简单的串行接口与微处理器进行通信[8]。实时时钟/日历提供秒,分钟,小时,周,日期,月份和年的有关信息。对于少于31天的月份,每月月底的日期是自动调整的,包括对瑞年进行更正,时钟运行可采用24小时制或带AM/PM指示的12小时制。同步串行通信简化了DS1302与微处理的接口。与时钟/RAM通信只需三根线:、I/O(数据线)及SCLK(串行时钟)。时钟/RAM数据的读/写以每次一个字节或多达31个字节的多字节模式传输。DS1302设计为低功耗工作,保持数据和时钟信息的功耗小于1uF。4.2引脚DS1302的引脚(引脚图如图4-1所示)及功能简介如下:图4-1DS1302引脚图第1、2脚:Vcc1、Vcc2电源。第3脚:复位输入端。第4脚:串行时钟输入端。第5脚:数据输入/输出端。第6、7脚:X1、X2是32.768kHz晶振输入/输出端。4.3命令字节表4-1所示为命令字节格式。命令字节启动每个字节的数据传输。该MSB(第7位)必须为逻辑1.如果是0,写入DS1302操作将被禁用。第6位是逻辑1时指定RAM数据。第1至第5位规定特定寄存器作为输入还是输出。LSB(第0位)如果是逻辑0,指定一个写操作(输入);如果是逻辑1,执行一个读操作。命令字节总是从LSB(第0位)输入。表4-1DS1302命令字节765432101RAMSCLKA4A3A2A1A0RD(1)及时钟控制驱动输入高电平可启动所有的数据传输。输入起到两种功能:第一,启动控制逻辑,允许地址/字节序列访问移位寄存器。第二,信号提供了一种终止单字节或多字节数据传输的方法。一个时钟周期是一个上升沿序列,紧跟着下降沿。对于数据输入,在时钟周期的上升沿时间,数据必须正确;在时钟周期的下降沿,数据位输出。如果输入低电平所有数据传输中止。I/O引脚变成高阻状态。数据的传输如图4-2所示。在上电时,必须是逻辑0,直到Vcc>2.0V.此外,当被驱动到逻辑1状态时,SCLK必须为逻辑0。a)单字节传送b)多字节传送图4-2数据传送时序(2)数据输入继输入写命令字节的8个SCLK周期后,在接下来的8个SCLK周期的上升沿输入数据字节。如果有额外的SCLK周期,将被忽略。数据输入从位0开始。(3)数据输出继输入写命令的8个SCLK周期后,在接下来的8个SCLK周期的下降沿输出数据字节。请注意,将被传输的第一个数据位出现在命令字节最后一位被写入后的第一个下降沿。只要维持高电平,如有附加的SCLK的周期,将重新转发数据字节。此操作允许连续多字节模式读取能力。此外,I/O引脚在每个SCLK的上升沿都是三态的。数据输出开始于第0位。(4)多字节模式时钟/日历或由十进制存储单元31(地址/命令1至5=逻辑1)寻址的RAM寄存器可以为多字节模式。如上所述,第6位指定时钟或RAM和第0位指定读或写。在日历/时钟寄存器的地址9至31或RAM寄存器中的地址31不能存储数据。在多字节模式中,读或写开始于地址0的第0位。当在多字节模式下写时钟寄存器时,必须按数据传输的次序写入首八个寄存器。然而,当在多字节模式写入RAM时,为了数据的传输,没有必要写入所有的31个字节。每个被写入的字节都将被传输到RAM,无论31个字节是否都被写入。(5)DS1302内部寄存器DS1302内部寄存器地址及数据分配情况如表4-2所示。1)时钟/日历:时钟/日历包含在7个写/读寄存器中。数据以BCD码形式包含在时钟/日历寄存器中。2)时钟暂停标志:秒寄存器的第7位定义为时钟暂停标志。当此位置1时,时钟振荡器停止,DS1302进入低功耗备用模式,电源消耗小于100nA。当此位置0时,时钟将启动。初始上电状态未定义。3)AM-PM/12-24模式:DS1302能运行于12小时制或24小时制模式下。小时寄存器的第7位被定义为12或24小时模式选择位。当其处于高电平时,选择12小时模式。在12小时模式下,第5位是AM/PM位,其为逻辑高电平表示PM。在24小时模式下,第5位是第二个10小时位元(20-23)小时。当12/24位被改变时,小时数据一定要被重新初始化。表4-2DS1302的日历、时钟寄存器及控制字寄存器名命令字格式取值范围位内容写操作读操作76543210秒寄存器80H81H00-59CH10SECSEC分寄存器82H83H00-59010MINMIN小时寄存器84H85H01-1200-2312/24010HRHRA/P日期寄存器86H87H01-28/29/30/310010DATEDATE月份寄存器88H89H01-1200010MMONTH星期寄存器8AH8BH01-0700000DAY年份寄存器8CH8DH00-9910YEARYEAR写保护寄存器8EH8FH—WP0涓流充电寄存器90H91H—TCSDSRS时钟多字节寄存器BEHBFH——RAM多字节寄存器FEHFFH——4)写保护位:控制寄存器的第7位是写保护位。首7位(第0至第6位)必须为0,读取时始终读0。对时钟或RAM进行任何操作前,第7位必须为0。当写保护位为高电平时,该位阻止对任何其他寄存器的写操作。初始的上电状态没有定义。因此,在写入该器件之前,应清除WP位。5)涓流充电寄存器:该寄存器控制DS1302的涓流特性。涓流充电选择(TCS)位(第4至第7位)控制涓流充电器的选择。为了阻止意外使能,只有1010模式使能涓流充电器。所有其他模式都禁用涓流充电器。DS1302上电时,涓流充电器被禁用。DS为二极管选择位,RS为电阻选择位。6)时钟/日历多字节模式:该时钟/日历命令字节指定多字节触发模式操作。在此模式下,首8个时钟/日历寄存器可以从地址0的第0位开始被连续地读取或写入。当指定写时钟/日历多字节模式时,如果写保护位被设置为高电平,将没有数据传送到8个时钟/日历寄存器(包括控制寄存器)的任意一个。在多字节模式下,涓流充电器不可用。7)RAM:静态RAM是RAM地址空间中连续编址的31×8字节。8)RAM多字节模式:RAM命令字节指定多字节模式操作。在此模式下,31个RAM寄存器从地址0的第0位开始被连续读取或写入。(6)晶振的选择32.768kHz的晶振可通过引脚2和3(X1、X2)直接连接至DS1302。所选定的晶振应该加一个6pF的负载电容。(7)电源控制Vcc1在单电源与电池供电的系统中提供低电源的电池备份。Vcc2在双电源系统中提供主电源,此时Vcc1连接到备份电源,以便在没有主电源,以便在没有主电源的情况下能保存时间信息以及数据。DS1302由Vcc1或Vcc2两者中较大者供电。它与单片机连接后,单片机便可读出其实时时间。连接示意图如图4-3所示[9]。图4-3DS1302与AT89C51连接图4.4DS1302的相关程序DS1302的初始化、写入数据及读出数据的程序如下:⑴DS1302的头文件程序sbitT_CLK=P1^5;
sbitT_IO=P1^6;
sbitT_RST=P1^7;
sbitACC0=ACC^0;
sbitACC7=ACC^7;
⑵DS1302读写程序:d为写入的数据,无返回值
voidRTInputByte(unsignedchard)
{
unsignedchari;
ACC=d;
for(i=8;i>0;i--)
{
T_IO=ACC0;
//相当于汇编中的RRC
T_CLK=1;
T_CLK=0;
ACC=ACC>>1;
}
}
⑶从DS1302读取1Byte数据(内部函数):ACC为返回值
unsignedcharRTOutputByte(void)
{
unsignedchari;
for(i=8;i>0;i--)
{
ACC=ACC>>1;
//相当于汇编中的RRC
ACC7=T_IO;
T_CLK=1;
T_CLK=0;
}
return(ACC);
}
⑷往DS1302写入数据:ucAddr为DS1302地址,ucData为要写的数据,无返回值voidWrite1302(unsignedcharucAddr,unsignedcharucDa)
{
T_RST=0;
T_CLK=0;
T_RST=1;
RTInputByte(ucAddr);
//地址,命令
RTInputByte(ucDa);
//写1Byte数据
T_CLK=1;
T_RST=0;
}
⑸读取DS1302某地址的数据:ucAddr为DS1302地址,ucData为读取的数据,即返回值
unsignedcharRead1302(unsignedcharucAddr)
{
unsignedcharucData;
T_RST=0;
T_CLK=0;
T_RST=1;
RTInputByte(ucAddr);
//地址,命令
ucData=RTOutputByte();
//读1Byte数据
T_CLK=1;
T_RST=0;
return(ucData);
}⑹设置初始时间
voidSet1302(unsignedchar*pClock)
{
unsignedchari;
unsignedcharucAddr=0x80;
Write1302(0x8e,0x00);
//控制命令,WP=0,写操作
for(i=7;i>0;i--)
{
相关知识
基于STM32的智能花盆浇水系统设计
一种监测植物生长环境和自动浇水的智能花盆
基于单片机自动智能浇花浇水控制系统设计
智能花卉浇水系统的设计与实现
基于控制土壤湿度的智能花卉浇水系统设计
自动浇水系统设计
基于单片机智能花卉灌溉浇花浇水检测系统设计
自动浇花家用智能定时浇水懒人外出滴灌系统自动灌溉设备
分享一个简单的自动植物浇水系统电路
法国厂商推出智能花盆 可自动给花浇水施肥
网址: 智能花盆自动浇水系统的设计 https://m.huajiangbk.com/newsview347945.html
上一篇: 毕业设计(论文) |
下一篇: 绿化智能灌溉控制系统,手机智能化 |