找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

帖子
查看: 4723|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

小弟初學(xué)者寫的程序,望高手哥哥來(lái)指正下

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:24431 發(fā)表于 2010-6-11 08:22 | 只看該作者 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式
 

0809的最大工作頻率可以達(dá)到 1280kHz, 這樣轉(zhuǎn)換一次就只要50us,而對(duì)于50Hz的交變電流,一個(gè)周期為20ms,這樣至少就可以取到400個(gè)值即200對(duì)電流電壓值。

有了每個(gè)時(shí)刻的瞬時(shí)電壓值和瞬時(shí)電流值,則有功功率就能很容易的計(jì)算出來(lái)。對(duì)于無(wú)功功率,可以這樣子來(lái)構(gòu)想一個(gè)模型,對(duì)于200個(gè)電壓值和電流值,讓電壓移相 ,即01H的電流值與第51個(gè)電壓值(指針地址為33H的電壓值)相乘,依此類推,第151個(gè)電流值與第1個(gè)電壓值相乘,直到第200個(gè)電流值與第50個(gè)電壓值相乘。所有的乘積相加,再除以該交流電周期,無(wú)功功率即可算出,結(jié)果存入存儲(chǔ)器中。無(wú)功功率已知,視在功率也可算出來(lái)。

有功功率計(jì)算的具體的程序如下:

      MAIN:   MOV    R6,#00H                 ;計(jì)算值存儲(chǔ)位置

              MOV    R2,#C8H                 ;設(shè)置循環(huán)次數(shù)

              MOV    R1,#00H                 ;設(shè)置數(shù)據(jù)區(qū)首地址

         P:   MOV    A,@R1                   ;讀取電壓值

              INC    R1                      ;指向下一個(gè)通道

              MOV    B,@R1                   ;讀取電流值

              INC    R1                      ;指向下一個(gè)通道

              MUL    AB                      ;電壓電流相乘

              ADD    A,@R6                   ;累加乘積

              MOV    @R6,A                   ;存儲(chǔ)計(jì)算值

              DJNZ   R2,P                    ;200個(gè)瞬時(shí)值計(jì)算完畢否?未完則繼續(xù)

              MOV    A,@R6                   

              MOV    B,#14H                  ;計(jì)算功率

              DIV    AB

              MOV    @R6,A                   ;存儲(chǔ)功率

無(wú)功功率計(jì)算的具體程序如下:

     MAIN:    MOV    R2,#96H    

              MOV    R6,#00H

              MOV    R1,#33H

              MOV    R4,#33H

              MOV    R5,#00H

              MOV    R7,#97H

       Q1:    MOV    A,@R1                   ;電壓從第51個(gè)值開始與電流第一個(gè)值相乘

              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                    ;電壓第一個(gè)值與電流第151個(gè)值做乘法

              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                    ;計(jì)算功率

              DIV    AB                 

              MOV    @R6,A                     ;存儲(chǔ)功率

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

板凳
ID:24431 發(fā)表于 2010-6-11 08:32 | 只看該作者
電壓電流是輪流存儲(chǔ)的 。對(duì)于第一次轉(zhuǎn)換-存儲(chǔ),得到的電壓、電流瞬時(shí)值分別存入00H,01H;第二次轉(zhuǎn)換的結(jié)果存入02H,03H;依此類推。
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:24431 發(fā)表于 2010-6-11 08:31 | 只看該作者
希望各位大大能給我修改一下啊
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表