主程序 系统初始化 N 参数调整? Y 调用参数调整子程调用电压、电流以及温度保护 判断子程序 N 输出保护动作? Y 调用保护动作子程序 扫描键盘、刷新显示
图4.1 主流程图
29
4.4 键盘子程序设计
键盘中断服务程序由外部中断输入引脚EXINT触发,当有按键按下时,CPU响应EXINT外部中断,转入键盘中断服务程序。
键盘中断服务程序 关闭键盘中断 延时10ms去抖 读P2口,确定是否有键按下 N 有键按下? Y 逐行扫描进行按键识别,计算键值 根据键值和程序运行状态,调用相应键值处理程序 开键盘中断 中断返回 图4.2 键盘中断服务程序流程图
4.5 显示子程序设计
电动机智能保护器所带的液晶显示模块需要实时显示电动机和保护器的运行信息。因此,需要在主循环内不断刷新显示。
显示子程序流程图如图4.3所示:
30
开始 选择字符显示方式设置字符显示区首地址 设置显示缓冲区首地址 取显示内容 输出控制信号 输出显示内容 N 完成显示? Y 返回
图4.3 显示子程序流程图
4.6 定时器及数据采集子程序设计
STC90C58AD单片机有两个与8051相兼容的定时器:定时器0、定时器l。在本装置中定时器0作为普通定时器,产生周期性定时中断以启动AD转换;定时器1作为串行通信的波特率发生器使用。
模拟量的数据采集由AD模块完成,AD转换在定时器0的中断处理程序中启动,采用中断方式,在AD转换完成后读取转换结果,然后对转换结果进行软件滤波。
开关量的数据采集直接从FO口读取逻辑电平值即可。 程序流程图如图4.4所示。
31
开始 清除中断标志 读取转换结果 软件滤波处理 读取开关量输入信号 结束
图4.4采集子程序流程图
4.7 参数调整子程序设计
本电动机智能保护器的保护功能面向的是交流电机,对于不同型号的交流电机,各自的工作电压、电流、额定功率、额定温升都有不同,为使保护器能够适用于各种不同的情况在程序设计时添加了参数调整子程序,在保护器投入使用之前根据不同的电动机型号及类型进行必要的参数设置,这样就可以使保护器的使用更加灵活,扩大了适用范围。
参数调整模块的子程序流程图如图4.5所示。
32
开始 参数切换 显示当前参数值 修改 确认 显示当前参数 Y 修改下一个? N 结束
图4.5 参数调整子程序流程图
34