freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機的吸聲系數(shù)測量裝置的設計畢業(yè)論文(編輯修改稿)

2025-07-16 12:53 本頁面
 

【文章內(nèi)容簡介】 LCD顯示電路,R/,通過軟件設置,當E=0時,LCD1602開始工作。當R/W=0,RS=0時,單片機可以向LCD寫指令,當RS=1,R/W=0時,單片機可以向LCD寫數(shù)據(jù),單片機的P2口和LCD的DB端口相連,當P2口輸出數(shù)據(jù)時,通過軟件程序控制,將數(shù)據(jù)進行一系列的計算,最后在LCD上顯示。本課題選用ATMEL公司的AT89C51,它以經(jīng)典的8031為內(nèi)核,有一個8位的微處理器,不僅可以處理字節(jié)數(shù)據(jù),還支持位操作。AT89C51具有4KB的EEPROM,將CPU和存儲器組合在單個芯片中,并與工業(yè)標準的AT89C51型機的指令集和輸出引腳兼容,從而為很多嵌入式控制提供了靈活性高且價格低廉的方案。其主要特性如下:壽命達1000次寫/擦循環(huán);時鐘頻率范圍為0Hz~24MHz;三級程序存儲器鎖定;1288位內(nèi)部RAM;兩個16位定時器/計數(shù)器;5個中斷源;可編程串行通道;低功耗閑置和掉電模式;片內(nèi)振蕩器和時鐘電路;32位可編程I/O線;4個8位并行I/O口:P0、PPP3。AT89C51具有很強的運算、控制能力,完全能夠滿足本課題的各項指標要求。 AT89C51引腳分布●P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高?!馪1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收?!馪2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。 ●P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 P3口也可作為AT89C51的一些特殊功能口?!馎LE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR的8EH地址上置0。此時ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。1. 復位電路設計單片機啟動運行時,都需要先復位,其作用是使CPU和系統(tǒng)中其他部件處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。單片機本身是不能自動進行復位的,必須配合相應的外部電路。單片機的復位通常分為三種:自動復位、手動復位、看門狗復位。只要給引腳RESET加上2個機器周期以上的高電平信號,就可使AT89C51復位。因為AT89C51內(nèi)部沒有看門狗,所以其復位電路只能采用自動和手動復位。本設計采用自動復位。 復位電路2. 晶振電路設計AT89C51內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。此放大器可與作為反饋元件的片外晶振一起構(gòu)成自激振蕩器。外接晶振以及電容C1和C2接在放大器的反饋回路中,構(gòu)成并聯(lián)諧振電路。外接電容的值雖然沒有嚴格的要求,但電容的大小會影響振蕩器頻率的高低、振蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。本系統(tǒng)晶振值取為12MHz,電容應盡可能的選擇陶瓷電容,相應容值約為30pF。 晶振電路 第3章 軟件設計 軟件設計包括總體程序、A/D轉(zhuǎn)換、白噪聲發(fā)生、FFT轉(zhuǎn)換、LCD顯示等模塊。本章主要介紹各個模塊的軟件設計思想及流程設計。 主程序流程圖。DSP首先控制發(fā)射10 ms白噪聲,然后實時調(diào)整信號放大倍數(shù)并采集數(shù)據(jù),準確地將模擬聲壓信號轉(zhuǎn)換成數(shù)字聲壓信號。在采集結(jié)束后,執(zhí)行512點位碼倒置和FFT變換子程序,再計算出吸聲系數(shù),最后將測量結(jié)果通過HPI 接口送給單片機。單片機將EOC置0,則將數(shù)據(jù)傳送給單片機的P2口。單片機經(jīng)過計算后將數(shù)據(jù)傳給LCD液晶屏顯示。LCD上顯示輸入電壓和吸聲系數(shù)。 DSP應用程序流程圖 白噪聲發(fā)生程序首先對DSP 進行初始化,設置10 m s定時中斷,XF置高電平,停止發(fā)射白噪聲信號。 然后,XF 置低電平發(fā)射白噪聲信號,DSP開始采集數(shù)據(jù)。 直到發(fā)生10 m s定時中斷,XF置高電平停止發(fā)射白噪聲信號,完成數(shù)據(jù)的采集,從而達到利用數(shù)字信號來控制白噪聲信號發(fā)射的目的。這里我們用單片機來實現(xiàn)吸聲系數(shù)的測量。由于單片機計算速度有限,我們用頻率為10KHz的正弦波代替白噪聲。如果需要計算完整的吸聲系數(shù)需要用運算速度較快的DSP(數(shù)字信號處理器)來進行快速傅里葉變換,進而計算各個頻率下的平均吸聲系數(shù)。 白噪聲程序流程圖 AD0809轉(zhuǎn)換程序。 ADC0809工作時序當通道選擇地址有效時,ALE信號一出現(xiàn),地址便馬上被鎖存,這時轉(zhuǎn)換啟動信號緊隨ALE之后(或與ALE同時)出現(xiàn)。START的上升沿將逐次逼近寄存器SAR復位,在該上升沿之后的2us加8個時鐘周期內(nèi)(不定),EOC信號將變低電平,以指示轉(zhuǎn)換操作正在進行中,直到轉(zhuǎn)換完成后EOC再變高電平。微處理器收到變?yōu)楦唠娖降腅OC信號后,便立即送出OE信號,打開三態(tài)門,讀取轉(zhuǎn)換結(jié)果。 模擬輸入通道的選擇可以相對于轉(zhuǎn)換開始操作獨立地進行(當然,不能在轉(zhuǎn)換過程中進行),然而通常是把通道選擇和啟動轉(zhuǎn)換結(jié)合起來完成(因為ADC0809的時間特性允許這樣做)。這樣可以用一條寫指令既選擇模擬通道又啟動轉(zhuǎn)換。在與微機接口時,輸入通道的選擇可有兩種方法,一種是通過地址總線選擇,一種是通過數(shù)據(jù)總線選擇。如用EOC信號去產(chǎn)生中斷請求,要特別注意EOC的變低相對于啟動信號有2us+8個時鐘周期的延遲,要設法使它不致產(chǎn)生虛假的中斷請求。為此,最好利用EOC上升沿產(chǎn)生中斷請求,而不是靠高電平產(chǎn)生中斷請求。本設計采用查詢的方法來確定A/D轉(zhuǎn)換是否完成,并將轉(zhuǎn)換的結(jié)果由P1口讀入單片機。單片機先給出啟動信號START脈沖,然后查詢檢測轉(zhuǎn)換結(jié)束信號EOC,當EOC為高電平轉(zhuǎn)換結(jié)束后,單片機給出OE使能信號,從P1口讀取轉(zhuǎn)換結(jié)果。 A/D 程序流程圖 FFT程序快速傅氏變換(FFT),是離散傅氏變換的快速算法,它是根據(jù)離散傅氏變換的奇、偶、虛、實等特性,對離散傅立葉變換的算法進行改進獲得的。它的優(yōu)點是節(jié)省運算量,算法迅速,能夠節(jié)約存儲空間,降低設備成本。FFT并不是一種新的變換,它是離散傅立葉變換(DFT)的一種快速算法。由于我們在計算DFT時一次復數(shù)乘法需用四次實數(shù)乘法和二次實數(shù)加法;一次復數(shù)加法則需二次實數(shù)加法。每運算一個X(k)需要4N次復數(shù)乘法及2N+2(N1)=2(2N1)次實數(shù)加法。所以整個DFT運算總共需要4N^2次實數(shù)乘法和N*2(2N1)=2N(2N1)次實數(shù)加法。如此一來,計算時乘法次數(shù)和加法次數(shù)都是和N^2成正比的,當N很大時,運算量是可觀的,因而需要改進對DFT的算法減少運算速度。根據(jù)傅立葉變換的對稱性和周期性,我們可以將DFT運算中有些項合并。我們先設序列長度為N=2^L,L為整數(shù)。將N=2^L的序列x(n)(n=0,1,……,N1),按N的奇偶分成兩組,也就是說我們將一個N點的DFT分解成兩個N/2點的DFT,他們又重新組合成一個N點DFT。一般來說,輸入被假定為連續(xù)的。當輸入為純粹的實數(shù)的時候,我們就可以利用左右對稱的特性更好的計算DFT。程序主要分為3大部分:主程序、波形發(fā)生子程序和FFT子程序。主程序主要功能為初始化工作變量,調(diào)用波形發(fā)生子程序產(chǎn)生3個正弦波,然后調(diào)用FFT子程序計算功率譜。波形發(fā)生子程序主要功能為發(fā)生波形,計算步長并用標準C的sin函數(shù)計算當前的波形值(128點)。FFT子程序主要功能為運用快速傅立葉變換計算功率譜。首先按照編碼逆序排列輸入序列,然后用蝶形算法進行計算,計算出功率譜,最后返回計算結(jié)果。程序首先定義采樣點為128點,然后初始化工作變量,將需要用到的公式定義好。然后輸入波形并進行采樣。將輸入采樣的波形值賦值給變量的實部,虛部賦0 。代入公式(3.1)進行計算。 (3.1)最后FFT子程序?qū)⑦\算出的結(jié)果賦值給DATA并返回。并且通過波形圖觀察輸出波形。對比快速傅立葉變換程序與CCS軟件計算的功率譜。 FFT子程序流程圖 LCD1602初始化程序LCD1602的基本的操作分為以下四種: 表 LCD寄存器選擇表RSR/W操 作00數(shù)據(jù)寄存器寫入01數(shù)據(jù)寄存器讀出10指令寄存器寫入11指令寄存器讀出當讀狀態(tài)時單片機輸入指令:RS=0,RW=1,E=1;當讀數(shù)據(jù)時單片機輸入指令:RS=1,RW=1,E=1。狀態(tài)或數(shù)據(jù)由DB0DB7數(shù)據(jù)口讀進單片機。: LCD1602讀時序?qū)懼噶顣r單片機輸入:RS=0,RW=0,E=下降沿脈沖,單片機向DB0~DB7輸入指令碼 ;寫數(shù)據(jù)時單片機輸入:RS=1,RW=0,E=下降沿脈沖,單片機向DB0~DB7輸入數(shù)據(jù)。: LCD1602寫時序1. 忙信號檢測:檢測液晶是否處于忙碌狀態(tài),如果處于忙碌狀態(tài),則不可對液晶進行操作,否則可以進行讀寫和顯示操作。忙碌標志位為BF(即LCD1602數(shù)據(jù)引腳的最高位DB7位),BF=0表示忙碌,BF=1表示空閑。在讀取過程中要等待4個機器周期的時間已留給硬件足夠反映的時間。 忙信號檢測流程圖2. 寫數(shù)據(jù)程序:向液晶發(fā)送需要顯示的數(shù)據(jù)程序。首先檢測液晶是不是處于忙碌狀態(tài),如果不忙碌,寫入寫數(shù)據(jù)指令RS=1,RW=0,E=0,在單片機P2口給出要顯示的數(shù)據(jù)。寫指令程序:對液晶進行寫指令的操作。首先檢測液晶是不是處于忙碌狀態(tài),如果不忙碌,寫入寫指令RS=0,RW=0,E=0,在單片機P0口給出要寫入的指令碼,液晶在初始化的時候需要輸入一系列的指令。顯示之前需要對液晶進行初始化,設置液晶的顯示模式為顯示開,無光標,指令碼為0x38;光標不閃爍,指令碼為0x0c;字符不移,指令碼為0x06;將以前的顯示內(nèi)容清除,指令碼為0x01。 寫數(shù)據(jù)流程圖 第4章 聯(lián)合調(diào)試聯(lián)合調(diào)試是最關(guān)鍵也是難度最大的環(huán)節(jié),它既要求軟件使用和程序編寫的能力,又要求有對硬件電路調(diào)試的能力。本章主要對硬件各個部分和總體電路進行調(diào)試,硬件和軟件也在調(diào)試過程中
點擊復制文檔內(nèi)容
畢業(yè)設計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1