標題: 小弟初學者寫的程序,望高手哥哥來指正下 [打印本頁]

作者: sensor80    時間: 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                 ;設置循環(huán)次數(shù)

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

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

              INC    R1                      ;指向下一個通道

              MOV    B,@R1                   ;讀取電流值

              INC    R1                      ;指向下一個通道

              MUL    AB                      ;電壓電流相乘

              ADD    A,@R6                   ;累加乘積

              MOV    @R6,A                   ;存儲計算值

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

              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                     ;存儲功率


作者: sensor80    時間: 2010-6-11 08:31
希望各位大大能給我修改一下啊
作者: sensor80    時間: 2010-6-11 08:32
電壓電流是輪流存儲的 。對于第一次轉換-存儲,得到的電壓、電流瞬時值分別存入00H,01H;第二次轉換的結果存入02H,03H;依此類推。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1