北京化工大学继续教育学院毕业设计(论文)
访问物理地址,能进行位操作,可以直接对硬件进行操作。采用高级语言C语言编程可使编程人员有更多的时间考虑功能的实现、软件结构的设计,而减少编程本身花费的时间。但是,采用C语言编写的程序生成的指令代码会较长,因此C语言编写的程序执行起来会较汇编程序花费的时间长。
汇编语言具有程序代码短小精悍,程序效率高等优点。但是,汇编语言与高级语言相比存在诸多不利因素:工作量大、变量组织困难、地址安排复杂、容易出错、调试困难、开发周期长、通用性差、可读性差,不利于软件的升级和保护功能的改进。
为达到设计要求并充分利用单片机的资源和性能,课题的软件设计采用C语言与汇编语言混合编程。对于大量的数据运算,例如数据采集、软件滤波、程序逻辑判断等的实现采用C语言:对于设计硬件、端口操作以及其它实时性要求较高的操作采用汇编语言编程;软件整体结构采用C语言编写,这样就兼顾了程序的效率和可读性。
4.2 保护器软件系统整体设计
软件系统采用主循环加中断处理程序的模式。主程序循环完成键盘扫描和显示刷新任务,响应用户输入的键盘命令并实时显示故障处理程序输出信息;中断处理程序主要有定时器定时时间到中断、A/D转换完成中断、串行口接收发送完成中断等。在主循环执行过程中一旦出现中断申请,系统在运行完临界代码后立即暂停执行主循环程序,转而执行中断服务程序。中断执行完成后,回到主循环程序的断点处继续执行主循环程序。系统程序根据中断处理任务的重要性,给中断处理程序赋予不同的优先级,高优先级的中断可以暂停低优先级的中断处理程序,使CPU转而执行高优先级的中断处理程序。
根据模块化的思想,软件系统按照功能可以划分为如下几个模块:
(1)人机接口模块:包括液晶显示子模块和键盘检测子模块。液晶显示模块负责电量显示、装置信息显示、整定值和控制值显示;键盘检测子程序主要检测按键状态与键值处理子程序相配合完成系统运行参数的设置。
(2)通信子程序模块:通过串行口将电动机以及电动机保护装置本身的运行参数传输到上位机PC中。
(3)数据采集程序模块:通过数据采集通道将外界的模拟量、开关量全部转换成数字量送入单片机,然后利用软件滤波程序对采集到的数据进行软件滤波。
29
北京化工大学继续教育学院毕业设计(论文)
(4)数据处理、保护决策程序模块:对采集到的数据进行一定的运算,并根据数据进行保护决策。
(5)系统抗干扰程序设计:包括数据滤波以及看门狗程序等。
4.3 保护器主程序设计
主程序的主要功能是对系统各个外设模块进行初始化、调用各个子程序完成各项功能和开中断等。上电复位后,单片机将复位向量装载到程序地址寄存器,然后CPU就从复位向量处开始执行程序。主程序先进行初始化,为各个子程序的调用和系统各个模块的使用做好准备,然后查询按键,判断是否需要进行各种控制参数的调整。如果需要调整参数则进入参数调整子程序,进行各种参数的设置;最后程序进入主循环。
主程序的主体结构为一个无限循环,单片机不断重复调用电压、电流、温度的判断程序,一旦出现故障便输出保护动作并报警。同时进行按键的扫描和显示刷新。
主程序并不参与具体的工作,而是去管理各子程序,各种工作均由不同的子程序分别完成。这种方式可以实现程序的模块化设计。使主程序和子程序的修改及调试工作都变得十分方便。
主程序流程图如图4.1所示:
30
北京化工大学继续教育学院毕业设计(论文)
主程序 系统初始化 N 参数调整? Y 调用参数调整子程调用电压、电流以及温度保护 判断子程序 N 输出保护动作? Y 调用保护动作子程序 扫描键盘、刷新显示
图4.1 主流程图
4.4 键盘子程序设计
键盘中断服务程序由外部中断输入引脚EXINT触发,当有按键按下时,CPU响
31
北京化工大学继续教育学院毕业设计(论文)
应EXINT外部中断,转入键盘中断服务程序。
键盘中断服务程序 关闭键盘中断 延时10ms去抖 读P2口,确定是否有键按下 N 有键按下? Y 逐行扫描进行按键识别,计算键值 根据键值和程序运行状态,调用相应键值处理程序 开键盘中断 中断返回 图4.2 键盘中断服务程序流程图
4.5 显示子程序设计
电动机智能保护器所带的液晶显示模块需要实时显示电动机和保护器的运行信息。因此,需要在主循环内不断刷新显示。
显示子程序流程图如图4.3所示:
32
北京化工大学继续教育学院毕业设计(论文)
开始 选择字符显示方式设置字符显示区首地址 设置显示缓冲区首地址 取显示内容 输出控制信号 输出显示内容 N 完成显示? Y 返回
图4.3 显示子程序流程图
4.6 定时器及数据采集子程序设计
STC90C58AD单片机有两个与8051相兼容的定时器:定时器0、定时器l。在本装置中定时器0作为普通定时器,产生周期性定时中断以启动AD转换;定时器1作为串行通信的波特率发生器使用。
模拟量的数据采集由AD模块完成,AD转换在定时器0的中断处理程序中启动,采用中断方式,在AD转换完成后读取转换结果,然后对转换结果进行软件滤波。
开关量的数据采集直接从FO口读取逻辑电平值即可。
33
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库小功率交流电动机综合保护器设计 - - 毕业论文(8)在线全文阅读。
相关推荐: