自动变量施肥机控制系统研究(二)(4)

2012-10-26 23:53

  “手动/自动”模式的转换通过对AT89C55WD单片机P3.5引脚高低电平的切换来实现,低电平表示手动控制模式,高电平表示自动控制模式。

  为了实现对排肥量的自动监测,系统需要接收检测排肥量传感器传来的反馈信号,修正输出脉冲。所以还要给检测电路预留接口,为实现闭环控制做好准备。

  系统还需要能使芯片工作起来的晶振电路和复位电路,晶振选择12MHz频率。

  通过对系统要求的分析和单片机各个部分工作的分配,设计系统硬件电路原理图。如图所示。

  第四章  软件设计
  在研制单片机应用系统时,汇编语言是一种常用的软件工具。它能直接操作硬件,指令的执行速度快。但其指令系统的固有格式受硬件结构的限制很大,且难于编写与调试,可移植性也差。随着单片机硬件性能的提高,其工作速度越来越快,因此在编写单片机应用系统程序时,更着重于程序本身的编写效率。因此在单片机的开发应用中,已逐渐开始引入高级语言,C语言就是其中的一种。

  C语言是一种高级程序设计语言,它提供了十分完备的规范化流程控制结构。C语言具有库函数丰富、运算速度快、可移植性强、较高的编译效率及可产生较紧凑的代码等特点。美国Archimedes公司和Franklin Software公司在九十年代初专门为基于51系列的单片机开发了高级语言工具C51。利用该工具编写的代码简单高效,结构清晰,可以直接实现对系统硬件的控制【12】。尤其是后来不同类型的微处理器及其更新产品的开发工具基本上都支持C语言,使得采用C51语言设计的单片机应用程序易于移植和维护,整个程序应用系统易于调试。

  4.1 DGPS数据读取
  当系统处于自动工作模式时,需要通过串口接收DGPS传输的信息,用于确定当前施肥机具所处的位置和所具有的速度。

  DGPS接收机所发送的数据一般都是标准的NEMA-0183格式,NMEA-0183卫星差分数据主要包括UTC_DATE(日期)、UTC_TIME(时间)、GPS_STATUS(卫星状态)、DOP(DOP值)、ANT_LAT(纬度)、 ANT_LON(经度)、ANT_HAE(高程)和SPEED(速度),等等。数据采用ANSI标准,以串口非同步方式传送【14】。

  AgGPS132的输出频率有1Hz、2Hz、5Hz和10Hz四种,根据实际需要选用频率为1Hz。这里设定RS-232串口数据通讯协议为:接收波特率为4800bit/s,数据为8bit,无奇偶校验位,1位开始位,1位停止位。接收到的语句如下:

  $GPGGA,151924350.983182,N,12519.855573,E,1,03,2.9,244.31,M,12.16,M,,*6E

  $GPVTG,0,T,,,5.163497,N,5.356732,K,A*33

  通过截取$GPGGA语句中的第2、4字段,得到当前施肥机位置信息,截取$GPVTG语句中的第7字段得到当前施肥机速度信息。

  当通讯端口初始化完成并打开后,将DGPS数据读入接收缓冲区,然后判断缓冲区的字符串,提取位置和速度信息并存到存储器的特定地址中,再进行数据处理。

  由于大多数情况下一个地块通常不足以跨越一度的距离范围,所以将位置信息中表示“度”的值舍去,只取表示“分”的值,以减小信息存储量,提高运算速度。如果出现一个地块跨越了“1度”范围的情况,则在程序中将读到的实时位置信息中表示“分”的值加上常量60,再用于计算。

  程序中,通过判断前缀的方法来识别不同的数据信息,用检测回车换行符的方法进行分行。提取有用信息的过程是:判断是否接收到$符号,如果是$符号则接收,到第二个逗号时开始将接收到的纬度前两位舍弃,只截取后九位字符存到F1H~F9H单元中;接着判断是否接收到第四个逗号,如果是第四个逗号则开始将接收到的经度前三位舍弃,只截取后九位,其中六位存到FAH~FFH单元中,最后三位存到84H~86H单元中;同样方法截取速度前4位字符存到94H~97H单元中;判断是否到回车或换行符,若是回车或换行符则接收完毕。串口中断接收程序流程如图4.1所示。

自动变量施肥机控制系统研究(二)(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:好氧接触氧化法处理制浆造纸废水

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: