找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4202|回复: 2
打印 上一主题 下一主题
收起左侧

小弟初学者写的程序,望高手哥哥来指正下

[复制链接]
跳转到指定楼层
楼主
ID:24431 发表于 2010-6-11 08:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
 

0809的最大工作频率可以达到 1280kHz, 这样转换一次就只要50us,而对于50Hz的交变电流,一个周期为20ms,这样至少就可以取到400个值即200对电流电压值。

有了每个时刻的瞬时电压值和瞬时电流值,则有功功率就能很容易的计算出来。对于无功功率,可以这样子来构想一个模型,对于200个电压值和电流值,让电压移相 ,即01H的电流值与第51个电压值(指针地址为33H的电压值)相乘,依此类推,第151个电流值与第1个电压值相乘,直到第200个电流值与第50个电压值相乘。所有的乘积相加,再除以该交流电周期,无功功率即可算出,结果存入存储器中。无功功率已知,视在功率也可算出来。

有功功率计算的具体的程序如下:

      MAIN:   MOV    R6,#00H                 ;计算值存储位置

              MOV    R2,#C8H                 ;设置循环次数

              MOV    R1,#00H                 ;设置数据区首地址

         P:   MOV    A,@R1                   ;读取电压值

              INC    R1                      ;指向下一个通道

              MOV    B,@R1                   ;读取电流值

              INC    R1                      ;指向下一个通道

              MUL    AB                      ;电压电流相乘

              ADD    A,@R6                   ;累加乘积

              MOV    @R6,A                   ;存储计算值

              DJNZ   R2,P                    ;200个瞬时值计算完毕否?未完则继续

              MOV    A,@R6                   

              MOV    B,#14H                  ;计算功率

              DIV    AB

              MOV    @R6,A                   ;存储功率

无功功率计算的具体程序如下:

     MAIN:    MOV    R2,#96H    

              MOV    R6,#00H

              MOV    R1,#33H

              MOV    R4,#33H

              MOV    R5,#00H

              MOV    R7,#97H

       Q1:    MOV    A,@R1                   ;电压从第51个值开始与电流第一个值相乘

              INC    R1

              INC    R1

              MOV    B,@R3

              INC    R3

              INC    R3

              MUL    AB

              ADD    A,@R6

              MOV    @R6,A

              DJNZ   R2,Q1

       Q2:    MOV    A,@R5                    ;电压第一个值与电流第151个值做乘法

              INC    R5

              INC    R5

              MOV    B,@R7

              INC    R7

              INC    R7

              MUL    AB

              ADD    A,@R6

              MOV    @R6,A

              DJNZ   R2,Q2

              MOV    A,@R6

              MOV    B,#14H                    ;计算功率

              DIV    AB                 

              MOV    @R6,A                     ;存储功率

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:24431 发表于 2010-6-11 08:31 | 只看该作者
希望各位大大能给我修改一下啊
回复

使用道具 举报

板凳
ID:24431 发表于 2010-6-11 08:32 | 只看该作者
电压电流是轮流存储的 。对于第一次转换-存储,得到的电压、电流瞬时值分别存入00H,01H;第二次转换的结果存入02H,03H;依此类推。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表