機電之家資源網
單片機首頁|單片機基礎|單片機應用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓信息
贊助商
防腐監(jiān)測儀的設計與應用
防腐監(jiān)測儀的設計與應用
 更新時間:2009-9-19 14:44:37  點擊數:0
【字體: 字體顏色


摘要:介紹了89C52單片機的防腐監(jiān)測儀的設計開發(fā)過程。介紹了一個對微電流進行采集、轉換、顯示、儲存的一套完整系統(tǒng)。該系統(tǒng)的工作原理是首先通過傳感器采集微電流信號,再進行放大后送到A/D轉換芯片中進行模數轉換得到對應的數字信號,利用AT89C52單片機對此信號進行處理,結合按鍵輸入,在液晶顯示屏上實時顯示當前的腐蝕電流以及對應的腐蝕度,同時判斷檢測卡槽是否有卡,在有卡的情況下,利用I2C串行通訊技術每隔一分鐘將數據送入IC卡進行存儲,實現對一段時間內微電流的監(jiān)測。最后通過基于VB的上位機系統(tǒng)讀卡,把IC卡里的數據導入計算機存檔。該系統(tǒng)實際應用效果良好。
關鍵詞:實時顯示;I2C串行通信;微電流;上位機
0 引言
本文介紹的腐蝕儀是為了監(jiān)測野外輸油管道腐蝕度而設計的,由于輸油管道的腐蝕度影響到石油的生產,會造成經濟損失和安全事故,故對其腐蝕度的監(jiān)測是非常必要的。本系統(tǒng)中,可以通過檢測管道里的微電流,然后通過輸入經驗參數來換算出管道當前的腐蝕度,并通過上位機程序把數據存檔,繪制腐蝕度變化曲線圖,以便操作人員可以直觀的了解輸油管道的腐蝕變化情況。
1  總體方案設計
1.1  設計總體構成方案
設計主要由下位機和上位機兩個部分組成。下位機以單片機為核心,運用程序控制來進行電流的采集、處理、顯示,并將有關數據存儲到IC卡。上位機則是通過計算機與Q系列接觸式IC卡讀寫器之間進行的串口通信,將IC卡里的數據導入計算機。
    其下位機系統(tǒng)框圖如圖1所示。

 

圖1  下位機系統(tǒng)框圖
其上位機系統(tǒng)的系統(tǒng)框圖如圖2所示。

 

圖2  上位機系統(tǒng)框圖
1.2  下位機電路的設計
本系統(tǒng)的設計過程中,主要元件包括12位并行模/數轉換芯片AD1674、擴展多功能接口芯片8155、時鐘日歷芯片DS12887、AT89C52單片機。
放大芯片采用了AD524放大器?紤]到腐蝕電流的取值范圍為0uA~100uA,故選取固定增益值GAIN=1000,使放大后的電流量滿足AD1674的輸入端要求。
模擬電流量通過AD1674后轉換成對應的數字量。本系統(tǒng)中AD1674與AT89C52的硬件接口電路如圖3:采用+12V、-12V雙電源供電,單極輸入方式,模擬量從10VIN輸入。其中CS接GAL16V8的18號管腳,它的啟動地址為4000H,高八位地址為4002H,低八位地址為4003H。轉換結束信號STS接到INT0上,AT89C52的讀寫信號W/R、RD通過與非門接到AD1674的操作使能端CE來控制AD1674的讀/轉換操作?捎弥袛喾绞剑部捎貌樵兎绞。本系統(tǒng)中采用查詢方式,其流程如圖4所示。

 

