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

下載本文檔

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

文檔簡(jiǎn)介

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

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論