基于单片机的自动窗帘控制系统(6)

2019-05-26 23:05

第4章 程序分析与设计

系统软件设计主要有几部分组成,其中包括显示子程序,按键子程序,定时时钟程序,步进电机控制程序等。本章介绍了自动窗帘控制系统的主程序以及各主要部分功能程序的设计过程,程序代码详见附录。

4.1 主程序设计

主程序构成无限循环,主要完成单片机初始化,关中断,菜单显示内容初始化,按键扫描,电机运行,计时等功能。

主程序的流程图如图4.1所示。

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

图4.1 主程序流程图

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

22

4.2 主要功能子程序设计

4.2.1 步进电机程序设计

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

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

步步步步步步步步是正转吗?传送正转的脉冲序列N传送步数是否完毕?Y返回传送步数是否完毕?Y

传送反转的脉冲序列N图4.2.1 步进电机工作流程图

4.2.2 显示程序

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

显示子程序流程图如图4.2.2所示。

23

显示子程序显示器缓冲起始地址60H→Ro显示位代码01H→R2位代码R2→89C51取显示数据查表转换成显示代码→89C51延时指针R0加1N6位显示完吗?Y返回 R2左移1位图4.2.2 显示部分流程图

4.2.3 键盘程序设计

按键的触点在闭合和断开时均会产生抖动,这时触点的逻辑电平是不稳定的,如不妥善处理,将会引起按键命令的错误执行或者重复执行。现在用软件延时的方法来避开抖动阶段。在判断是否有键闭合后都延时5ms,按下键后再延时12ms就可以避免键盘的抖动。然后键码分析,执行相应的模块,显示后返回。

键盘子程序如图4.2.3所示。

24

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

4.2.4 定时程序设计

定时的主要功能是在设定时间单片机能够得到中断信号,从而控制窗帘的开关。时钟发出50ms的信号给单片机,计数器计数,当计数到20,则过了1秒,秒单元数值加1,当秒单元到达60,分单元数值加1,秒单元清零。当时单元到达24,时单元清零。标志1天时间计满,把他们的值放到存储单元的指定单元。图4.2.4是定时功能流程图。

25

开始现场保护,重置初值,启动下一个50ms50ms,计数器加1计数器=20?Y秒单元加1,50ms计数器清零,秒写入秒个位和秒十位N秒单元=60?Y分单元加1,秒单元清零,分写入分个位和分十位N分单元=60?Y时单元加1,分单元清零,时写入时个位和时十位N时单元=24?Y时单元清零返回图4.2.4 定时功能流程

4.2.6 DS18B20测温流程图

DS18B20的测温原理如图2-5所示,图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2 计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。DS18B20在正常使用时的测温分辨率为0.5℃,如果要更高的精度,则在对DS18B20测温原理进行详细分析的基础上,采取直接读取DS18B20内部暂存寄存器的方法,将DS18B20的测温分辨率提高到0.1~0.01℃。

26


基于单片机的自动窗帘控制系统(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:课外阅读初三语文课课练

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

马上注册会员

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