久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7870|回復: 2
收起左側

具有測量家用電器功率和消耗電度數的插排 AD7755檢測

[復制鏈接]
ID:105323 發表于 2016-2-24 19:01 | 顯示全部樓層 |閱讀模式
本帖最后由 51黑黑黑 于 2016-3-3 00:53 編輯

(一)、測量原理
下面我們要利用淘汰的數字電度表芯,制作一個具有測量電功率和電度數的插排。早期的電子式電度表采用AD7755系列芯片,或類似的國產芯片。
下圖是AD7755的功能框圖,AD7755是一種高精度的電功率測量芯片,其內部的乘法器是數字型乘法器。它的工作原理是由分壓器完成電壓取樣,電流通過錳銅片分流完成電流取樣,取樣后的電壓、電流信號由乘法器轉換為功率信號,經數字--頻率變換后,它輸出的脈沖信號可以直接驅動計數器的步進電機來顯示電度數。V1P、V1N為電流傳感器的模擬輸入端,V2P、V2N為電壓傳感器的模擬輸入端。ADE7755引腳F1和F2以較低頻率形式輸出有功功率平均值,能直接驅動機電式計度器或MCU接口。引腳CF以較高頻率形式輸出有功功率瞬時值,用于校驗或與MCU接口。我們制作的插排就是利用CF經光電耦合器輸出的電度脈沖進行計數來獲得負載的功率和電度數。單片機的INT0接光耦輸出端,每個電度脈沖來到時產生中斷,中斷程序中對電度脈沖數計數,160個脈沖35h單元加1,35單元存電度數1/10位,36單元存電度數個位。中斷程序中還要對2個脈沖之間進行定時,第1個脈沖來到,啟動定時器,第二個脈沖再來時關閉定時器,這樣就獲得了一個脈沖周期所用的時間t存放到41H和42H單元。DDS67型單相電子式電能表1度電是1600個脈沖。那么1瓦*2250秒=1個脈沖,定時器0的定時時長為50毫秒,每50毫秒41H加1,42H是50ms計數高位,(42H,41H)*50是一個脈沖周期的時長(ms),2250/0.05=45000,所以用45000除以(42H,41H)的計數值就等于功率數(瓦)。最小量程45000除以65535=0.68瓦,需1.82小時完成,最大量程是45000/1=45kw,50毫秒鐘完成。一般家用電器的功率都在幾瓦到上千瓦,所以測量時間在幾分鐘內完成。開始測量時,每個脈沖到來時顯示用電器的功率數,當脈沖達到160個以后就顯示0.1度開始的電度數。

(二)單片機電路及電度表電路

插排顯示的0070是我正在使用的微機實際消耗功率是70瓦。
(三)、電度表插排程序

      ORG0000h                        ;
      AJMPL1                        

      ORG 0003h
      AcallZD
      ORG 000BH
         AJMP CT
      ORG 0023H
        RETI
      ORG 0030H
L1: MOVSP,#60H     ;設堆棧指針
   MOV A,#21H ;定時器1\0工作方式2,8位可重裝,
    MOVTMOD,A     ;
      MOV 8BH,#0F3H ;給定時器1賦值6M=FF1200波特率
     MOV8DH,#0F3H ;給定時器0賦值6M=FF1200波特率
     MOV   TH0, #9EH ;定時50毫秒
     MOV   TL0, #58H
      SETB 0BCH   ;通信中斷優先,IPPS1
      MOVA,#93H     ;允許串口和定時器0INTO中斷及總中斷,禁止定時器1中斷
      MOVIE,A        ;A8H
   SETBIT0       ;INT0下降沿觸發
     MOV A,#50H;;設串行口模式1,允許接收。
    MOVSCON,A     ;送串行控制SCON
   CLR REN
     MOVA,#00H
      MOVR2,#50D     ;清數據區
      MOV R0,#20H
QRAM: MOV @R0,  A
      INC  R0
      DJNZ  R2,  QRAM

   DIS:MOV DPTR,#0700H
       MOV A,35H
       JZ DIS1
       MOV R1, #35H   ;160個脈沖顯示電度數
       AJMP  DIS2
