首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

嵌入式智能小区自动电能计费系统 02

嵌入式智能小区自动电能计费系统 02

分别递增的方法如下:T0(或T1)每检测到1个脉冲的下跳沿,TL0(或TL1)溢出中断1次,在中断服务程序中对K/10值寄存器和K值寄存器分别减1。K/10值寄存器减到0时,0.1度值寄存器递增0.1度,并对K/10值寄存器重新置初值;K值寄存器减到0时,度值寄存器递增1度,并对K值寄存器和K/10值寄存器重新置初值。这样在电量为整度时,累计误差将为0。



TL7705CP为电源检测电路。数据采集器使用住户220V电源供电,当线路停电采集器工作电压由 5V降到4.75V以下时,系统复位,即由原来的高电平变为低电平,在外部中断0输入端产生下降沿即外部中断请求信号;在中断服务程序中将89C52内部RAM中的总电量和K/10值寄存器、K值寄存器内容在电源电压消失前的一段很短时间内存入串行EEPROM 24C02中,以备重新来电时将总电量和脉冲量取出。89C52的P1口外接拨动开关,用于惟一确定电能数据采集器的地址。设置外部中断0的中断优先级为高优先级。

三、通信工作流程及部分程序框图

1.通信工作流程
(1)计算机首先发送通信中继单元的地址0。
(2)32个通信中继器均接收这个地址,然后和自己的地址(由P1口的拨动开关惟一确定)比较,只有地址相等的通信中继器,发送数据采集器的地址才为0。

(3)地址为0的数据采集器将T0和T1采集的总电量先后发送给通信中继单元,通信中继单元再将接收的数据发送给计算机。
(4)重复第(3)步,直到将32个数据采集器的64个数据全部发送给计算机。
(5)计算机发送通信中继器的地址1。重复第(2)、(3)、(4)步,直到将32通信中继器的32×32×2=2048个数据全部发送给计算机,本次通信结束。

2.程序框图

(1)电能数据采集器
在数据采集器中,分为主程序和4个中断服务程序。4个中断源分别是电源掉电引起的外部中断0、T0和T1的溢出中断、串行中断。4个中断源中,外部中断0设置为高优先级中断,其余3个为同级的低优先级中断。当这3个中断源同时申请中断时,中断的贵州省顺序是:定时器0溢出中断、定时器1溢出中断和串行口中断。
主程序主要完成T0、T1和串行口的初始化,从24C02串行EEPROM中读取在电源电压消失前的一段很短时间内存入的总电量和K/10值寄存器、K值寄存器的计数值。
T0和T1中断服务程序中完成脉冲的计数和电量的递增。具体内容在上面已作详述。
外部中断0中断服务程序中将89C52内部RAM中的总电量和K/10值寄存器、K值寄存器在电源电压消失前的一段很短时间内存入串行EEPROM中,以备重新来电时将总电量和脉冲量取出。如图5所示为数据采集器串行通信的框图。
返回列表