基于AT89S52单片机的电机控制系统设计
处理,去抖动采用延时去抖法。显示子程序在主程序中被调用对时间进行实时显示。
3.2 主程序流程图
主程序流程图如图2所示,主要完成系统的初始化、按键扫描、显示程序及其他子程序调用等功能。
初始化时关闭定时中断,P0.O~P0.2口输出高电平,状态指示灯熄灭,P3.0~P3.1口输出高电平电机停止转动,对LCD初始化显示,显示4行信息,2行显示时间,格式为时:分:秒,另外2行为时间的说明文字。将所有的初始化功能写成一个子程序,主程序只需调用它即可完成系统初始化。初始化完成之后,扫描按键,如有按键按下,调用相应的处理程序。时间设定键按下时,被选中的时间单位将会不断的闪烁,区别于其他没有被设置的时间单位,通过K1,K2键对时间进行改动,按下K3键退出时间设定。开始键被按下时,开启定时中断,LCD显示时间开始倒计时,PO.1口输出低电平,正向转动指示灯亮,P3.0输出低电平,电机开始正向转动,在中断服务程序中控制PO.0口输出电平,使正常工作指示灯1 s闪烁一次。停止键被按下时,P3.O~P3.1输出高电平,电机停止转动,P0.0~P0.2输出高电平,状态指示灯熄灭,关闭定时中断,停止计数。正向转动时间结束时,反向转动开始倒计时,P3.O输出高电平,P3.1输出低电平,电机反向转动,P0.1输出高电平,PO.2输出低电平,正向转动指示灯熄灭,反向转动指示灯亮。显示程序实时将时间的变化在LCD上显示。
4 结语
该系统经实际运行,可以满足在功能键的操作下对时间进行设定,控制电机的启动、正反向转动、停止,状态指示灯正确显示工作状态,LCD正常的显示了时间。
本系统将应用于一个阀门的自动打开闭合装置,正向转动时阀门打开,反向转动时,阀门关闭,实现对液体流量的控制,具体应用时还需要对阀门打开闭合的状态进行检测。
- 基于汇聚式处理器BF50x轻松实现电机控制(02-27)
- 新的步进电机控制器/驱动器简化步进电机系统设计(10-29)
- 通过智能电机控制优化实时性能与效率(02-10)
- 基于Cortex-M3的STM32微控制器处理先进电机控制方法(03-07)
- 基于Cortex M3处理器的开关磁阻电机控制器设计(05-08)
- 瑞萨推出基于RX的瑞萨先进电机控制算法(06-24)