毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

单片机花卉温室控制系统 第7页

更新时间:2008-5-9:  来源:毕业论文

单片机花卉温室控制系统 第7页

   系统软件设计

系统的操作过程和工作过程在程序的设计过程中起着很重要的指导作用,因此在软件设计之前应首先分析温室的工作流程。

1、工作流程

温室在上电复位后先处于停止加热状态,这时  用“+1”键设定预置温度,显示器显示预定温度;温度设定好后就可以按启动键启动系统工作了。温度检测系统不断定时检测当前温度,并送往显示器显示,达到预定值后停止加热并显示当前温度;当温度下降到下限(比预定值低于10)时再启动加热。这样不断重复上述过程,使温度保持在预定温度范围之内。启动后不能再修改预置温度,必须呆板复位/停止键回到停止加热状态再重新设定预置温度。

根据上面对工作流程的分析,系统软件可以分位以下几个功能模块:

键盘管理:监测键盘输入,接受温度预置,启动系统工作。

显示:显示设置温度及当前温度。

温度检测及温度值变换:完成A/D转换及数字滤波。

温度控制:根据检测到的温度控制电炉工作。

报警:当预置温度或当前温度越限时报警。

2、资源配置

为了便于阅读程序,首先给出单片机资源分配情况。7;数据存储器的分配与定义见表4

 

           4   温度控制软件数据存储器分配表

地址

功能

名称

初始化值

51H

当前检测温度

TEMP0

00H

52H

预置温度

ST0

00H

53H54H

码显示缓冲区

T10T

00H

55H

二进制显示缓冲区

BT0

00H

59H7FH

堆栈区

 

 

 

PSW.5

报警允许标志

F0=0是禁止报警;F0=1允许报警

F0

0

程序存储器:EPROM2764的地址范围为0000H1FFFH

I/O :P1.0P1.3—键盘输入;P1.6P1.7—报警控制和电炉控制。

A/D转换器0809:通道0∽通道7的地址为7FF8H7FFFH,使用通道0

3、功能软件设计

1)键盘管理模块

上电或复位后系统处于键盘管理状态,其功能是监测键盘输入,接收温度预置和启动键。程序设有预置温度合法检测报警,当预置温度超过25是会报警并将温度设定在25。键盘管理子程序流程图如图20所示。

若图片无法显示请联系QQ752018766

20      键盘管理子程序流程图

键盘管理子程序KIN

KIN    ACALL     CHK                预置温度合法性检测

         MOV       BT0ST0           预置温度送显示缓冲区

         LCALL     DISP               显示预置温度

KINO   ACALL     KEY               读键值

         JZ        KIN0               无键闭合和重新检测

         ACALL     DISP     

         ACALL     DISP               二次调用显示子程序延时去抖

         ACALL     KEY                再检测有无键按下

 JZ        KIN0               无键按下重新检测

         JB        ACC.1S1

         MOV       A#10              十位键按下

         AJMP      SUM

S1     JB        ACC.2S0

SUM    ADD       AST0             预置温度按键+1

MOV       ST0A     

KIN1   ACALL     KEY                判断闭合键释放

JNZ       KIN1               未释放继续判断

AJMP      KIN                闭合键释放继续扫描键盘

S0     JNB       ACC.0              无键按下重新扫描键盘

RET                          启动键按下返回

KEY    MOV       AP1              读键值子程序

CPL       A

ANL       A#0FH

RET

预置温度合法性检测子程序CHK

CHK     MOV      A,#19H               预置温度上限送A

          CLR      C

SUBB     AST0              相减,借位CY

JC       OUTA                预置温度越界,转报警

ET

OUTA    MOV      ST0#19H            25写入预置温度数据区

          CLR      P1.6                 发报警信号0.6S

          ACALL    D0.6S   

          SETB     P1.6                 停止报警

          RET

2)显示模块

显示子程序的功能是将缓冲区55H的二进制数据先转换成BCD码,分别存入个位和十位显示缓冲区53H54H单元,然后通过串口送出显示。

   显示子程序DISP

   DISP      ACALL       HTB        ;将显示数据转换成BCD

      若图片无法显示请联系QQ752018766         MOV         SCON#00H ;置串行口为方式1

               MOV         R2#02H   ;显示位数送R2

               MOV         R0#T10   ;显示缓冲区首地址R0

   LD        MOV         DPTR#TAB ;指向字形码表首地址

               MOV         A,@R0      ;取显示数据

               MOVC        A,@A+DPTR  ;查表

               MOV         SUBFA    ;字形码送串行口

  WAIT       JBC         TINEXT   ;发送结束转下一个数据并清中断标志

               SJMP        WAIT       ;发送未完等待

  NEXT       INC         R0         ;修改显示缓冲区指针

               DJNZ        R2LD     ;判2位显示完毕,未完继续

               RET

 TAB        

BCD码转换成子程序HTB

 HTB         MOV         ABT0     ;取二进制显示数据

               XCH         AB

            若图片无法显示请联系QQ752018766   DIV         AB

               MOV         T10A     ;十位数送53H

               MOV         TB       ;个位数送54H

               RET

3)温度检测模块

A/D转换采用查询方式。为提高数据采样的可靠性,对采样温度惊醒数字滤波。数字滤波的算法很多,这里采用4次采样取平均值的方法。如前所叙,本系统A/D转换结果乘2正好是温度值,因此,4次采样 的数字量之和除以2就是检测的当前温度。检测温度存入51H。温度检测子程序流程图如图21 所示。若图片无法显示请联系QQ752018766

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页

单片机花卉温室控制系统 第7页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。