【《基于單片機的酒精檢測系統(tǒng)的軟件設(shè)計及測試分析案例》3000字】_第1頁
【《基于單片機的酒精檢測系統(tǒng)的軟件設(shè)計及測試分析案例》3000字】_第2頁
【《基于單片機的酒精檢測系統(tǒng)的軟件設(shè)計及測試分析案例》3000字】_第3頁
【《基于單片機的酒精檢測系統(tǒng)的軟件設(shè)計及測試分析案例》3000字】_第4頁
【《基于單片機的酒精檢測系統(tǒng)的軟件設(shè)計及測試分析案例》3000字】_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于單片機的酒精檢測系統(tǒng)的軟件設(shè)計及測試分析案例目錄TOC\o"1-3"\h\u6213基于單片機的酒精檢測系統(tǒng)的軟件設(shè)計及測試分析案例 1245611軟件系統(tǒng)的設(shè)計與實現(xiàn) 1112031.1軟件開發(fā)環(huán)境介紹 1283451.2總體程序設(shè)計流程 2178621.3按鍵模塊程序 4264351.4酒精檢測模塊程序 6152481.5液晶顯示模塊程序 7200401.6換氣模塊程序 8310911.7聲光報警模塊程序 9223751.8本章小結(jié) 10171162仿真與測試 10177872.1仿真 10122432.1.1Proteus介紹 1057912.2系統(tǒng)測試 12152182.3實物界面顯示 12軟件系統(tǒng)的設(shè)計與實現(xiàn)1.1軟件開發(fā)環(huán)境介紹 本設(shè)計的程序編寫選擇STM32開發(fā)常用的KeilμVision5軟件。該軟件開發(fā)語言為C語言,軟件提供了豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具。代碼編寫主要用于對控制器各模塊的指令控制。保證模塊功能的實現(xiàn)。開發(fā)環(huán)境如圖4-1所示。圖4-1軟件開發(fā)環(huán)境1.2總體程序設(shè)計流程 儀器上電后,系統(tǒng)首先對各模塊進行初始化操作(如酒精檢測模塊、獨立按鍵模塊、聲光報警模塊等),初始化完成后,進行按鍵選擇模式啟動。選擇完模式后,按鍵輸入設(shè)置閾值,設(shè)置完成后按下確定按鍵進入酒精檢測界面。MQ-3氣敏傳感器將模擬量電壓數(shù)據(jù)輸入到最小系統(tǒng)AD模數(shù)轉(zhuǎn)換模塊中,使用ADC模數(shù)轉(zhuǎn)換將電信號轉(zhuǎn)為數(shù)字量經(jīng)主控模塊進行數(shù)據(jù)處理后,由主控模塊輸出給OLED12864液晶顯示屏實時顯示當(dāng)前環(huán)境下酒精濃度。當(dāng)檢測到環(huán)境下酒精濃度超過設(shè)定的閾值時,主控芯片控制聲光報警模塊或換氣模塊進行工作??傮w程序流程圖如圖4-2所示:圖4-2總體程序流程圖 在各個模塊程序中實現(xiàn)對輸入的酒精濃度信號轉(zhuǎn)換的電壓信號的數(shù)字量轉(zhuǎn)換,信息顯示等過程。儀器在開機時,STM32芯片使用Init函數(shù)初始化相關(guān)的模塊和引腳。然后等待數(shù)據(jù)的輸入,再根據(jù)輸入的參數(shù)進行處理后輸出相關(guān)的具體數(shù)據(jù),達到對酒精濃度的檢測和聲光報警或風(fēng)扇換氣處理。分別調(diào)用模數(shù)轉(zhuǎn)換、OLED、按鍵、LED燈、蜂鳴器、繼電器等模塊器件,實現(xiàn)總體功能。具體時序圖如圖4-3所示。圖4-3總體程序流程時序圖1.3按鍵模塊程序測試儀的三個獨立按鍵分別的功能為:按鍵K1:模式選擇時按下選擇模式一;閾值設(shè)定時按下為報警閾值增加調(diào)整按鍵。按鍵K2:模式選擇時按下選擇模式二;閾值設(shè)定時按下為報警閾值減小調(diào)整按鍵。按鍵K3:報警閾值設(shè)定后的確認(rèn)按鍵。鍵接的VCC就將相應(yīng)IO口設(shè)置成下拉輸入模式,接地就上拉輸入模式(沒按下的時候就要默認(rèn)高電平),按鍵模塊流程圖如圖4-4所示:圖4-4按鍵模塊流程圖 獨立按鍵模塊的程序首先需要使用KEY_Init()函數(shù)對其進行初始化,后再通過Key_Scan()函數(shù)對三個獨立按鍵進行按鍵掃描,檢測那個按鍵按下。函數(shù)Key_Action()得到值進行執(zhí)行相應(yīng)的模式切換和報警閾值的加減操作。獨立按鍵模塊時序圖如圖4-5所示。圖4-5按鍵模塊時序圖1.4酒精檢測模塊程序 上電后開始初始化,等待主控模塊接收模擬電信號,待做完模式選擇和閾值設(shè)定后進入到檢測環(huán)節(jié)時,MQ-3通過AOUT口向主控模塊輸入模擬電信號,主控新模塊將信號傳入STM32F103C8T6芯片ADC模數(shù)轉(zhuǎn)換模塊。通過ADC模數(shù)轉(zhuǎn)換得到酒精濃度數(shù)據(jù)。酒精檢測模塊設(shè)計的流程圖如圖4-6所示。圖4-6酒精檢測模塊流程圖 酒精檢測模塊首先配置ADC模數(shù)轉(zhuǎn)換器,使用ADC1_GPIO_Init()函數(shù)將PA0管腳作為輸入引腳,進行引腳的初始化。再調(diào)用ADC1_Init()函數(shù)對ADC1進行初始化的配置,通過對ADC_Mode的配置將ADC1配置為獨立工作模式;配置ADC_ScanConvMode為單通道模式;將ADC_ContinuousConvMode設(shè)置為單次轉(zhuǎn)換;把ADC_ExternalTrigConv觸發(fā)方式設(shè)置為軟件觸發(fā);右對齊。設(shè)置參數(shù)ADC_SampleTime_239Cycles5采樣時間為239.5周期。 ADC_GetDate()函數(shù)將轉(zhuǎn)換次的數(shù)據(jù)累加得到均值存到ad_value[2]數(shù)組中,再經(jīng)由MQ_Scan()函數(shù)對數(shù)組中的數(shù)據(jù)通過轉(zhuǎn)換公式計算后的到真實的酒精濃度數(shù)值value。酒精檢測模塊時序圖如圖4-7所示。圖4-7酒精檢測模塊時序圖1.5液晶顯示模塊程序 首先初始化OLED,IIC接口采用SCL作為時鐘管腳,SDA作為數(shù)據(jù)管腳。單片機上一般有對應(yīng)的兩個管腳,可用于硬件IIC通訊。但是我們一般采用軟件模擬IIC通訊,好處是代碼移植性更高,而且,可以采用任意兩個IO口進行通訊,不需要特定的接口。顯示模塊的流程圖如圖4-8所示:圖4-8液晶顯示模塊流程圖OLED顯示模塊時序如圖4-9所示,使用OLED_Init()和IIC_Configuration()函數(shù)進行初始化操作。初始化完成后,通過OLED_ShowStr()調(diào)用IIC接口函數(shù)進行數(shù)據(jù)讀寫,完成數(shù)據(jù)的顯示。圖4-9液晶顯示模塊時序圖1.6換氣模塊程序 上電后繼電器進行端口初始化。等待主控模塊發(fā)出的指令,當(dāng)檢測到當(dāng)前環(huán)境下的酒精濃度大于閾值時,主控模塊會給繼電器一個高電平觸發(fā)繼電器,繼電器上觸發(fā)后上電給風(fēng)扇驅(qū)使風(fēng)扇轉(zhuǎn)動。具體流程圖如圖4-10所示。圖4-10換氣模塊流程圖 首先對繼電器進行初始化引腳,使用RELAY_Init()函數(shù)。打開繼電器需要給繼電器IN引腳一個高電平,關(guān)閉給低電平。其時序圖如圖4-11所示。圖4-11換氣模塊時序圖1.7聲光報警模塊程序 初始化蜂鳴器和LED的引腳。當(dāng)主控模塊判斷當(dāng)前環(huán)境下的酒精濃度超過設(shè)定的閾值時,會同時給蜂鳴器和LED的引腳電信號,使其同時工作。達到聲光報警的目的。模塊具體流程圖如圖4-12所示。圖4-12聲光報警模塊流程圖 進入主函數(shù),通過TIM3時鐘初始化TIM3_Init,TIM3_Init(1000,72)配置TIMER3定時1ms。聲光報警模塊時序圖如圖4-13所示。圖4-13聲光報警模塊時序圖1.8本章小結(jié)本章對軟件開發(fā)環(huán)境進行了介紹,對軟件的設(shè)計流程和步驟進行了闡述。 2仿真與測試2.1仿真2.1.1Proteus介紹 Proteus軟件是英國LabCenterElectronics公司出版的EDA工具軟件,深受單片機愛好者、從事單片機教學(xué)的教師和致力于單片機開發(fā)應(yīng)用的科技工作者的青睞。使用Proteus可以實現(xiàn)電路原理圖布圖、程序調(diào)試和單片機與外圍電路的協(xié)同仿真,是目前世界上唯一能將電路仿真軟件、PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺。它支持各種類型的單片機、Cortex和DSP系列處理器,支持IAR、Keil和MPLAB等多種編譯器[21]。2.1.2軟硬件聯(lián)合仿真 本設(shè)計選擇Proteus8.9版本作為仿真的平臺,依據(jù)硬件電路圖和原理圖在Proteus中選擇相應(yīng)的器件連接,使用Keil軟件編寫C語言程序,將生成的*.HEX文件裝入仿真電路中,查看仿真結(jié)果[22]。 總體仿真圖如圖5-1所示。圖5-1總體仿真圖 由于Proteus仿真軟件中部分器件沒有,所以對部分電路以及元器件的調(diào)整:(1)在Proteus仿真軟件固件庫中,酒精傳感器MQ-3沒有,所以在這里選擇滑動變阻器進行對酒精傳感器進行模擬。對滑動變阻器進行調(diào)節(jié)以此來改變輸入的電壓大小,達到模擬酒精傳感器在酒精濃度檢測時輸出不同電壓的效果。輸入模擬仿真如圖5-2所示。圖5-2酒精檢測模塊模擬仿真圖 (2)刪除部分電路。在Proteus仿真中,電源電路相關(guān)的電路不再需要,例如穩(wěn)壓電路,復(fù)位電路等,所以需要去除。在仿真時,開始仿真即表示芯片上電。 (3)由于在Proteus8.9版本中沒有STM32F103C8T6的固件型號,所以將主控模塊的控制芯片由STM32F103C8更改為STM32F103C6。 通過使用Proteus仿真軟件對儀器所設(shè)計的模塊進行仿真測試,驗證儀器的功能模塊設(shè)計是否合理。酒精測試儀的仿真測試內(nèi)容為:酒精濃度顯示模塊是否正常;按鍵的模式切換和閾值調(diào)整是否正常,經(jīng)仿真測試,本次設(shè)計的酒精測試儀的所有功能均以實現(xiàn),仿真結(jié)果如圖5-3所示。圖5-3仿真測試結(jié)果圖Proteus仿真測試結(jié)果中,顯示當(dāng)前環(huán)境下酒精濃度值、儀器當(dāng)前所處的模式、儀器所設(shè)置的報警閾值。2.2系統(tǒng)測試 在各個模塊的驅(qū)動都編寫完成,經(jīng)仿真測試后。連接硬件,下載驅(qū)動程序。經(jīng)檢測基于單片機的酒精測試儀實現(xiàn)了預(yù)期的功能和作用。在此次測試中,主要測試了以下功能:酒精濃度的檢測是否靈敏;超過閾值時各個模塊是否工作正常;經(jīng)檢測,本次設(shè)計軟件設(shè)計要求的所有功能全部實現(xiàn)。2.3實物界面顯示 儀器開機后上電后進入模式選擇界面,按下K1按鍵進入模式一,無換氣功

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論