SPCE061A型單片機在土木工程測溫儀中的應(yīng)用與設(shè)計
關(guān)鍵詞:單片機;SPCE061A;DSl8B20; 混凝土溫度測量
1 引言
在土木工程中,許多大型的橋梁和大壩都是采用現(xiàn)場澆注的鋼筋混凝土結(jié)構(gòu)。在此類工程中混凝土澆注以后,由于水泥的水化熱作用,混凝土內(nèi)溫度將逐漸上升,混凝土厚度的差異導(dǎo)致不同的溫升,形成溫度梯度并產(chǎn)生溫度應(yīng)力。與外力作用于結(jié)構(gòu)時引起的應(yīng)力不同,混凝土的溫度應(yīng)力是由變形引起的;混凝土的導(dǎo)熱性能較差,澆注初期其強度和彈性模量都較低,溫度變化引起的變形不明顯。隨著齡期的增長,混凝土的強度和彈性模量提高,對混凝土變形的約束越來越大,以致產(chǎn)生很大的拉應(yīng)力,當(dāng)混凝土的抗拉強度不足以抵抗這種拉應(yīng)力時,開始出現(xiàn)溫度裂紋。這將嚴(yán)重影響土木工程的質(zhì)量,所以很有必要對混凝土澆注后的一段時期內(nèi)的溫度參數(shù)進行監(jiān)測,可為其合理的澆注和養(yǎng)護提供可靠的數(shù)據(jù)。采用凌陽科技公司的高性能SPCE061A型單片機、美國DALLAS公司的DSl8B20型傳感器、SPRl024型大容量存儲器、1602型液晶顯示構(gòu)成一種適用于土木工程溫度的智能化監(jiān)測裝置。
2 SPCE061A的特性
2.1 SPCE061A簡介
SPCE061A是凌陽科技公司生產(chǎn)的一款性價比很高的16位單片機,該單片機具有8路10位ADC,2路10位DAC,只需外接功率放大器(SPY0030A)即可完成語音的播放。另外,凌陽16位單片機易學(xué)易用,具有一套高效率的指令系統(tǒng)和集成開發(fā)環(huán)境。在此環(huán)境中,支持標(biāo)準(zhǔn)C語言,可以實現(xiàn)C語言與凌陽匯編語言的互相調(diào)用,為軟件開發(fā)提供了方便的條件。
SPCE061A內(nèi)部還集成了1個ICE(在線仿真電路)接口,對其進行編程、仿真非常方便,而且ICE接口不占用芯片上的硬件資源,結(jié)合凌陽科技公司提供的集成開發(fā)環(huán)境(μ’nSPIDE),可以利用它對SPCE06lA進行真實的仿真;而程序的下載(燒寫)也是通過該接口進行的。圖1示出SPCE061A型單片機的內(nèi)部結(jié)構(gòu)框圖。
2.2 SPCE061A的特性
●16位μ’nSP微處理器;
●工作電壓:內(nèi)核工作電壓VDD為3.0 V~3.6V(CPU),I/O口的工作電壓VDDH為VDD~5.5 V(I/0);
●CPU時鐘:0.32 MHz~49.152 MHz;
●內(nèi)置2K字SRAM;
●內(nèi)置32K閃存ROM;
●可編程音頻處理;
●晶體振蕩器;
●系統(tǒng)處于備用狀態(tài)下(時鐘處于停止?fàn)顟B(tài)),耗電量小于2 μA@3.6 V;
●2個16位可縮程定時器/計數(shù)器(可自動預(yù)置初始計數(shù)值);
●2個lO位DAC(數(shù)/模轉(zhuǎn)換)輸出通道;
●32位通用可編程輸入/輸出端口;
●14個中斷源可來自定時器A/B,時基,2個外部時鐘源輸入,鍵喚醒;
●具備觸鍵喚醒的功能;
●使用凌陽公司的音頻編碼SACMl_S240方式(2.4 kbit/s),能容納210 s的語音數(shù)據(jù);
●鎖相環(huán)PLL振蕩器提供系統(tǒng)時鐘信號;
●32 768 Hz實時時鐘;
●7通道10位電壓模數(shù)轉(zhuǎn)換器(ADC)和單通道聲音模數(shù)轉(zhuǎn)換器;
●聲音模數(shù)轉(zhuǎn)換器輸入通道內(nèi)置麥克風(fēng)放大器和自動增益控制(AGC)功能;
●具備串行設(shè)備接口;
●低電壓復(fù)位(LVR)和低電壓監(jiān)測(LVD)功能;
●內(nèi)置在線仿真(ICE,In-Circuit Emulator)接口。
3 系統(tǒng)硬件設(shè)計
該系統(tǒng)是由一個SPCE061A精簡開發(fā)板(61板)、DSl8B20型l-Wire數(shù)字溫度傳感器、SPRl024型128 Kx8 bit Flash、1602型液晶顯示器和外擴UART串口電平轉(zhuǎn)換電路組成,可以實現(xiàn)溫度的測量、顯示、存儲與PC通信等功能。此系統(tǒng)以SPCE061A為核心,其硬件結(jié)構(gòu)框圖如圖2所示,SPCE06lA與其他器件的連接如圖3所示。
4 系統(tǒng)軟件的設(shè)計
4.1 主程序的設(shè)計
主程序流程如圖4所示。主函數(shù)比較簡單,在程序開始后將系統(tǒng)時鐘調(diào)到24.576 MHz,程序中控制1602型液晶顯示器與DSl8B20需要嚴(yán)格的讀寫控制時序,其中軟件延時就是按照這個時鐘計算的。然后初始化I/O端口,打開2 Hz中斷,為定時lOmin做準(zhǔn)備。調(diào)用開機顯示界面,在液晶1602上顯示所需字樣,持續(xù)一段時間,重新初始化1602,初始化SIO和UART,為使用SIO和UART做準(zhǔn)備。然后進入循環(huán),調(diào)用測溫函數(shù)測溫,調(diào)用顯示函數(shù)顯示,調(diào)用發(fā)送數(shù)據(jù)函數(shù)發(fā)送數(shù)據(jù),判斷是否為設(shè)定的時間(10 min),如果是,調(diào)用存儲函數(shù)存儲數(shù)據(jù);如果不是,直接執(zhí)行下一步清看門狗操作,然后繼續(xù)循環(huán)。
4.2 子程序的設(shè)計
4.2.1 溫子程序
測溫時首先設(shè)置DSl8B20的DQ為高電平,然后初始化DSl8B20,DSl8B20接收單片機的命令,為了簡單起見,這里跳過ROM命令設(shè)置匹配過程,然后再次初始化DSl8B20,啟動測溫,然后保存溫度并返回。DSl8B20的驅(qū)動程序可以參考DSl8B20的讀寫時序圖進行編程。測溫子程序如圖5所示。
4.2.2 顯示子程序
測得溫度后,將溫度數(shù)據(jù)轉(zhuǎn)換為十進制數(shù)的溫度表示,再通過查表(在C語言中是一個數(shù)組,參考Display函數(shù)中的Data[101]數(shù)組)調(diào)用1602顯示在液晶上,數(shù)據(jù)處理類似于由二進制轉(zhuǎn)換為十進制,再由十進制轉(zhuǎn)換為ASCⅡ碼,讀者可以參考相關(guān)的說明。
4.2.3 存儲子程序
調(diào)用SPR1024的用戶函數(shù),完成存儲功能,存儲的數(shù)據(jù)沒有經(jīng)過轉(zhuǎn)換,只是將溫度數(shù)據(jù)分為高低字節(jié)分兩次存儲。
4.2.4 UART通信子程序
通信子程序采用查詢的方法,數(shù)據(jù)格式為先發(fā)數(shù)據(jù)oxAA,然后是溫度數(shù)據(jù)的高字節(jié)和溫度數(shù)據(jù)的低字節(jié),最后是0x55結(jié)束。
4.2.5 中斷的處理
在程序中打開2 Hz的中斷作為計時使用,設(shè)置全局變量g_Minl0為計數(shù)器,每進入中斷1次計數(shù)器加1。在主函數(shù)中判斷是否到達預(yù)定值(10 min),如果達到,計數(shù)器清0,重新開始計數(shù)。
5 結(jié)束語
該智能化溫度監(jiān)測儀將單片機和大規(guī)模集成電路技術(shù)應(yīng)用于土木工程測試中。在混凝土水化熱溫度監(jiān)測、鋼結(jié)構(gòu)表面溫度監(jiān)測、大型機械設(shè)備溫度監(jiān)測以及糧食、倉儲系統(tǒng)的溫度監(jiān)測中取得成功的應(yīng)用。它的成本低,布線簡單,使用維護方便,可以覆蓋幾乎所有的中低溫測量場合。