智能窗帘控制系统的设计研究(6)

2019-04-15 11:20

图3.14 温度模块

21 21

第四章 软件设计

智能窗帘控制系统的程序分析与设计包括主程序设计,步进电机程序设计,显示程序设计,键盘程序设计,定时程序设计几部分。本章节系统的介绍了智能窗帘控制系统的主程序和各主要功能子程序的设计流程。

4.1 软件主程序设计

主程序主要完成单片机初始化,关中断,菜单显示内容初始化,按键扫描,电机运行,计时等功能。主程序的流程图如图4.1所示。

开始关中断设置堆栈复位初始化设定键?NY电机控制键显示设定时间YN有键操作?开始计时Y电机工作NN键码分析Y到点了?Y工作完成?命令键?NYN电机停止数码键处理

图4.1 主程序流程图

22 22

主程序流程说明:电路主要分为以下几个部分,分别是电源部分、显示部分、按键部分、步进电机控制部分、A\\D转换部分、单片机主控器件部分,各部分具有不同的子程序。

启动主程序,先关中断并且设置堆栈,接着初始化寄存器,初始化显示内容;然后执行按键查询,执行相应的操作。如果是设定键,则设定时间,开始计时;到时间后步进电机开始相应的工作,工作完成后停机。如果是电机控制键,则也执行相应的工作。如果都不是,则是复位键,采取复位操作。

4.2 软件子程序设计

4.2.1 步进电机程序设计

步进电机是操控窗帘开闭的主要执行器件,其设计主要是按照单片机指令以及按键指令进行正转或者反转。图4.2是步进电机工作流程图。

开始步进电机是正转吗?NY传送正转脉冲序列传送反转脉冲序列N传送步数是否完成?传送步数是否完成YNY返回

图4.2 步进电机工作流程图

23 23

步进电机程序设计的主要任务是: (1)判断旋转方向; (2)按顺序传送控制脉冲;

(3)判断所要求的控制步数是否传送完毕。

总之,只要按一定的顺序改变 P2.0-P2.3 四位通电的状况,即可控制步进电机依选定的方向步进。而对于节拍比较多的控制程序,通常采用循环程序进行设计。

开始显示子程序显示器缓冲起始地址60H→R2显示位代码01H→R2位代码R2→89C52取显示数据查表转换成显示代码→89C52延时指针R0加16位显示完吗?R2左移一位返回

4.2.2 显示程序设计

图4.3 显示部分子程序流程图

显示程序开始后,起始地址60H发送到R0,01H发送至显示位代码R2,再将位代码发送到单片机A口,单片机取显示数据查表转换成显示代码发送至单片机B口,延时2ms,指针R0加1,然后判断6位显示是否完成。如果完成则返回,没完成则位代码R2左移一位,继续显示查表,一直到6位显示完成后返回。显示部分子程序流程图如图

24 24

4.3所示。

4.2.3 键盘程序设计

在操作按键时,无论是按下还是松开,触点在闭合和断开时均会产生抖动,此时逻辑电平是不稳的,如果得不到正确处理,可能会引起单片机对按键命令的错误执行。解决这个问题的简单方法是利用软件延时。在单片机处理按键操作后都延时6ms,如果确定是按键后再延时12ms,这样基本可以避免键盘的抖动。然后由单片机进行键码分析,并执行相应的命令,显示并且返回。图4.4是键盘程序设计流程图。 4.2.4 定时程序设计

定时程序的主要作用是在用户设定的时间后能够使单片机收到一个中断信号,从而发出相应的指令,控制窗帘的开关。时钟芯片发出50ms的信号给单片机后,计数器开始工作,计数器记到20,时间即为1秒,秒单元加1,当秒单元计数到60,分单元加1,此时秒单元清零。当时单元计数到24时单元清零。图4.5是定时程序流程图。

开始有按键闭合?N调用显示子程序延时6ms两次调用显示子程序延时12msYN有按键闭合?Y键码分析执行相应的模块显示返回 图4.4 键盘程序流程图

25 25


智能窗帘控制系统的设计研究(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:XX框架结构客运站工程主体施工方案

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

马上注册会员

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