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