4.1 单相智能电表软件流程图
为了实现单相智能电表的功能,系统程序设计分为电表功能实现模块和电表参数校正模块。电表功能实现模块的主要功能为:实现操作人员对智能电表系统控制、使用和管理。所以电表功能实现模块为电能表的核心模块。电表功能实现模块流程图如图10所示。
单相智能电表系统参数包括电压、电流、电能、波特率等,在运行之前要对这些参数分别进行初始化。
图10 电能表软件流程图
4.2. 系统初始化
系统开始运行后,初始化程序将采集数据存放单元清零,将液晶显示数据存放单元清零,设置串口通信波特率为9600bit/s,并设置中断向量,初始化由边沿触发的外部中断0。中断子程序如图11。
4.3 系统子程序模块
4.3.1 系统参数自校正模块
系统参数自校正模块主要对单相智能电表的系统参数自校正提供一个用户管理界面,用户可以通过管理界面对智能电表的额定电压、电流、功率等参数进行校正,并把校正后的参数存入寄存器。其工作流程为:首先,在输入端加载达到电表额定值信号,观察最终输出值,然后根据输出值判断是否存在误差,如果存在误差则通过键盘调整其额定参数,进而实现对智能电表额定参数校准,参数校正无误后将其保存,提高智能电表的测量精度。其工作流程如图12所示。
图11 中断子程序
图12 系统参数校准流程
4.3.2 电能测量模块
电能测量功能模块程序用来控制电能芯片CS5460A实现对经过前端控制电路处理后的电压、电流、功率、电能信号的测量、转换和计算,并将计算出的功率、电压、电流有效值等写入AT89S52对应的寄存器中,然后AT89S52根据系统软件程序和键盘命令进行调用、输出、显示。电能测量模块流程图如图13。
图13 电能测量流程图
4.3.3 电能校准模块
电能表校准模式通过键盘写入命令选定,选定工作模式后单相智能电表ETUO端输出脉冲信号,将脉冲信号送入智能电表校准装置进行电能表参数校准。电能表校准模块流程图如图14。
图14 电能表校准模式流程图
5. 系统调试
根据单相智能电表功能的标准,系统测试过程共分为三大部分:硬件电路电气规则调试、软件程序编译和系统总体功能调试与仿真。
单相智能电表硬件电路按每个模块进行电气规则检测,各功能模块逐个检测后,再进行整体硬件电路电气规则检测。单相智能电表的软件程序先在Keil上进行编译无误后,生成HEX文件然后调入到AT89S52中进行电表的整体功能仿真与调试。
5.1 硬件电路电气规则调试
硬件电路电气规则调试,首先仔细检查每个元器件之间的连线是否与逻辑图一致,然后调整硬件电路布局,使其美观、整齐、无误,最后启用proteus中电气规则检查选项进行单相智能电表整体硬件电路电气规则检测。
5.2 软件程序编译及调试
本系统的软件设计是在Keil uvison3的软件环境下采用C语言编程和调试的,它是一种专门为8051单片机设计的高效率语言编译器,生成的程序代码运行速度高,所需的存储空间小。
启动keil uvision3后,首先建立新的工程文件,在弹出的对话窗口中输入项目文件max,在空白文档中输入源程序后选择合适路径保存。其次,新建工程选择ATMEL公司的AT89S52。创建新项目后会自动包含一个默认的目标Target1和文件组Source Group 1。然后将建立的原程序文件保存到Source Group 1中,再对一些系统参数设置后进行编译,无误后在编译生成HEX文件。 AT89S52单片机单相智能电表设计+流程图+仿真图(5):http://www.youerw.com/zidonghua/lunwen_1721.html