DIS1:   MOV R1,#30H
DIS2:  MOV A,@R1
          MOVC A, @A+DPTR
            MOV P1,A
      CLR   P3.3
     ACALL DELAY1
      SETB p3.3
      INC R1
   MOV A, @R1
     MOVC A,@A+DPTR
      MOV P1,A
      CLR   P3.4
    MOVA,R1
    CJNEA,#36H,DIS4
   CLR  P1.0
DIS4:    ACALLDELAY1
      SETB p3.4
    INCR1
    MOVA, @R1
     MOVC A,@A+DPTR
      MOV P1,A
      CLR   P3.5
     ACALL DELAY1
      SETB p3.5
    INCR1
    MOVA, @R1
     MOVC A,@A+DPTR
      MOV P1,A
      CLR   P3.7
     ACALL DELAY1
      SETB p3.7
J6: AJMP  DIS

      ORG 0100h;定時器中斷子程序
CT:      MOV   8CH, #9EH
           MOV   8AH, #58H ;BEH
           PUSH  0D0H
           PUSH  0E0H
           PUSH  82H
           PUSH  83H
          INC41H           ;50毫秒計數低241H42H50ms計數高位
           MOV A,41H
           CJNE  A, #0FFH, DONE2
          INC  42H
DONE2:  MOV  A, 2FH
            INC   A
           MOV   2FH, A
           CJNE  A, #14H, DONE
           MOV   2FH, #00H
          MOV   A,30H
           INC   A
           MOV   30H,A
    ;  MOV   41H,A
           CJNE  A, #0AH, DONE
       MOV   30H, #00H
           MOV   A, 31H
           INC   A
           MOV   31H, A
           CJNE  A, #0AH, DONE
           MOV   31H, #00H
           MOV   A, 32H
           INC   A
           MOV   32H, A
           CJNE  A, #0AH, DONE
        MOV   32H,#00H
           MOV   A, 33H
           INC   A
           MOV   33H, A
           CJNE  A, #0AH,DONE
           MOV   33H, #00H
         DONE:  POP   83H
           POP   82H
           POP   0E0H
           POP   0D0H
           RETI


                 ORG 0200H

;      INT0中斷程序
ZD:    MOV A,34H
       INCA        ;電度脈沖數加1
       MOV 34H ,A
       CJNE A,#0A0H,ZD1  ;160個脈沖35h單元加135單元存電度數1/10
       MOV   34H, #00H
       MOV A,35H
       INC A
       MOV 35H,A
       CJNEA,#0AH,ZD1  ;160個脈沖35h單元加136單元存電度數個位
        MOV   35H,#00H
       INC 36H
ZD1:   MOVA,40H           ;是第二個脈沖嗎
       XRL A,#00H
       JZ DIS3
       CLRTR0              ;第二個脈沖到,關閉定時器
       MOV40H,#00H        ;置標志
       ACALL DIVD         ;調用除法程序
       ACALLIBTD          ;調用二進制數轉壓縮的十進制數子程序

       MOVA,r6            ;把壓縮的十進制數送顯示區
       ANL A,#0FH
       MOV 30H,A
       MOV A,r6
       ANL A,#0F0H
       SWAP A
       MOV 31H,A
       MOV A,r5
       ANL A,#0FH
       MOV32H,A
       MOV A,r5
       ANL A,#0F0H
       SWAP A
       MOV 33H,A
       AJMP FH
DIS3:  MOV40H,#01H   ;置標志
       MOV 2FH,#00
       MOV 30H,#00
       MOV 31H,#00
       MOV 32H,#00
       MOV 33H,#00
       MOV41H,#00     ;秒存儲單元低位FF
       MOV42H,#00     ;秒存儲單元高位FF
       SETBTR0       ;第一脈沖啟動定時器計秒數
FH:       RETI


       org 0500h
;入口條件:被除數在R2R3R4R5中,除數在R6R7中。
;出口信息:OV=0時,雙字節商在R4R5中,OV=1 時溢出。
;影響資源:PSWABR1R7 堆棧需求: 2字節

DIVD:   MOV R2,#00H
        MOV R3,#00H
        MOV R4,#57H
        MOV R5,#0E4H
        MOV R4,#0AFH ;45000
        MOV R5,#0C8H
        MOV R6,42H;50毫秒存儲單元高位FF
        MOV R7,41H;50毫秒存儲單元低位FF
        CLR C ;比較被除數和除數
        MOV A,R3
        SUBB A,R7
        MOV A,R2
        SUBB A,R6
        JC DVD1
        SETB OV ;溢出
        RET
