_多功能自动定时浇花系统软件设计.ppt

_多功能自动定时浇花系统软件设计.ppt

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

主要函数分析ADC0832A/D转换函数ADC0832的CS端为使能端,低电平有效,在进行AD转换时,CS必须一直保持低电平,直到转换结束。在芯片进行AD转换的时候,由单片机向其CLK端发送时钟信号,向其DO端和DI端输入通道功能选择的数据信号。当DO、DI分别是1、0时,只对CH0进行单通道转换;当DO、DI分别是1、1时,只对CH1进行单通道转换;当DO、DI分别是0、0时,CH0作为正输入端,CH1作为负输入端;当DO、DI分别是0、1时,CH0作为负输入端,CH1作为正输入端。ADC0832进行一次A/D转换时,要经历几个脉冲的铺垫,在第一个脉冲的下降沿之前,芯片的DI端要一直置为高电平,作为A/D转换的起始信号。在第2、3个脉冲下降沿之前,通过对DI口输入2位数据,用于选择通道功能。第三个脉冲的下降沿之后,DI端停止数据输入的作用,此后,DO和DI端开始进行数据输出的功能。从第四个脉冲的下降沿开始进行数据的输出。第四个脉冲到第十一个脉冲输出8位数据,先输出数据的最高位,最后输出数据的最低位。从第十一个脉冲到第十九个脉冲输出相同的8位数据,不过是先输出这8位数据的最低位,第19个脉冲时输出最高位,此时完成第二次数据的转换输出。在程序中将两次接收到的数据进行比较,判断数据是否一样,如果一样则说明数据转换正常。在转换结束后,将使能端CS置为高电平。ADC0832流程图主要函数分析LCD1602相关函数LCD1602要进行正常的显示就必须对其相关设置进行设置。设置的过程包括对1602检查是否繁忙、写指令的准备、写数据的准备、以及各种显示规则的设置。STA7STA6STA5STA4STA3STA2STA1STA0D7D6D5D4D3D2D1D0状态字说明STA0-6:当前数据地址指针的数值STA7:读写操作使能,1:禁止,0:允许注:每次向1602写数据或者写命令的时候,都进行检查忙函数的运行,确保状态字的最高位是低电平。指令码功能00111000设置16×2显示,5×7点阵,8位数据接口显示设置的状态字显示开关的状态字指令码功能80H+地址码(第一行0-27H;第二行40H-67H)设置数据地址指针数据指针的状态字主要函数分析根据以上的状态字说明以及各种设置,一个完整的LCD1602函数包括检查忙函数、写指令函数、写数据函数、以及初始化函数。检查忙函数流程图写指令函数的流程图写命令函数流程图写数据函数流程图初始显示内容设置主要函数分析水泵运作函数为了满足定时浇水,此函数用到了T0定时器。水泵运作函数有两个:water()和定时器T0函数。water()函数主要功能是将读取到的湿度数值与湿度的上下限作比较,如果读取的信号比湿度下限还要低,就开启定时器进行浇水;如果高于湿度的上限,就关闭定时器,停止浇水。也就是说用water()函数控制定时器T0,再由定时器控制水泵。water()函数的流程图如图:水泵运作函数water()流程图主要函数分析由于水浸润到土壤需要一定的时间,导致了土壤实际湿度与单片机检测到的湿度存在着时间差,所以采用定时器控制水泵进行定时浇水。即浇水3s以后,停止浇水等待水浸润3s,再次检测土壤湿度与湿度上下限比较,判断是否浇水。用定时器T0来完成这个功能,首先给定时器赋初值,定时器开始工作以后,变量count进行自加。count的值在0到60之间时,水泵被启动,count在60到120之间时,水泵被停止工作。定时器函数的流程图如图:定时器函数流程图主要函数分析按键函数本设计的按键函数有两个key0()和key1()。Key0()函数主要是记录设置键K1按下的次数,并且将次数赋值给k1n。当K1被按下一次时,k1n的值加一,k1n等于3时k1n的值被重新定义为0,即k1n的值在1、2和3三个数之间循环。在key1()函数中实现对不同的k1n值执行不同的功能。当k1n等于1时,这时候就应该调节湿度的上限,此时按下k2时增加上限,按下k3时减小上限;当k1n等于2时,这时候就应该调节湿度的下限,此时按下k2时增加下限,按下k3时减小下限;当k1n=3时,进入手动浇水模式,此时如果按下k2,就是直接启动水泵,浇水开始,再按下k3键就是停止浇水。此次采用的按键都是机械按键,在触发机械按键的时候,总存在着抖动现象,这种现象会导致数值的增加不能正常执行,即不能说加一就加一,有时按一下会增加多个数字,而且不可控。为了消除这一现象,采用的方法有硬件消除和软件消除[26]。硬件消除

文档评论(0)

***** + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档