<font id="drdzl"></font>

            <font id="drdzl"></font>

            <pre id="drdzl"><address id="drdzl"></address></pre>

              企業檔案

              • 會員類型:免費會員
              • 工商認證: 【已認證】
              • 最后認證時間:
              • 法人:
              • 注冊號:
              • 企業類型:經銷商
              • 注冊資金:人民幣萬

              聯系我們

              聯系人:楊志遠

              點擊查看聯系方式

              技術文章

              流量積算儀的設計介紹

              點擊次數:312 發布時間:2011/10/24 14:25:36

               

              流量積算儀的設計介紹

              一、測量原理
              本文中介紹了一個用單片機設計的流量積算儀,它能適用于各種介質,如氣體、液體等,可測量熱量,水冷,水熱,所以又叫熱量流量積算儀,水熱/水冷流量積算儀,并能在全流程范圍內進行非線性調節,用各種介質的標準儀表對該流量計進行檢定后,即可使之成為該介質的流量計。
              流量計由流量傳感器和流量積算儀兩部分組成,流量傳感器由旋渦發生體、傳感器探頭和產生輸出信號的相關電子電路組成。
              當以一定流速流動介質遇到流量傳感器的旋渦發生體時,旋渦產生的頻率與流速成正比,因此與管道內的流量成正比,因此我們用單片機設計的流量積算儀,根據傳感器送來的頻率信號,進行累計,顯示,并將累計流量和瞬時流量通過串行口通訊送到計算機中進行處理,如形成報表等。
              為使用儀表更加準確,我們可以通軟件的方法使儀表非常精確,基本上可達到0.05%左右。首先在儀表出廠前,非用標準設置對該流量計進行檢定后,即可記錄在全流程范圍內的若干段中,每段內單個頻率的每秒流量系數。然后通過四個鍵的鍵盤設置流量參數,由單片機程序將系統全程的頻率對應的每秒流量計算出來后,寫入單片機的24C16中。
              正常測量時,根據不同的頻率取出24C16中的相應每秒流量,送到單片機中經運算,得到當時的瞬時流量(米3/小時),并進行累計。
              二、硬件電路原理
              附圖一:
              1、硬件中的核心是ATMEL生產的AT89C51/LV51單片機,它是一種低功耗/低電壓、高性能的8位單片機,片內帶有一個4K字節的Flash可編程可擦除只讀存儲器,它采用了CMOS工藝和ATMEL公司的高密度非易失性存儲器技術,而且其輸出引腳和指令系統都與MSC-51兼容。
              2、存儲流量和參數,用的存儲器是ATMEL生產的AT24C16系列,它是一種帶有閃2K字節的可電擦除、可編程的只讀存儲器。通過單片機的P0.0和P0.1口與它的SDA和SCL分別相連,進行讀寫操作。
              3、一秒硬件復位電路,使用MC14060(十四位二進制計數器)、二個74HC132(兩輸入與非門)和二個雙JK觸發器CD4027,在CD4027的15腳形成一秒寬的時鐘脈沖。
              4、CD4027的15腳接到RESET端,使單片機定時復位。單片機采用省電模式工作,每次輸入、累計、顯示處理后等待喚醒,這樣工作功耗非常小。設置補償系數時,復位腳正常連接。
              5、流量傳感器的輸入脈沖通過74HC393鎖存(雙四位二進制計數器)后,送入單片機的P2口。輸入信號:脈沖信號(0~255)HZ
              6、在單片機內經過程序處理后,輸出顯示信號送到P1口(數據4位,選擇信號4位)。連到12針的插座上。
              附圖二:
              1、輸出顯示信號送到P1口(數據4位,選擇信號4位)連到12針插座,其中數據4位(高四位)送入MC14543(BCD--鎖存/7段譯碼/驅動動器)中,共有12個MC14543,分別控制著與累計流量8位及瞬時流量4位相連的液晶塊的顯示數據。數據中另外4位選擇信號(ABCD)直接送到CD4514譯碼器(4位鎖存/4-16線譯碼器),通過兩個MC14174B(帶清0端的6D觸發器),浮動顯示的小數點位。
              2、累積流量和瞬時流量的顯示使用兩個液晶塊:EDS806A 960827/DR(8位)、EDS805A 971218/DR(4位)
              a、 累積流量顯示:八位浮點式,開始顯示小數點后五位:0.00000m3,*后顯示小數點后三位:0000.000m3。
              b、 瞬時流量顯示:顯示為小數點后兩位:00.00 m3。
              三、總框圖及主程序
              程序根據開關的設置分三大部分:①正常使用即測量部分②測量輸入頻率部分③設置調整系數部分。
              主程序如下:
              ORG  0000H
              LJMP  L001E
              ORG  0003H
              LJMP  L05E6
              ORG  0023H
              LJMP  server
              MOV  C,P0.7
              NOP
              JC L001E
              LJMP L052C ;
              L001E: MOV  C, P0.7 ;IC40開關1(ON),3(ON),寫系數
              NOP  
              JC   L002C ;IC40開關2(ON),4(ON),測流量
              L0029: LJMP  L037A ;IC40開關2(ON),4(OFF),測頻率
              L002C: LCALL L003B ;初始化
              LCALL L01D2 ;輸入頻率
              LCALL L01B7H ;流量進行累計
              LCALL L0085 ;顯示
              ORL  87H, #02H
              L003B: MOV  R0, #60H ;60H~6FH清0
              MOV  B, #10H
              LCALL L005B
              MOV  C, P3.3
              JC   L005A
              MOV  R0, #40H ;40H~6FH清0
              MOV  B, #10H
              LCALL L005B
              MOV  R0, #50H ;50H~6FH清0
              MOV  B, #10H
              LCALL L005B
              L005A: RET  
              L005B: MOV  @R0, #00H
              INC  R0
              DJNZ  B, L005B
              RET  
              ORG  0037EH
              L037E: NOP  
              JNB  P0.7, L0385
              LJMP  L052C ;寫系數
              L0385: MOV  38H, #00H ;以下是測頻率
              MOV  39H, #00H
              MOV  3AH, #00H
              MOV  3BH, #00H
              MOV  3CH, #00H
              MOV  3DH, #00H
              MOV  3EH, #00H
              MOV  3FH, #00H
              L03A1: CLR  C
              MOV  2EH, #00H
              MOV  2FH, #00H
              ACALL L046E
              MOV  A, R0
              NOP  
              MOV  B, #64H
              DIV  AB
              MOV  32H, A
              MOV  A, B
              MOV  B, #0AH
              DIV  AB
              MOV  31H, A
              MOV  30H, B
              MOV  33H, #00H
              MOV  34H, #00H
              MOV  35H, #00H
              MOV  36H, #00H
              MOV  37H, #00H
              ACALL L0411
              ACALL L03EF
              MOV  C, P3.3
              JC   L03EC
              MOV  38H, #00H
              MOV  39H, #00H
              MOV  3AH, #00H
              MOV  3BH, #00H
              MOV  3CH, #00H
              MOV  3DH, #00H
              MOV  3EH, #00H
              MOV  3FH, #00H
              L03EC: ORL  87H, #02H
              L03EF: ORL  P1, #0FFH
              MOV  B, #0EH
              CLR  A
              MOV  DPTR, #0359H ;顯示數據
              L03F9: MOVC  A, @A+DPTR
              MOV  R0, A
              MOV  A, @R0
              ORL  A, #0F0H
              ANL  P1, A
              CLR  A
              INC  DPTR
              MOVC  A, @A+DPTR
              ANL  P1, A
              ORL  P1, #0F0H
              ORL  P1, #0FFH
              CLR  A
              INC  DPTR
              DJNZ  B, L03F9
              RET  
              L0411: MOV  R0, #30H
              MOV  R1, #38H
              MOV  B, #08H
              CLR  C
              L0419: MOV  A, @R1
              ADDC  A, @R0
              DA   A
              MOV  C, ACC.4
              CLR  ACC.4
              MOV  @R1, A
              INC  R0
              INC  R1
              DJNZ  B, L0419
              RET  
              ORG 0359
              DB 4BH,0DFH,4AH,0CFH,49H,9FH,49H,8FH,47H,7FH,46H,6FH,45H,5FH,44H,4FH
              DB 43H,3FH,38H,2FH,37H,1FH,36H,0FH,2FH,0AFH,2DH,0BFH
              ORG 000BH
              LJMP L05E6
              ORG 052CH
              L052C: MOV  SP, #38H
              MOV  IE, #88H
              MOV  PSW, #00H
              MOV  TMOD, #15H
              MOV  TL0, #00H
              MOV  TH0, #00H
              MOV  TL1, #00H
              MOV  TH1, #00H
              SETB  TCON.TR0
              SETB  TCON.TR1
              SETB  P3.1
              MOV  P3, #0FFH
              L0552: LCALL L0BD3 ;鍵盤輸入
              L0579: CJNE  A, #0FBH, L0552
              LCALL L0814 ;寫系數
              RET  
              ORG 05E6H ;定時顯示
              L05E6: PUSH  ACC
              PUSH  PSW
              MOV  PSW, #08H
              MOV  TL1, #00H
              MOV  TH1, #00H
              CLR  A
              MOV  78H, A
              SETB  01H
              MOV  R0, #25H
              MOV  R1, #00H
              MOV  R7, #0CH
              L05FE: MOV  A, #00H
              ORL  A, #0F0H
              ANL  P1, A
              ANL  P1, A
              CLR  A
              MOV  A, #0BFH
              ANL  P1, A
              ORL  P1, #0F0H
              ORL  P1, #0FFH
              MOV  A, #00H
              ORL  A, #0F0H
              ANL  P1, A
              ANL  P1, A
              CLR  A
              MOV  A, #0AFH
              ANL  P1, A
              ORL  P1, #0F0H
              ORL  P1, #0FFH
              MOV  A, R0
              CJNE  A, 00H, L0635
              JNB  0AH, L0635
              CPL  0BH
              JNB  0BH, L0635
              MOV  A, #0FH
              LJMP  L0636
              L0635: MOV  A, @R0
              L0636: ANL  A, #0FH
              SWAP  A
              ORL  A, R1
              SWAP  A
              MOV  P1, A
              ORL  A, #0F0H
              MOV  P1, A
              INC  R0
              INC  R1
              CJNE  R1, #0AH, L0648
              INC  R1
              INC  R1
              L0648: DJNZ  R7, L05FE
              POP  PSW
              POP  ACC
              RETI 
              四、接口及外設驅動程序
              1、輸入部分程序:
              L01D2: MOV  R0, P2 ;讀入P2中的頻率信號
              CLR  P3.7
              NOP  
              NOP  
              NOP  
              SETB  P3.7
              NOP  
              NOP  
              NOP  
              MOV  R1, #70H ;讀出的數據存入位置
              MOV  R6, #0A0H ;27C16中的設備地址
              MOV  R7, #08H
              L01E4: LCALL L0223 ;根據相應的頻率從27C16中讀取每秒流量參數
              MOV  @R1, A
              INC  R1
              MOV  A, R6
              ADD  A, #02H ;
              MOV  R6, A
              DJNZ  R7, L01E4 ;讀8位參數
              PUSH  00H
              MOV  R1, #70H
              MOV  R0, #28H
              MOV  R3, #08H
              L01F7: MOV  A, @R1
              MOV  @R0, A
              DEC  R0
              INC  R1
              DJNZ  R3, L01F7 ;將70H中的數據送入20H~27H中
              MOV  R0, #20H ;將20H~27H中的數據送到60H~67H中。
              MOV  R1, #67H
              MOV  R3, #08H
              L0203: MOV  A, @R0
              MOV  @R1, A
              INC  R0
              INC  R1
              DJNZ  R3, L0203
              MOV  60H, #36H ;將60H中的每秒流量換算成米3/小時
              MOV  R0, #20H
              MOV  R1, #60H
              MOV  R3, #07H
              LCALL L02FC
              MOV  R0, #20H ;將瞬時流量換算成十進制BCD送入到30H~3FH中
              MOV  R1, #3FH
              MOV  R2, #08H
              LCALL L034A
              POP  00H
              RET   
              計算累計流量送入50H中,程序如下
              L01B7: mov R0, #67H ;將60H~67H中的瞬時流量二進制值累加到50H~57H
              MOV  R1, #57H
              MOV  B, #08H
              CLR  C
              L01BF: MOV  A, @R1
              ADDC  A, @R0
              DA   A
              MOV  @R1, A
              DEC  R0
              DEC  R1
              DJNZ  B, L01BF
              MOV  R0, #50H ;將50H~57H中的二進制換算成十進制BCD碼
              MOV  R1, #4FH ;送到40H~47H中
              MOV  R2, #08H
              LCALL L034A
              RET  
              2、顯示部分:
              程序如下:
              L0085: ORL  P1, #0FFH ;P1口置1,4FH~40H中是要顯示的數據(高~低)
              MOV  A, 4FH ;位是否為0
              NOP  
              NOP  
              MOV  A, 4FH
              ANL  A, #0ffH
              JZ   L009E ;為0轉移
              MOV  DPTR, #0F10H ;段顯示數據(此時數據為)
              MOV  2FH, #0a0h ;送小數點數據到2FH中
              LJMP  L00DD
              L009E: MOV  A, 4EH ;次高位是否為0
              NOP  
              NOP  
              MOV  A, 4EH
              ANL  A, #0FFH
              JZ   L00B1 ;為0轉移
              MOV  DPTR, #0F20H ;第二段顯示數據
              MOV  2FH, #21H ;送小數點數據到2FH中
              LJMP  L00DD
              L00B1: MOV  A, 4DH
              NOP  
              NOP  
              MOV  A, 4DH
              ANL  A, #0FFH
              JZ   L00C4 ;為0轉移
              MOV  DPTR, #0F30H ;第三段顯示數據
              MOV  2FH, #22H ;送小數點數據到2FH中
              LJMP  L00DD
              L00C4: MOV  A, 4CH
              NOP  
              NOP  
              MOV  A, 4CH
              ANL  A, #0FFH
              JZ   L00D7 ;為0轉移
              MOV  DPTR, #0F40H ;第四段顯示數據
              MOV  2FH, #24H ;送小數點數據到2FH中
              LJMP  L00DD
              L00D7: MOV  DPTR, #0F50H ;第五段顯示數據
              MOV  2FH, #28H ;送小數點數據到2FH中
              L00DD: MOV  B, #0DH ;顯示數據中的數據個數
              MOV  A, 2FH
              ANL  A, #0FH
              MOV  2DH, A
              MOV  A, 2FH
              ANL  A, #0F0H
              SWAP  A
              MOV  2FH, A
              CLR  A
              L00EE: MOVC  A, @A+DPTR ;取相應段的數據進行顯示
              MOV  R0, A
              MOV  A, @R0
              ORL  A, #0F0H
              ANL  P1, A
              NOP  
              NOP  
              NOP  
              NOP  
              NOP  
              ANL  p1,a
              CLR  A
              INC  DPTR
              MOVC  A, @A+DPTR
              ANL  P1, A
              NOP
              NOP  
              NOP
              NOP  
              ANL  P1, A
              ORL  P1, #0F0H
              ORL  P1, #0FFH
              CLR  A
              INC  DPTR
              DJNZ  B, L00EE
              END  
              ORG 0F10H ;以下為顯示數據,浮動五位。
              DB 4FH,0DFH,4EH,0CFH,4DH,9FH,4CH,8FH,4BH,7FH,4AH,6FH,49H,5FH,48H,4FH
              DB 47H,3FH,38H,2FH,37H,1FH,36H,0FH,2FH,0AFH,2DH,0BFH
              ORG 0F20 H
              DB 4EH,0DFH,4DH,0CFH,4CH,9FH,4BH,8FH,4AH,7FH,49H,6FH,48H,5FH,47H,4FH
              DB 46H,3FH,38H,2FH,37H,1FH,36H,0FH,2FH,0AFH,2DH,0BFH
              ORG 0F30 H
              DB 4DH,0DFH,4CH,0CFH,4BH,9FH,4AH,8FH,49H,7FH,48H,6FH,47H,5FH,46H,4FH
              DB 45H,3FH,38H,2FH,37H,1FH,36H,0FH,2FH,0AFH,2DH,0BFH
              ORG 0F40 H
              DB 4CH,0DFH,4BH,0CFH,4AH,9FH,49H,8FH,48H,7FH,47H,6FH,46H,5FH,45H,4FH
              DB 44H,3FH,38H,2FH,37H,1FH,36H,0FH,2FH,0AFH,2DH,0BFH
              ORG 0F50 H
              DB 4BH,0DFH,4AH,0CFH,49H,9FH,49H,8FH,47H,7FH,46H,6FH,45H,5FH,44H,4FH
              DB 43H,3FH,38H,2FH,37H,1FH,36H,0FH,2FH,0AFH,2DH,0BFH
              3、鍵盤部分:
              L0BD3: SETB P3.2
              SETB  P3.3
              SETB p3.4
              SETB  P3.5
              MOV  A, P3
              ORL  A, #0D7H
              CJNE  A, #0FFH, L0BF0
              MOV  R6, #10H
              ACALL L0BFE
              MOV  A, P3
              ORL  A, #0D7H
              CJNE  A, #0FFH, L0BD3
              CLR  A
              CLR  07H
              SJMP  L0BFD
              L0BF0: MOV  R6, #10H
              ACALL L0BFE
              MOV  A, P3
              ORL  A, #0D7H
              CJNE  A, #0FFH, L0BFD
              SJMP  L0BD3
              L0BFD: RET  
              L0BFE: NOP  
              LCALL L07D3 ;延時程序
              DJNZ  R6, L0BFE
              RET  
              4、通訊程序:
              采用中斷方式傳送數據給計算機。
              ORG 0023H
              server:   push acc
              push 00h
              push 01h
              push 02h ;保護斷點
              JBC TI,server1 ;中斷程序將累計流量傳給算機
              RETI
              Server1: mov R1,#50h
              Mov R0,#08h
              mov a,@r1
              MOV SBUF, A  ;傳送一個位
              Djnz R0,server1
              JB P,ERROR   ;偶校驗
              ANL A,#7FH   ;去掉校驗位
              Server2: mov R1,#60h ; 中斷程序將瞬時流量傳給算機
              Mov R0,#08h
              mov a,@r1
              MOV SBUF, A  ;傳送一個位
              Djnz R0,server1
              JB P,ERROR   ;偶校驗
              ANL A,#7FH   ;去掉校驗位
              ERROR:     pop acc ;恢復斷點
              pop 02h
              pop 01h
              pop 00h
              RETI
              四、結束語
              流量計 的抗干擾能力強,在流量全范圍內可非線性調整、內部無可調件、使用維護簡單等優點,可以用來測量、變送及現場顯示封閉工業管道中液體、氣體和蒸汽的流量及總量?蓪崿F累積流量定量控制,從投用到現在,應用的效果非常好,是一種理想的儀表.

              www.jiluyi8.com

              原創作者:江蘇金湖恒控儀表有限公司

              相關產品

              script>
              国产三女人间水蜜桃叠罗汉_精品五月天六月花一区二区_狠狠噜天天噜日日噜无码_亚洲精品国产自在久久出水