壓縮包包含文檔、程序等全部資料。
設(shè)計(jì)一套聲音定位系統(tǒng)。在一塊不大于 1m2 的平板上貼一張 500mm×350mm 的坐標(biāo)紙,在其四角外側(cè)分別固定安裝一個(gè)聲音接收模塊,聲音接收模塊通過導(dǎo) 線將聲音信號傳輸?shù)叫畔⑻幚砟K,聲音定位系統(tǒng)根據(jù)聲響模塊通過空氣傳播到 各聲音接收模塊的聲音信號,判定聲響模塊所在的位置坐標(biāo)。系統(tǒng)結(jié)構(gòu)示意圖如 圖 1 所示。
2.1 要求 圖 1 聲音定位系統(tǒng)結(jié)構(gòu)示意圖
(1) 設(shè)計(jì)制作一個(gè)聲響模塊,含信號產(chǎn)生電路、放大電路和微型揚(yáng)聲器等, 每按鍵一次發(fā)聲一次,聲音信號持續(xù)時(shí)間約為 1s。要求聲響模塊采用 5V 以下電 池供電,功耗不大于 200mW。 (2) 設(shè)計(jì)制作四路聲音接收模塊,由麥克風(fēng)、放大電路等組成,并分別與信 息處理模塊相連接,以便將聲音信號傳送至信息處理模塊。 (3) 設(shè)計(jì)制作一個(gè)信息處理模塊,要求該模塊能根據(jù)從聲音接收模塊傳來的 信號判斷聲響模塊所在位置的 x、y 坐標(biāo),并以數(shù)字形式顯示 x、y 坐標(biāo)值,位置 坐標(biāo)值誤差的絕對值不大于 30mm。 3.1 說明 (1) 注意預(yù)留測量聲響模塊功耗的電流電壓和信號放大電路輸出信號的測試 點(diǎn)。 (2) 采用三個(gè)聲音接收模塊即可實(shí)現(xiàn)定位,第四個(gè)模塊可對定位作進(jìn)一步校 正。 (3) 不允許聲響模塊與其他電路有任何連接,并要求在聲響模塊上做出明顯 標(biāo)記,以便清晰判讀模塊所在坐標(biāo)數(shù)值。 (4) 注意聲音通過其它傳播介質(zhì)帶來的影響。 二、總體設(shè)計(jì)與分析
為了實(shí)現(xiàn)本次設(shè)計(jì)的要求,系統(tǒng)必須具備以下功能:按鍵聲源發(fā)聲且持續(xù)時(shí) 間 1s、接收聲音、信號放大濾波、聲源定位等功能。其系統(tǒng)主要可以劃分為:聲 響模塊、聲音接收模塊、控制器和顯示模塊。 在整體的方案上,聲響模塊利用 555 單穩(wěn)態(tài)振蕩電路來達(dá)到每按鍵一次發(fā)聲一次 的功能。另外由于聲響模塊產(chǎn)生的聲音信號傳遞到接收模塊時(shí)是十分微弱的,所 以聲音接收模塊必須含有濾波,放大和比較等環(huán)節(jié),以便觸發(fā)控制器進(jìn)行運(yùn)算和 處理。本次設(shè)計(jì)采用了比較器 LM358 結(jié)合放大電路形成的聲音接收模塊。此系 統(tǒng)結(jié)構(gòu)框圖如下所示:
三、方案比較與選擇 3.1 處理器 圖 2.1 系統(tǒng)結(jié)構(gòu)框圖
方案一:采用 TI 公司生產(chǎn)的 MSP430 單片機(jī)。MSP430 系列單片機(jī)含有一種 超高速、低功耗的同時(shí)具有精簡指令集(RISC)的 16 位處理器。該系列芯片片內(nèi) 資源豐富,中斷源的數(shù)量較多,足以滿足本次設(shè)計(jì)對中斷源的需求。同時(shí) MSP430 系列單片機(jī)運(yùn)算速度快,片內(nèi)硬件資源豐富,能夠?qū)崿F(xiàn)一些較為復(fù)雜的算法和數(shù) 據(jù)處理。但在短時(shí)間內(nèi)掌握 MSP430 的編程與開發(fā)具有一定的難度。 方案二:采用 STC 公司生產(chǎn)的 STC89C52RC 單片機(jī)。STC89C52RC 是 STC 公司 生產(chǎn)的一種高性能 CMOS、低功耗的 8 位微控制器。其片內(nèi)含有五個(gè)可屏蔽中斷 源,且容易對其進(jìn)行編程處理,基本可以滿足本次設(shè)計(jì)要求。另外 STC89C52RC 單片機(jī)小系統(tǒng)的焊接較為簡單,后期調(diào)試工作也更加方便。 綜上所述,方案一成本較高,并且考慮到短時(shí)間內(nèi)不易掌握,經(jīng)過討論采取方案 二。 3.2 聲源裝置 方案一:采用單片機(jī)產(chǎn)生聲音信號,經(jīng)過功率放大電路,驅(qū)動無源蜂鳴器發(fā) 聲,這可以通過程序?qū)崿F(xiàn)。但由于 STC89C52RC 單片機(jī)片內(nèi)資源有限,需要另外 再焊接一個(gè)單片機(jī)小系統(tǒng),較為浪費(fèi)資源。 方案二:采用 555 單穩(wěn)態(tài)振蕩電路產(chǎn)生聲音信號,經(jīng)過三極管放大電路,驅(qū) 動無源蜂鳴器發(fā)聲。其通過內(nèi)部的定時(shí)器產(chǎn)生時(shí)基電路,外部只需簡單的驅(qū)動電 路便可實(shí)現(xiàn)按鍵一次,聲音持續(xù)時(shí)間 1s 的功能。該電路結(jié)構(gòu)簡單,可外接 5V 電 源,方便焊接與測試。 綜上所述,經(jīng)討論采取方案二。
3.3 聲音接收裝置 方案一:采用壓電式聲敏傳感器。壓電式聲敏傳感器是利用壓電晶體的壓電 效應(yīng)制成一種能實(shí)現(xiàn)聲-電轉(zhuǎn)換器件。但壓電聲敏傳感器不是常用器件,價(jià)格較 貴。 方案二:采用電容式駐極體話筒(咪頭)。該元件能將一般的聲音信號轉(zhuǎn)化為 電信號。價(jià)格便宜,便于設(shè)計(jì),之后再自行設(shè)計(jì)濾波與放大電路,一起構(gòu)成聲音 信號接收模塊。 綜上所述,電容式駐極體話筒對于滿足設(shè)計(jì)要求綽綽有余,經(jīng)過討論采取方 案二。 3.4 聲音信號放大電路 方案一:采用聲控開關(guān)。聲控開關(guān)使用簡單,價(jià)格便宜,但是反應(yīng)不夠靈敏, 精度較低。 方案二:采用多級放大整波電路,將接收的信號經(jīng)放大、濾波、電壓比較排 除噪聲干擾,精度高。 綜上所述,雖然方案二電路復(fù)雜運(yùn)用模電知識,但是項(xiàng)目要求精度比較高, 所以采用方案二。3.5 顯示模塊 方案一:LCD1602 液晶顯示屏,是一種工業(yè)字符型液晶,能夠同時(shí)顯示 16x02 (16 列 2 行)即 32 個(gè)字符。對于本次設(shè)計(jì)而言,雖然其能基本完成顯示坐標(biāo)軸 上 X 與 Y 的值,但考慮在調(diào)試過程中,需要顯示時(shí)間差值和因中斷觸發(fā)產(chǎn)生的標(biāo) 志值。LCD1602 顯然做不到實(shí)時(shí)顯示,增加了調(diào)試的難度。 方案二:LCD12864 液晶顯示屏,是一種具有多種接口方式,內(nèi)部簡體中文字 庫的點(diǎn)陣圖形液晶顯示模塊;其顯示分辨率為 128×64, 內(nèi)置 8192 個(gè) 16*16 點(diǎn) 漢字,和 128 個(gè) 16*8 點(diǎn) ASCII 字符集。利用該模塊靈活的接口方式和簡單、方 便的操作指令,完全滿足本次設(shè)計(jì)中的顯示需求和調(diào)試需求。 綜上所述,經(jīng)討論采取方案二。 四、電路設(shè)計(jì) 4.1 按鍵發(fā)聲模塊電路設(shè)計(jì) 聲音信號是通過 555 單穩(wěn)態(tài)振蕩電路產(chǎn)生。通過按下開關(guān)按鈕后,下降沿觸 發(fā),555 電路產(chǎn)生持續(xù)時(shí)間為 1s 的聲音信號,使三極管電路飽和導(dǎo)通并放大電 流,驅(qū)動無源蜂鳴器發(fā)聲。整個(gè)電路由 5V 紐扣電池供電,使用小功率三極管 A42 進(jìn)行放大電流,以實(shí)現(xiàn)低功耗。  按鍵發(fā)聲模塊的具體電路如下圖所示:
圖 4.1 按鍵發(fā)聲模塊電路
圖中公有兩個(gè) 555 單穩(wěn)態(tài)振蕩電路,其中第一個(gè) 555 單穩(wěn)態(tài)振蕩電路對按鍵延 時(shí)防抖,產(chǎn)生準(zhǔn)確的負(fù)脈沖。第二個(gè) 555 單穩(wěn)態(tài)振蕩電路中則產(chǎn)生持續(xù) 1s 的正 脈沖?梢 555 單穩(wěn)態(tài)振蕩電路中,每來一次負(fù)脈沖,便輸出一個(gè)正脈沖,其寬 度 Tw 由 RC 決定,滿足下列公式: Tw = 1.1 × RC (s) 其中 R 在圖 4.1 中分別為 R22、R28;C 分別為 C17、C18。通過調(diào)節(jié) R28 即 可產(chǎn)生持續(xù) 1s 的高電平信號。 4.2 聲音接收模塊電路設(shè)計(jì) 聲音接收模塊采用駐極體話筒作為聲電轉(zhuǎn)換元件。駐極體話筒輸出端是內(nèi)部 場效應(yīng)管的漏極 D 和源極 S,此電路采用源極輸出,漏極接地的連接方式,故在 源極 S 與電源正極之間接入 10K 電阻。通過共基極放大電路放大電流信號,再經(jīng) 過由 LM358 組成的過零比較器電路輸出方波信號。電路中設(shè)置有 1K 的電位器 R18,以便調(diào)節(jié) LM358 比較器端的參考電壓,改變電路的靈敏度,使調(diào)試更為方 便。 聲音接收模塊電路具體如下圖所示: 圖 3.2 聲音接收模塊電路 由圖 3.2 可知,比較器輸入端參考電壓實(shí)際為:
本次設(shè)計(jì)采用 STC89C52RC 單片機(jī)進(jìn)行運(yùn)算處理和驅(qū)動 LCD12864 液晶顯示 屏顯示定位結(jié)果,即利用單片機(jī)內(nèi)部定時(shí)器 0 計(jì)時(shí),由外部中斷 0、外部中斷 1 和定時(shí)器 1 觸發(fā),檢測接收信號的下降沿,通過這種方式計(jì)算聲音傳播后,不同 模塊接收到信號的時(shí)間差,通過時(shí)間差計(jì)算出聲源信號到接收模塊距離,然后由 單片機(jī)編程計(jì)算出聲源的位置坐標(biāo),最終顯示在液晶屏上。 STC89C52RC 單片機(jī)小系統(tǒng)電路和 LCD12864 驅(qū)動電路如下圖所示:
五、算法與程序設(shè)計(jì) 5.1 數(shù)據(jù)處理原理: 圖 4.3 STC89C52RC 單片機(jī)模塊
本算法基于時(shí)間差算出未知點(diǎn)的坐標(biāo)點(diǎn)。從理論上分析,只需三個(gè)已知點(diǎn)就 可以對聲音源進(jìn)行定位,我們首先先將問題簡化為二維平面內(nèi)對聲音源進(jìn)行定位。 如下圖所示,在一個(gè)平面內(nèi)分布有三個(gè)傳感器 A、B 和 C 坐標(biāo)分別為(0,350)、 (0,0)、(500,0)。當(dāng)平面內(nèi)某處 S(x,y)發(fā)出聲音時(shí),3 個(gè)傳感器將先后接收 到信號,設(shè)信號到達(dá) A,B 的時(shí)間差為 t1,到達(dá) B,C 的時(shí)間差為 t2,則有:
我們只需在單片機(jī)程序中將 x, y 所有可能值都帶入到上式中,檢查有哪些值滿 足條件即可。
5.2 程序流程圖 圖 5.1 聲音定位系統(tǒng)等效平面圖
圖 5.2
5.3 子程序流程圖:
六、測試方案 6.1 主要的測試儀器、儀表 圖 5.3
本次主要使用的測試儀器與儀表有,函數(shù)信號發(fā)生器、示波器與數(shù)字萬用表。 6.2 測試方法 在硬件測試中,按鍵發(fā)聲模塊通過示波器測試電路輸出波形,調(diào)節(jié)電位器改 變電阻值來調(diào)節(jié)觸發(fā)時(shí)間,保證發(fā)出的聲響持續(xù)時(shí)間為 1s;另外使用數(shù)字萬用表 測量按鍵發(fā)聲模塊的功耗。聲音接收模塊通過數(shù)字萬用表,測量當(dāng)發(fā)聲模塊距接 收模塊不同距離時(shí),比較器輸出電壓,直至調(diào)節(jié)電位器,改變比較器靈敏度使輸 出電壓在要求距離內(nèi)能受到信號,并以下降沿觸發(fā)單片機(jī)。聲響模塊和接收模塊 都可以使用函數(shù)發(fā)生器和示波器來檢測電路的連接是否正常。 在軟件測試中,我們組軟件調(diào)試的中心思想是分模塊調(diào)試。先將程序分為三 個(gè)接受模塊,算法模塊,顯示模塊,我們在分塊調(diào)試時(shí),將各個(gè)模塊的輸出都顯 示出來以便于觀察各模塊是否正確。運(yùn)用這種方法,可以將軟件上的錯誤精確定
位到某一個(gè)環(huán)節(jié),大大提高了調(diào)試的效率。以下是具體方法: 1、將程序中的標(biāo)志位 signalA,signalB,signalC 通過 LCD 屏幕顯示出來,以方便 觀察是否所有傳感器都收到了信號。 2、將各信號間的時(shí)間差通過 LCD 屏幕顯示出來,以方便觀察各傳感器的響 應(yīng)速度以及接受信號的先后順序是否與實(shí)際一致。 3、在接入傳感器前,先用另一片單片機(jī)模仿傳感器發(fā)出的信號,并通過程序 設(shè)置時(shí)間差等參數(shù),用于檢查算法是否正確。 七、系統(tǒng)調(diào)試 7.1 按鍵發(fā)聲模塊 測試輸出電流(通過測量蜂鳴器串聯(lián)的 1Ω的電阻得到電流值),從圖中可知  為 0.042A:
圖 7.1.1 測試蜂鳴器兩端電壓,從圖中可知為 4.36V:
7.2 聲音接收模塊 圖 7.1.2
當(dāng)聲響模塊離接收模塊距離較近時(shí),接收模塊輸出電壓達(dá)到 3.6V 左右。
圖 7.2.1 當(dāng)聲響模塊離接收模塊較遠(yuǎn)時(shí)(但坐標(biāo)仍屬于坐標(biāo)紙的范圍),接收模塊輸出 電壓將會變小。這個(gè)時(shí)候就需要調(diào)節(jié)電位器,改變電阻值以減小比較器 LM358 輸 入端參考電壓的值。
7.3 LCD 液晶顯示模塊 圖 7.2.1
進(jìn)行測試時(shí),LCD12864 液晶顯示模塊除了顯示坐標(biāo) X 與 Y 的值外,還會顯示 A、B、C 三個(gè)聲音接收模塊的中斷觸發(fā)標(biāo)志值(如下圖顯示屏中第一行所顯示的 內(nèi)容,其中顯示值為 0 表示未觸發(fā),為 1 則表示已觸發(fā)),以及 A、B 和 C 三個(gè) 聲音接收模塊依次收到信號時(shí)的計(jì)時(shí)時(shí)刻(其中從右到左依次為 0us,65us 和 68us, 此時(shí)模塊 C 最先收到聲音信號),這樣方便系統(tǒng)調(diào)試。 下圖坐標(biāo) X 與 Y 值在誤差范圍內(nèi),滿足測量要求。
八、數(shù)據(jù)測試與處理 圖 7.3.1
8.1 聲響模塊參數(shù)記錄表與測試數(shù)據(jù) 當(dāng)給聲響模塊供電時(shí)聲響模塊測試結(jié)果如下表所示: 測試內(nèi)容 | 測試結(jié)果 | 按鍵發(fā)生 | 能 | 聲音信號持續(xù)時(shí)間 | 1 .023s | 功耗測試 | 183.12mW(4.36V,0.042A) |
表 8.1 8.2 聲音接收模塊輸出電壓記錄表與測試數(shù)據(jù) 比較電路在不同靈敏度下,距聲源不同距離時(shí)聲音接收模塊輸出電壓測試結(jié) 果如下表所示:
51hei.png (5.16 KB, 下載次數(shù): 89)
下載附件
2021-7-12 02:18 上傳
表 8.2
從表 8.2 可以看出,當(dāng)電位器阻值較小時(shí)即比較器輸入端參考電壓接近 0 時(shí)
更易收到信號,但實(shí)際上這樣做也更容易受到干擾。接收模塊 C 相較于 A、B 模
塊了,由于焊接工藝的問題,靈敏度較低。合理調(diào)節(jié)電位器阻值之后,三個(gè)模塊
最終都能受到信號,滿足設(shè)計(jì)要求。
8.3 聲源實(shí)測坐標(biāo)記錄表 對處于不同坐標(biāo)的聲源進(jìn)行了實(shí)際測量,最終得到了以下的一些實(shí)測數(shù)據(jù)如
下表所示:
51hei.png (3.5 KB, 下載次數(shù): 100)
下載附件
2021-7-12 02:18 上傳
從表中可以看出,除個(gè)別點(diǎn)外,坐標(biāo)紙的四個(gè)方向邊緣區(qū)域以及中間區(qū)域共
取了 5 個(gè)點(diǎn),其實(shí)測坐標(biāo)基本滿足設(shè)計(jì)要求。而個(gè)別點(diǎn)的誤差可能是由于接收模 塊放置的位置不準(zhǔn)確或聲源放置地不準(zhǔn)確而產(chǎn)生。
九、總結(jié)
本次設(shè)計(jì)以 STC89C52 為核心部件,利用了聲音檢測與辨識技術(shù),利用嚴(yán)密的 數(shù)學(xué)方法實(shí)現(xiàn)和確定了聲源的準(zhǔn)確定位。在系統(tǒng)設(shè)計(jì)過程中,力求硬件電路簡單, 降低硬件成本,節(jié)約功耗。
在這次設(shè)計(jì)中,我們遇到了許多問題,這些問題我們之前從未遇到過, 但最終我們都找到了解決這些問題的辦法,這對我們來說是一次很好的鍛煉。在 程序設(shè)計(jì)與軟件調(diào)試的過程之中,由于我們同時(shí)使用了 STC89C52 單片機(jī)中的四 個(gè)中斷進(jìn)行控制處理,對于單片機(jī)各個(gè)中斷的優(yōu)先級與觸發(fā)的考慮更為復(fù)雜,但 只要結(jié)合函數(shù)信號發(fā)生器模擬聲音信號觸發(fā)單片機(jī)得到調(diào)試結(jié)果,并且根據(jù)這些
結(jié)果不斷改正程序,就能得到最優(yōu)的程序設(shè)計(jì)。另外在程序設(shè)計(jì)過程,由于子程 序中數(shù)據(jù)處理十分重要,我們查閱了許多的資料,對于 C51 中的數(shù)據(jù)類型以及常 用的庫函數(shù)也更加的熟悉。在硬件調(diào)試過程中,出現(xiàn)了聲音接收模塊電路不穩(wěn)定, 易受到干擾,以及放大電路難以調(diào)試的問題。對于接下來設(shè)計(jì)之后,我們也 會考慮重新設(shè)計(jì)相關(guān)電路,例如采用雙比較器電路進(jìn)行比較放大,來提高電路的性能。
電路原理圖
相關(guān)作品圖片 (1)作品整體圖:
(2)按鍵發(fā)聲模塊
(3)聲音接收模塊 (4)單片機(jī)小系統(tǒng)