圖3  AD1674與AT89C52的硬件接口電路

 
圖4  AD1674轉換流程圖
其對應的C51語言程序如下所示:
#define ADSEL    XBYTE[0x4000]      //AD1674相關定義
#define HIGH_READ    XBYTE[0x4002]
#define LOW_READ    XBYTE[0x4003]
unsigned int ad1674()
{  uchar high,low,j=0;
    unsigned  int   ad_value1;
   unsigned  int ad_value2,ad[20],sum=0;
 for(j=0;j<10;j++)
   { ADSEL=0x00;               //啟動12位轉換
   while(STS==1) ;           //等待AD轉換完畢
   high=HIGH_READ;            //讀高八位數據
   low=LOW_READ;                //讀低四位數據
   low>>=4;
   ad_value1=high*256+low;         //合并12位二進制數為十進制數
   ad_value2=ad_value1*0.0002442*10;      //1/0XFFF=0.0002442,這里取單位為mA級
   ad[j]=ad_value2;
   }
 for(j=0;j<10;j++)   sum+=ad[j];    //對10次采集值求平均值
    sum/=10;
   return (sum);
}
AT89C52有256B的內部RAM,滿足本系統(tǒng)對數據存儲器的需求;內部有8KB的可編程只讀存儲器,構成應用系統(tǒng)時,不需要外擴程序存儲器[3]。
DS12887的MOT接GND,即選用Intel工作模式。其讀寫允許輸入腳DS/RD、R/W分別與AT89C52的讀寫信號相接。它的復用地址數據總線AD0-AD7接AT89C52的P0.0-P0.7,片選輸入CS接GAL16V8的15號管腳,它的命令寄存器地址為:分-5002H,小時-5004H,星期-5006H,日-5007H,月-5008H,年-5009H,寄存器A-500ah,B-500bh,C-500ch,D-500dH,不掉電數據存儲器為:500EH-507FH。RESET直接接VCC,保證DSI2C887在掉電時,其內部控制寄存器不受影響。
液晶顯示器NS1602,它能顯示16字符X2行的內容。系統(tǒng)運用的是間接訪問方式8位數據總線接口電路。其3個控制信號RS、R/W、E分別與AT89C52的P3.3、P3.4、P3.5口相接,8位數據信號接8155的PB端口。對液晶顯示器的操作要嚴格遵守LCD1602的接口時序。其操作分兩類:寫指令代碼,寫顯示數據。兩者的區(qū)別取決于RS,RS=0時訪問命令寄存器,RS=1時訪問數據寄存器[6]。另外,對LCD的初始化工作是非常重要的,包括清屏、數據格式設置、顯示器特性設置、顯示地址設置等。
鍵盤輸入采用4*4鍵盤,其中鍵盤行線接P1.0-P1.3,輸出接地信號;鍵盤列線接P1.4-P1.7,輸入回饋信號,來檢測按鍵是否按下。鍵盤是非編碼鍵盤,要通過軟件編程來識別鍵盤。鍵盤輸入信息的主要過程是:判斷是否有鍵按下,掃描確定按下的是哪一個鍵;把此鍵代表的信息翻譯成計算機所能識別的代碼。
由于IO口不夠用,外加一片擴展多功能接口芯片8155。其片選端接GAL16V8的14號管腳,IO/M端接地址A8,8155的命令口地址為2100H,A口地址為2101H,B口地址為2102H,C口地址為2103H。8155的PB口為LCD的數據口。
1.3 上位機電路的設計
利用接觸式IC卡讀寫器跟計算機之間進行串口通信將IC卡里的數據導入計算機。讀寫器提供了性能完善、可靠的接口函數庫,在用VB編程時可直接運用這些函數。
首先要調用通訊口初始化函數IC_InitComm(Port)來檢測串口,再設置卡型,成功后輸入頁碼就可讀入該頁的數據了。讀入的數據可通過保存控件保存到指定的路徑下。程序退出之前要執(zhí)行IC_ExitComm()函數關閉串口釋放串口設備句柄否則再次初始化串口將出錯。
 
2. 數據的串行存儲
2.1  I2C總線通信原理
I2C總線是由數據線SDA和時鐘SCL構成的串行總線,可發(fā)送和接收數據。SDA總線上的數據僅在SCL為低電平時可以改變,每一個SCL周期表示傳送一位串行碼。若SCL高電平期間,SDA由高轉低,表示“開始”狀態(tài),提示一個通信進程的激活。而SDA由低轉高,表示“停止”狀態(tài),該狀態(tài)終止所有通信。所有地址和數據均以8位串行碼為數據單位輸入輸出,總線上任何接收設備必需在接收到8位串行碼后,將SDA總線置1位低電平以確認它成功地收到一個字節(jié)數據。寫操作需在“開始”狀態(tài)后, 發(fā)出一個8位的控制及器件地址碼并得到確認,再發(fā)出一個8位或16位數據碼地址并在被確認后隨時鐘不斷滾動輸出8位數據碼,直至“停止”狀態(tài)發(fā)生[2]。
 
2.2  I2C總線的編程實現
本系統(tǒng)中是用P3.0和P3.1分別作為SDA和SCL信號,單片機所用晶體振蕩器的頻率為12MHz。當無卡插入時開關閉合,PC0為低電平,當有卡插入時開關斷開,PC0為拉為高電平。每個機器周期為1us,設計可根據I2C總線的工作時序用軟件模擬I2C總線產生起始位、停止位以及發(fā)送字節(jié)。 
3. 結束語
現有一塊美國FANN公司生產的機械電流測量表,價格一萬多元人民幣。本文以AT89C52單片機為核心處理器設計的防腐監(jiān)測儀則只需幾百元的成本,而且能自動定時將腐蝕相關數據進行存儲,與傳統(tǒng)的機械電流測量表相比,無需專門的工作人員來記錄相關數據,操作起來更簡單方便。在外形上,本設計利用液晶屏顯示,其體積更小巧。本設計能較好的對石油管道的腐蝕狀況進行監(jiān)測,將對減少石油管道事故和降低由此帶來的經濟損失起到良好效果。
本文作者創(chuàng)新點:與國外的同類儀器相比具有價格上的絕對優(yōu)勢,從使用的角度看讀數精確,攜帶方便。
參考文獻
[1] 楊振江,蔡德芳.新型集成電路適用指南與經典應用[M].西安:西安電子科技大學出版社,1998.10
[2] 楊金巖,鄭應強,張振仁.8051單片機數據傳輸接口擴展技術與應用實例[M].北京:人民郵電出版社,2005.1
[3] 李群芳,張士軍,黃建.單片微型計算機與接口技術(第二版)[M].北京:電子工業(yè)出版,2005.1
[4] 王述全,孟臣.智能型LED鍵盤顯示技術及其在儀器儀表中的應用[J].微計算機信息,2004,(10).
[5] http://www.analog.com/UploadedFiles/Data_Sheets/346669145AD1674_c.pdf[S].
[6] http://www.gemtech-hb.com/chinese/web/pdf/char.pdf[S].
[7] The I2C Bus concept and Specification[S]. Philips Semiconductors.1992

  • 上一篇: 一種基于KEELOQ的改進加密算法及其在單片機中的實現技術
  • 下一篇: 沒有了
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網友評論:(只顯示最新5條。)
    關于我們 | 聯系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務100強網站

    網站經營許可證:浙B2-20080178-1