【氫氣泄露檢測系統(tǒng)的軟件設(shè)計案例】1800字_第1頁
【氫氣泄露檢測系統(tǒng)的軟件設(shè)計案例】1800字_第2頁
【氫氣泄露檢測系統(tǒng)的軟件設(shè)計案例】1800字_第3頁
【氫氣泄露檢測系統(tǒng)的軟件設(shè)計案例】1800字_第4頁
【氫氣泄露檢測系統(tǒng)的軟件設(shè)計案例】1800字_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

氫氣泄露檢測系統(tǒng)的軟件設(shè)計案例綜述目錄TOC\o"1-3"\h\u3277氫氣泄露檢測系統(tǒng)的軟件設(shè)計案例綜述 1301541.1系統(tǒng)主程序設(shè)計 1110841.2氫氣電壓轉(zhuǎn)換子程序設(shè)計 2232411.31602液晶子程序設(shè)計 4143271.4按鍵控制子程序設(shè)計 71.1系統(tǒng)主程序設(shè)計(1)系統(tǒng)主程序流程圖設(shè)計52單片機(jī)的開發(fā)除了必要的硬件仿真軟件之外,還需要建立一個軟件開發(fā)環(huán)境,由于微處理器內(nèi)部可以執(zhí)行的是機(jī)器碼,因此,編程必須使用匯編語言或者C語言進(jìn)行轉(zhuǎn)換為hex文件形式的機(jī)械碼才能被機(jī)器內(nèi)部識別[29]。目前,轉(zhuǎn)換的方法主要有兩種,一種是通過直接編寫匯編語言,機(jī)器即可識別這種語言,但是這種語言實(shí)現(xiàn)起來比較復(fù)雜,可編程性不高,現(xiàn)在很少使用,另外一種是通過編譯軟件進(jìn)行轉(zhuǎn)換,用戶只需使用C語言進(jìn)行編程,邏輯沒有錯誤之后即可通過軟件內(nèi)部編譯的形式變成機(jī)器碼,目前使用的最為廣的編譯軟件是keil,這款軟件性能非常的強(qiáng)大,其內(nèi)部集成了各種函數(shù)庫,用戶只需調(diào)用其內(nèi)部的子函數(shù)即可實(shí)現(xiàn)想要的功能,keil提供了一個集成開發(fā)環(huán)境uVision。開發(fā)的流程首先是通過該編譯器編寫相應(yīng)的邏輯程序,緊接著就是使用內(nèi)部的編譯器執(zhí)行編譯,觀察是否有邏輯上的錯誤,沒有錯誤之后用生成的hex文件輸入到硬件平臺中,這樣就可以給用戶大大的縮短了系統(tǒng)開發(fā)的周期[30]。所以本文所用到軟件開發(fā)環(huán)境為keil,使用C語言進(jìn)行編程。其主程序流程圖如圖4-1所示。首先系統(tǒng)上電之后初始化各個模塊,包括初始化液晶顯示屏、A/D模塊實(shí)時的采集外部直流信號,并將檢測到的氫氣電壓值顯示到液晶屏幕上;其次是判斷采集到的氫氣電壓知否大于設(shè)定的閾值,如果大于則控制外部的報警器電路發(fā)出聲音報警;最后進(jìn)入按鍵掃面判斷子程序,單片機(jī)實(shí)時的檢測外部是否有按鍵按下,并進(jìn)行相應(yīng)的氫氣電壓閾值設(shè)定。圖4-1系統(tǒng)主程序流程圖關(guān)鍵部分程序#include<reg51.h>#include<intrins.h>#include"lcd1602.h"http://1602液晶頭文件#defineucharunsignedchar#defineuintunsignedint#defineFOSC11059200L//Systemfrequency#defineBAUD9600//UARTbaudrate1.2氫氣電壓轉(zhuǎn)換子程序設(shè)計A/D主程序流程圖設(shè)計本文設(shè)計的ADC0832氫氣電壓采樣子程序流程圖如圖4-2所示。驅(qū)動和控制這款A(yù)/D芯片實(shí)時讀取數(shù)據(jù)主要包括以下幾個方面進(jìn)行:首先是使能芯片,使其能正常的工作,其次,引出單片機(jī)控制引腳控制輸入通道,讀取兩個字節(jié)的數(shù)據(jù),并對讀取的字節(jié)數(shù)進(jìn)行校正;最后把實(shí)時讀取的寄存器數(shù)據(jù)送入到指定的寄存器中保存[31],一次A/D轉(zhuǎn)換結(jié)束。圖4-2A/D子程序流程圖關(guān)鍵程序部分sbitCS=P1^3;//AD模塊使能端sbitCLK=P1^0;///AD模塊時鐘sbitDI=P1^2;///AD模塊數(shù)據(jù)輸入sbitDO=P1^1;///AD模塊數(shù)據(jù)輸出voidstartADC() //啟動ad{CS=1;_nop_();_nop_();CLK=0;_nop_();_nop_();CS=0;_nop_();_nop_();DI=1;_nop_();_nop_();CLK=1;_nop_();_nop_();DI=0;_nop_();_nop_();CLK=0;_nop_();_nop_();}1.31602液晶子程序設(shè)計(1)液晶顯示子程序流程圖設(shè)計1602液晶顯示屏的程序流程圖如圖4-3所示。首先上電初始化之后,清除液晶屏幕顯示內(nèi)容一遍,防止出現(xiàn)亂碼的現(xiàn)象。第二是配置顯示的模式分別為打開顯示指令,不顯示當(dāng)前屏幕字符移動的光標(biāo),且屏幕顯示字符的格式依次向右移動。第三讀取顯示模式值,液晶驅(qū)動模塊會根據(jù)配置的十六進(jìn)制值設(shè)置相應(yīng)的顯示格式,然后讀取需要顯示的內(nèi)容。第五把內(nèi)容顯示到液晶屏幕的第一欄中,讀取和顯示的內(nèi)容依次從左到右,每顯示完一個字符都要進(jìn)行判斷是否還有下一個字符需要進(jìn)行顯示,直到全部字符和數(shù)據(jù)讀取和顯示完畢即可停止第一欄內(nèi)容的讀取操作。第六是把內(nèi)容顯示到液晶屏幕的第二欄中,讀取和顯示的內(nèi)容依次從左到右,每顯示完一個字符都要進(jìn)行判斷是否還有下一個字符需要進(jìn)行顯示,直到全部字符和數(shù)據(jù)讀取和顯示完畢即可停止第二欄內(nèi)容的讀取操作,到此整個液晶屏幕需要顯示的內(nèi)容全部讀取和顯示完畢。本文設(shè)計大發(fā)電廠氫氣泄露檢測和報警器系統(tǒng)的氫氣檢測電壓數(shù)值顯示在屏幕的第一欄,預(yù)設(shè)的氫氣電壓閾值顯示在屏幕的第二欄。圖4-3液晶顯示子程序流程圖關(guān)鍵程序部分*名稱:delay_uint()*功能:小延時。*輸入:無*輸出:無*名稱:write_com(ucharcom)*功能:1602命令函數(shù)*輸入:輸入的命令值*輸出:無*名稱:write_data(uchardat)*功能:1602寫數(shù)據(jù)函數(shù)*輸入:需要寫入1602的數(shù)據(jù)*輸出:無/***********************lcd1602上顯示這字符函數(shù)************************/voidwrite_string(ucharhang,ucharadd,uchar*p){ if(hang==1) write_com(0x80+add); else write_com(0x80+0x40+add); while(1) { if(*p=='\0')break; write_data(*p); p++; } }/***********************lcd1602初始化設(shè)置************************/voidinit_1602() //lcd1602初始化設(shè)置{ write_com(0x38); // write_com(0x0c); write_com(0x06);}////////////////在指定位置顯示指定字符//////////voidwrite_zifu(ucharhang,ucharadd,uchardat){ if(hang==1) write_com(0x80+add); else write_com(0x80+0x40+add); write_data(dat+0X30);}/*voidwrite(uchar*pp){ while(*pp!='\0') { write_data(*pp); pp++; } }*/#endif1.4按鍵控制子程序設(shè)計(1)按鍵設(shè)定氫氣電壓閾值子程序流程圖設(shè)置按鍵設(shè)置氫氣電壓閾值子程序流程圖如圖4-4所示。圖4-4按鍵設(shè)定氫氣電壓閾值子程序流程圖程序執(zhí)行的步驟:首先是判斷功能選擇按鍵是否按下,如果按下則進(jìn)入加和減按鍵的檢測,如果檢測到了加按鍵則氫氣電壓閾值加1,否則進(jìn)入減按鍵判斷的環(huán)節(jié),如果減按鍵按下則氫氣電壓閾值減1操作,否則再次判斷功能選擇按鍵是否按下,按下則表示當(dāng)前氫氣電壓閾值設(shè)置完成。關(guān)鍵程序部分sbitfm=P2^11sbits1=P3^3;sbits2=P3^5;sbits3=P3^7;//按鍵設(shè)置voidkey(){staticucharcishu;//按鍵功能 i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論