噪聲檢測系統(tǒng)的軟件設(shè)計方案_第1頁
噪聲檢測系統(tǒng)的軟件設(shè)計方案_第2頁
噪聲檢測系統(tǒng)的軟件設(shè)計方案_第3頁
噪聲檢測系統(tǒng)的軟件設(shè)計方案_第4頁
噪聲檢測系統(tǒng)的軟件設(shè)計方案_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

噪聲檢測系統(tǒng)的軟件設(shè)計方案1.1軟件開發(fā)語言及開發(fā)平臺1.1.1軟件開發(fā)語言C語言是一種通用的計算機(jī)程序設(shè)計語言,既可以編寫計算機(jī)的系統(tǒng)程序,也可以編寫一般的應(yīng)用程序。由與匯編語言程序在可讀性和可移植性方面有很多缺陷,而且調(diào)試和查錯也很困難,因此為提高單片機(jī)應(yīng)用程序的編寫效率,采用高級語言是一種很好的選擇。C語言具有一般高級語言的特點,又能直接對計算機(jī)硬件進(jìn)行操作,表達(dá)和運算能力也比較強(qiáng),可方便地移植到各種型號計算機(jī)上[22]。本課題是用單片機(jī)得C51語言進(jìn)行軟件編程KeilC51語言是ANSIC的基礎(chǔ)上針對51單片機(jī)的硬件特點進(jìn)行的擴(kuò)展,并向51單片機(jī)上移植,經(jīng)過多年的努力,C51語言已經(jīng)成為公認(rèn)的高效、簡潔而又接近51單片機(jī)的實用高級編程語言。用C51語言進(jìn)行單片機(jī)得軟件開發(fā)具有如下優(yōu)點:(1)可讀性好。C51語言程序比匯編程序的可讀性好,因而編程效率高、程序便于修改。(2)模塊化開發(fā)與資源共享。用C51開發(fā)出來的程序模塊化可以不經(jīng)修改,直接被其他項目所用,這使得開發(fā)者能夠很好的利用已有的大量標(biāo)準(zhǔn)C程序資源與豐富的庫函數(shù),減少重復(fù)勞動。(3)可移植性好。為某種型號單片機(jī)開發(fā)的C語言程序,只需與硬件相關(guān)處和編譯連接的參數(shù)進(jìn)行適當(dāng)修改,就可以方便地移植到其他型號的單片機(jī)上。.(4)生成的代碼效率高。當(dāng)前較好的C51單片機(jī)編譯系統(tǒng)編譯出來的代碼效率只比直接使用匯編語言低20%左右,如果使用優(yōu)化編譯選項,效果會更好。1.1.2軟件開發(fā)平臺uVision2Keil公司目前已經(jīng)推出了V7.0以上版本的C51編譯器,為51單片機(jī)軟件開發(fā)提供了全新的C語言環(huán)境,同時保留了匯編代碼高效、快速的特點?,F(xiàn)在KeilC51已經(jīng)完全集成到一個功能強(qiáng)大的全新集成開發(fā)環(huán)境(IDE)uVision2中,該開發(fā)環(huán)境下集成了文件編譯處理、編譯鏈接、項目管理、窗口、工具引用和仿真軟件模擬器,所有這些功能均可在KeiluVision2提供的開發(fā)環(huán)境中極為簡便進(jìn)行操作。KeilC51一般簡寫為C51,指的是51單片機(jī)編程所有的C語言;而KeiluVision2指的是用于51單片機(jī)得C51程序編寫、調(diào)試的集成開發(fā)環(huán)境。圖4-1uVision2開發(fā)環(huán)境界面使用KEIL軟件做項目時的開發(fā)步驟和其他軟件開發(fā)步驟相差不多,其C語言程序的開發(fā)步驟如下:(1)創(chuàng)建一個項目,在器件數(shù)據(jù)庫中選擇目標(biāo)芯片,配置相關(guān)工具軟件設(shè)置,添加一個File到項目工程中,保存項目;(2)使用C語言編寫源程序;(3)用項目管理器構(gòu)造應(yīng)用,編譯程序;(4)糾正源文件中的錯誤,重新編譯,直至沒有錯誤為止;(5)調(diào)試鏈接后的應(yīng)用,生成HEX文件(HEX文件是可直接下載到單片機(jī)中的文件類型)。uVision2軟件提供了強(qiáng)大的項目管理功能,可以非常方便地進(jìn)行結(jié)構(gòu)化多模塊程序設(shè)計。uVision2軟件內(nèi)部集成源程序編輯器,它允許用戶在編輯源程序文件時設(shè)置調(diào)試斷點,方便程序調(diào)試過程中的快速檢查和修改程序;其內(nèi)部集成器件數(shù)據(jù)庫存儲了多種不同型號單片機(jī)的片上資源信息,通過它可以自動設(shè)置CX51編譯器、AXS1宏匯編器、BL51/LX51連接定位器以及調(diào)試器的默認(rèn)選項,充分滿足用戶利用特定單片機(jī)上集成外圍功能的要求內(nèi)部集成源級瀏覽器,利用符號數(shù)據(jù)庫中詳細(xì)的符號信息,使用戶可以快速瀏覽源文件,并優(yōu)化用戶的變量數(shù)據(jù)存儲器。此外還提供了文件查找功能、用戶菜單接口,而且還支持軟件模擬仿真和用戶目標(biāo)板調(diào)試兩種工作方式。1.2系統(tǒng)的軟件設(shè)計分析單片機(jī)的系統(tǒng)功能可知,它是數(shù)據(jù)采集模塊的主控制器,主要完成對環(huán)境噪聲信號的采集,通過信號放大,然后通過無線收發(fā)模塊傳送給終端單片機(jī)處理。根據(jù)系統(tǒng)功能要求,單片機(jī)的軟件設(shè)計部分主要包括主程序設(shè)計、信號模數(shù)轉(zhuǎn)化程序設(shè)計和串行通信程序設(shè)計以及報警檢測程序設(shè)計。1.2.1主程序設(shè)計主程序設(shè)計部分主要完成系統(tǒng)的初始化和數(shù)據(jù)的采集以及按需要調(diào)用各個子程序模塊的任務(wù),將其組成一個有機(jī)統(tǒng)一的整體。主程序流程框圖4-2,系統(tǒng)上電復(fù)位后,單片機(jī)首先初始化系統(tǒng),然后軟件查詢接收器是否發(fā)送命令信號。若接收器未發(fā)送開始命令信號,系統(tǒng)返回初始化程序繼續(xù)重新執(zhí)行;若接收器發(fā)送開始命令信號,則發(fā)送器將收到采集信號的命令,首先讀取程序設(shè)定的采樣周期,然后調(diào)用串行通信子程序,將采集的數(shù)據(jù)傳送給接收器,接收器與發(fā)送器之間的數(shù)據(jù)傳輸通過延時順利完成。接收機(jī)發(fā)送結(jié)束命令信號則發(fā)送器停止噪聲信號的采集;若接收器未發(fā)送結(jié)束命令信號,則發(fā)送機(jī)將繼續(xù)循環(huán)采集[18]。圖4-2主程序框圖1.2.2數(shù)據(jù)處理程序設(shè)計在數(shù)據(jù)處理模塊中,主要是對噪聲信號的采集,采集后進(jìn)行信號的放大,由ADC0804進(jìn)行模數(shù)轉(zhuǎn)換,采用軟件延時方法讀取轉(zhuǎn)換結(jié)果并按順序存入下位機(jī)中。具體轉(zhuǎn)換過程如圖4-3所示。該模塊主要部分為A/D轉(zhuǎn)換子程序。