DVD1:   MOV B,#10H ;計算雙字節商
DVD2:   CLR C ;部分商和余數同時左移一位
        MOV A,R5
        RLC A
        MOV R5,A
        MOV A,R4
        RLC A
        MOV R4,A
        MOV A,R3
        RLC A
        MOVR3,A
        XCH A,R2
        RLC A
        XCH A,R2
        MOV F0,C ;保存溢出位
        CLR C
        SUBB A,R7 ;計算(R2R3R6R7
        MOV R1,A
        MOV A,R2
        SUBB A,R6
        JB F0,DDIV2;ANL C,/F0 ;結果判斷
        JC DVD3
DDIV2:   MOV R2,A;夠減,存放新的余數
        MOV A,R1
        MOV R3,A
        INC R5 ;商的低位置一
DVD3:   DJNZ B,DVD2 ;計算完十六位商(R4R5
        MOV A,R4 ;將商移到R2R3
        MOV R2,A
        MOV A,R5
        MOV R3,A
        CLR OV ;設立成功標志
        RET

IBTD:         CLRA          ;雙字節二翻十子程序(R2R3)---(R4R5R6),結果為壓縮BCD
               MOV R4,A
               MOV R5,A
               MOV R6,A
               MOV R7,#10H
LOOP:          CLR C
               MOV A,R3
               RLC A
               MOV R3,A
               MOVA,R2
               RLC A
               MOV R2,A
               MOV A,R6
               ADDC A,R6
               DA A
               MOV R6,A
               MOV A,R5
               ADDC A,R5
               DA A
               MOV R5,A
               MOV A,R4
               ADDC A,R4
               DA A
               MOV R4,A
               DJNZ R7,LOOP
               RET

      ORG 0700H
DB03H,9FH,25H,0DH,99H,49H,41H,1FH,01H,09H,11H,0C1H,63H ;89ABCDEFP熄滅
DB85H,61H,71H,31H,0FFH,0FCH;"-"

DELAY:         MOV   R5, #0FFH
DEL:            NOP
                  DJNZ  R5,DEL
                  RET
DELAY1:        MOV   R6, #4H
DELA:           ACALL DELAY
                  DJNZ  R6,DELA
                  RET
DELAY2:        MOV   R6, #0FFH
DE:            ACALLDELAY
               DJNZ  R6,DE
               RET
        END

評分

參與人數 1黑幣 +5 收起 理由
輕微2014 + 5 很給力!

查看全部評分

回復

使用道具 舉報

ID:105712 發表于 2016-3-5 11:19 | 顯示全部樓層
樓主厲害啊,可惜用的匯編,看不大懂,不過思路了解了
回復

使用道具 舉報

ID:249545 發表于 2017-11-24 17:21 | 顯示全部樓層
好文章,樓主可以做電表了,可是現在的電表都被壟斷換成電子表了.
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产午夜精品久久 | 蜜桃五月天| 久久精品视频免费看 | 欧美激情一区二区三区 | 欧美国产91 | 欧美日韩在线成人 | 免费成人高清在线视频 | 日韩中文字幕免费在线观看 | 99精品电影 | 黄色日本视频 | 精品国产一区二区三区四区在线 | 免费观看日韩av | 99视频在线免费观看 | 日韩在线免费视频 | 国产91精品久久久久久久网曝门 | 亚洲精品视频三区 | 欧美日韩亚洲国产 | 欧美精品在线一区二区三区 | 成人免费大片黄在线播放 | 免费v片 | 九九热视频这里只有精品 | 精品国产乱码久久久久久久久 | 在线日韩视频 | 精品91 | 精品av| 欧美精品久久久 | 亚洲午夜精品一区二区三区 | 国产精品欧美一区二区 | 丁香久久 | 亚洲一区毛片 | 免费午夜电影 | 超碰网址 | 天天人人精品 | 免费视频一区二区 | 成人在线一区二区 | 欧美一级淫片免费视频黄 | 国产日韩欧美一区二区 | 精品国产精品国产偷麻豆 | 男女啪啪高潮无遮挡免费动态 | 日韩欧美在线视频 | 色综合色综合色综合 |