單片機(jī)源程序如下:
- #include<reg52.h>
- #include<stdio.h>
- #include "delay.h"
- #include "lcd.h"
- #include<math.h>
- #define uchar unsigned char
- #define uint unsigned int
- #define BOOL bit
- #define BYTE unsigned char
- #define WORD unsigned int
- uchar signalA,signalB,signalC;
- uchar wolsignalA,wolsignalB,wolsignalC;
- uchar wolCount,obv;
- unsigned int posX,posY; //坐標(biāo)取值
- code unsigned char byValidShow[] = {" V值: "};
- code unsigned char DispX[] = {" X軸: "};
- code unsigned char DispY[] = {" Y軸: "};
- void Init_Show() //LCD初始化顯示子程序
- {
- Delay400Ms();
- LCDInit();
- LCDClear();
- Delay5Ms();
- LCDClear();
- //DisplayListChar(0,1,byValidShow);
- DisplayListChar(0,2,DispX);
- DisplayListChar(0,3,DispY);
- Delay5Ms();
- }
- void Init_isr() //中斷初始化設(shè)置子程序
- {
- EA = 0;
- TMOD = 0x62;
- /*外部中斷0*/
- IT0 = 1; EX0 = 1;
- /*外部中斷1*/
- IT1 = 1; EX1 = 1;
- /* 計(jì)數(shù)器 0*/
- TH1 = 0xFF; TL1 = 0xFF; TR1 = 1; ET1 = 1;
- /* 定時(shí)器 1*/
- TH0 = 246; TL0 = 246; TR0 = 0; ET0 = 0;
- /***********/
- IE0=0;IE1=0;TF1=0;TF0=0;
- EA = 1;
- }
- void signalchuli(float m,float n) //坐標(biāo)定位計(jì)算程序
- {
- BOOL r1=0;
- BOOL r2=0; //方程是否成立變量
- BOOL suc=0; //解題是否成功變量
- float x,y;
- for(x=10;x<=500;x+=10)
- {
- for(y=10;y<=350;y+=10)
- {
- if(fabs(sqrt(x*x+(350-y)*(350-y))- sqrt(x*x+y*y)-m)<=20.0)
- r1=1;
- //else r1=0;
- if(fabs(sqrt(x*x+y*y)-sqrt(y*y+(500-x)*(500-x)) -n)<=20.0)
- r2=1;
- //else r2=0;
- if(r1&&r2)
- {
- suc=1;
- break;
- }
- else
- {
- r1=0;
- r2=0;
- }
- }
- if(suc)
- break;
- }
-
- posX=x;
- posY=y;
-
- }
- void main()
- {
- float cha1,cha2;
- uchar cha1_temp,cha2_temp;
- EA=0;
- Init_Show();
- Init_isr();
- while(1)
- {
- if( signalA && signalB && signalC)
- {
- EA = 0;
- TR0=0;
- obv++;
- cha1_temp = wolsignalA - wolsignalB;
- cha2_temp = wolsignalB - wolsignalC;
- if(wolsignalA < wolsignalB)
- {
- cha1_temp = 65536 - cha1_temp;
- cha1 = -(3.4*cha1_temp);
- }
- else
- {
- cha1 = 3.4*cha1_temp;
- }
- if(wolsignalB < wolsignalC)
- {
- cha2_temp = 65536 - cha2_temp;
- cha2 = -(3.4*cha2_temp);
- }
- else
- {
- cha2 = 3.4*cha2_temp;
- }
- signalchuli(cha1,cha2);
- DisplayADData(4,2,posX);
- DisplayADData(4,3,posY); //顯示坐標(biāo)
- signalA = 0;
- signalB = 0;
- signalC = 0;
- wolCount = 0;
- Init_isr();
- }
- DisplayADData(0,4,wolsignalA);
- DisplayADData(3,4,wolsignalB);
- DisplayADData(6,4,wolsignalC); //顯示時(shí)間插值,方便調(diào)試
- DisplayADData(0,1,signalA);
- DisplayADData(3,1,signalB);
- DisplayADData(6,1,signalC); //顯示觸發(fā)標(biāo)志位,方便調(diào)試
- }
- }
- void JsA_isr() interrupt 0 //外部中斷0,下降沿觸發(fā)
- {
- EX0 = 0;
- if(wolCount == 0)
- {
- wolsignalA = 0;
- TR0 = 1;
- ET0 = 1;
- }
- else
- {
- wolsignalA = wolCount;
- }
- signalA = 1;
- }
- void JsB_isr() interrupt 2 //外部中斷1,下降沿觸發(fā)
- {
-
- if(wolCount == 0)
- {
- wolsignalB = 0;
- TR0 = 1;
- ET0 = 1;
- }
- else
- {
- wolsignalB = wolCount;
- }
- signalB =1;
- EX1 = 0;
- }
- void Timer1_isr() interrupt 3 //計(jì)數(shù)器1,工作方式2
- {
- if(wolCount == 0)
- {
- wolsignalC = 0;
- TR0 = 1;
- ET0 = 1;
- }
- else
- {
- wolsignalC = wolCount;
- }
- signalC = 1;
- ET1 = 0;
- }
- void Timer0_isr() interrupt 1 //定時(shí)器0,工作方式2 , 10us
- {
- wolCount++;
- }
復(fù)制代碼
以上文檔與程序資料51hei下載(初學(xué)作品,如有錯誤請大家多多指導(dǎo)):
基于51的聲音定位系統(tǒng).rar
(1.6 MB, 下載次數(shù): 177)
2021-7-11 18:48 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|