圖4-3A/D轉(zhuǎn)換流程圖1.2.3串行通信程序設(shè)計串行通信模塊的程序設(shè)計主要是上下位機(jī)之間的通信,即兩個單片機(jī)間的通信。程序在uVision3中編寫編譯,調(diào)試成功后使用下載軟件STC-ISP.exe通過串口將程序?qū)懭氲絾纹瑱C(jī)中,給單片機(jī)上電即可運行程序。串行通信一般有異步通信和同步通信兩種基本通信方式。同步方式用十傳輸速度高且硬件復(fù)雜的情況。在異步通信時,數(shù)據(jù)時按一幀的格式傳送的,每一串行幀的數(shù)據(jù)格式由1個起始位,5-8位數(shù)據(jù)位,1個奇偶校驗位(可省)和1個停止位四部分組成(劉艷玲2000)系統(tǒng)采用雙機(jī)通信方式,單片機(jī)時鐘振蕩頻率為11.0592MHz,采用SMOD=0單倍方式,串行口以方式1工作,定時器T1以方式2工作。發(fā)送與接收端單片機(jī)分別通過無線收發(fā)模塊連接起來,假設(shè)發(fā)送端單片機(jī)AT89C52(1)為A機(jī),接收端單片機(jī)AT89C52(2)為B機(jī),兩機(jī)之間數(shù)據(jù)傳輸采用串行通信方式。通信協(xié)議約定如下:設(shè)置a機(jī)與B機(jī)間的通信波特率為9600bit/s:A機(jī)發(fā)送數(shù)據(jù),B機(jī)接收數(shù)據(jù),雙方在收發(fā)數(shù)據(jù)時使用查詢方式:數(shù)據(jù)幀格式8個數(shù)據(jù)位,1個停止位,無奇偶校驗位,起始位一直存在。串行通信程序主要由串行口初始化程序、發(fā)送程序和接收程序組成。串口初始化主要實現(xiàn)串口的打開以及規(guī)定上下位機(jī)的通信協(xié)議;發(fā)送和接收程序則實現(xiàn)上位機(jī)發(fā)送開始命令后,下位機(jī)發(fā)送數(shù)據(jù)和上位機(jī)接收數(shù)據(jù)的功能。串行通信程序流程圖如圖4-4所示。首先下位機(jī)發(fā)握手信號,請求上位機(jī)應(yīng)答,上位機(jī)收到握手信號后發(fā)送應(yīng)答信號,下位機(jī)收到上位機(jī)的命令后開始傳送數(shù)據(jù),當(dāng)上位機(jī)收到最后一個數(shù)據(jù)應(yīng)答后,上下位機(jī)之間的通信到此結(jié)束。圖4-4串行通信流程圖1.2.4報警檢測程序設(shè)計報警單元部分實現(xiàn)聲音報警和地點顯示報警。參考第二章系統(tǒng)硬件設(shè)計部分圖3-21單片機(jī)AT89C53通過它的P2.2腳為蜂鳴器提供控制輸入信號,此電路為系統(tǒng)提供聲

溫馨提示

  • 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

提交評論