大學(xué)生畢業(yè)設(shè)計(jì) 基于TEA5767和單片機(jī)的數(shù)字FM收音機(jī)設(shè)計(jì)_第1頁
大學(xué)生畢業(yè)設(shè)計(jì) 基于TEA5767和單片機(jī)的數(shù)字FM收音機(jī)設(shè)計(jì)_第2頁
大學(xué)生畢業(yè)設(shè)計(jì) 基于TEA5767和單片機(jī)的數(shù)字FM收音機(jī)設(shè)計(jì)_第3頁
大學(xué)生畢業(yè)設(shè)計(jì) 基于TEA5767和單片機(jī)的數(shù)字FM收音機(jī)設(shè)計(jì)_第4頁
大學(xué)生畢業(yè)設(shè)計(jì) 基于TEA5767和單片機(jī)的數(shù)字FM收音機(jī)設(shè)計(jì)_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、基于TEA5767模塊的數(shù)字FM收音機(jī)設(shè)計(jì)摘 要 本設(shè)計(jì)是一個(gè)數(shù)字調(diào)頻收音機(jī)(FM),就是接受頻率調(diào)制的無線電信號(hào),經(jīng)過解調(diào)還原成原信號(hào)的電子設(shè)備,利用單片機(jī)控制有FM功能的專用芯片,設(shè)計(jì)一個(gè)基于TEA5767模塊的數(shù)字FM收音機(jī)。本設(shè)計(jì)采用模塊化設(shè)計(jì),整個(gè)系統(tǒng)由控制模塊,F(xiàn)M音頻模塊和功放模塊組成。本設(shè)計(jì)核心采用的是TEA5767芯片,它是由PHILIPS公司推出的針對(duì)低電壓應(yīng)用的單芯片數(shù)字調(diào)諧FM立體聲收音機(jī)芯片。TEA5767芯片內(nèi)集成了完整的IF頻率選擇和鑒頻系統(tǒng),就可實(shí)現(xiàn)FM收音機(jī)的全部功能。采用的是Lcd1602液晶顯示屏,實(shí)現(xiàn)單片機(jī)的頻率值與模塊內(nèi)部的寄存器(PLL值)之間的相互

2、轉(zhuǎn)換,從而帶動(dòng)功放的工作。功能:自動(dòng)收臺(tái),手動(dòng)收臺(tái),液晶顯示。采用主要模塊有:(1) STC89C52單片機(jī)模塊。(2) Lcd1602顯示模塊。(3) TEA5767收音機(jī)模塊。關(guān)鍵詞:STC89C52 Lcd1602 TEA5767模塊 目錄摘 要.21.緒 論.5 1.1 課題背景.5 1.2 課題概述.52.設(shè)計(jì)要求與思路.5 2.1 收音機(jī)的設(shè)計(jì)要求.5 2.2 系統(tǒng)設(shè)計(jì)整體思路.53.主要電路模塊的實(shí)現(xiàn)方案比較及選擇.6 3.1 控制模塊方案選擇.7 3.2 液晶顯示模塊方案選擇.7 3.3 無線芯片方案選擇.74系統(tǒng)電路圖.8 4.1 微控制器模塊.8 4.2 FM模塊.9 4.

3、2.1 FM模塊介紹.9 4.3 工作原理.10 4.3.1串行總線工作模式.10 4.3.2 串行總線基本操作.10 4.3.3數(shù)據(jù)傳送.12 4.3.4、三線總線工作模式.125.系統(tǒng)軟件設(shè)計(jì).135.1 主程序設(shè)計(jì).135.2 流程圖.146.硬件電路測(cè)試與檢測(cè).14 6.1 硬件裝配.14 6.2 系統(tǒng)測(cè)試.147.結(jié)束語.158.參考文獻(xiàn).159.致謝.1510.附錄.16 10.1 電路原理圖.16 10.2 電路PCB圖.16 10.3 電路實(shí)物圖.17 10.3 元器件清單.1811.操作框圖.19 程序框圖.2012.程序.21 12.1 主程序.21 12.2 I2C總線.

4、2612.3 Lcd1602程序.29基于TEA5767模塊的數(shù)字FM收音機(jī)設(shè)計(jì)一緒 論1.1課題背景隨著科學(xué)技術(shù)的不斷發(fā)展,新穎的調(diào)頻收音機(jī)的不斷出現(xiàn),技術(shù)不斷的提高,設(shè)計(jì)出來的收音機(jī)外型精致和小巧。從分離元件到集成電路,這標(biāo)志著收音機(jī)的內(nèi)部電路簡(jiǎn)單。用一個(gè)集成塊就能完成所有的工作。從早期的調(diào)幅收音機(jī)到現(xiàn)在的調(diào)頻收音機(jī),我們可以想象收音機(jī)的不斷的改進(jìn)和不斷創(chuàng)新,使收音機(jī)的發(fā)展空間愈來愈大?,F(xiàn)在,出現(xiàn)了新一代高科技產(chǎn)品數(shù)字調(diào)頻收音機(jī),功能強(qiáng)大,性能優(yōu)良,設(shè)計(jì)精巧耐用。1.2課題概述收音機(jī)的接收原理就是把從天線接收到的高頻信號(hào)經(jīng)檢波(解調(diào))還原成音頻信號(hào),送到耳機(jī)變成音波。由于廣播事業(yè)發(fā)展,天空

5、中有了很多不同頻率的無線電波。如果把這許多電波全都接收下來,音頻信號(hào)就會(huì)象處于鬧市之中一樣,許多聲音混雜在一起,結(jié)果什么也聽不清了。為了設(shè)法選擇所需要的節(jié)目,在接收天線后,有一個(gè)選擇性電路,它的作用是把所需的信號(hào)(電臺(tái))挑選出來,并把不要的信號(hào)“濾掉”,以免產(chǎn)生干擾,這就是我們收聽廣播時(shí),所使用的“選臺(tái)”按鈕。選擇性電路的輸出是選出某個(gè)電臺(tái)的高頻調(diào)幅信號(hào),利用它直接推動(dòng)耳機(jī)(電聲器)是不行的,還必須把它恢復(fù)成原來的音頻信號(hào),這種還原電路稱為解調(diào),把解調(diào)的音頻信號(hào)送到耳機(jī),就可以收到廣播。二.設(shè)計(jì)要求與思路2.1收音機(jī)的設(shè)計(jì)要求:可對(duì)無線接收機(jī)的頻率進(jìn)行控制。通過鍵盤可以設(shè)置接收頻率,接收頻率在

6、88-108MHz內(nèi)自選20M的帶寬。2.2系統(tǒng)設(shè)計(jì)整體思路(1)硬件部分:整體由52單片機(jī)控制,組成由液晶顯示屏、功放模塊、TEA5767收音機(jī)模塊、按鍵。如下圖所示:圖為:系統(tǒng)方案設(shè)計(jì)框圖三、主要電路模塊的實(shí)現(xiàn)方案比較及選擇AM:改變載波的振幅稱振幅調(diào)制。AM是指對(duì)信號(hào)進(jìn)行幅度調(diào)制。一般做法就是先在原信號(hào)上疊加一個(gè)直流信號(hào)以保證信號(hào)f(t)+A0,然后乘上一個(gè)高頻的余弦信號(hào),即得到g(t)=f(t)+Acoswt。在頻域上的效果就是將原信號(hào)的頻譜移動(dòng)到w處,以適合信道傳輸?shù)淖罴杨l率范圍。g(t)的包絡(luò)線即f(t)+A,用一個(gè)簡(jiǎn)單的包絡(luò)檢測(cè)電路就可以接收并還原信號(hào)了。FM:改變載波的頻率稱頻

7、率調(diào)制。音頻信號(hào)的改變往往是周期性的。與“FM無線電波”相同,“FM合成理論”同樣也有著發(fā)音體(載體)和調(diào)制體兩個(gè)元素。發(fā)音體或稱載波體,是實(shí)際發(fā)出聲音的頻率振蕩器;調(diào)制體或稱調(diào)制器.本次方案選用的是FM調(diào)制。理由有以下幾點(diǎn):1) 在同樣的頻率、功率等條件下,用調(diào)頻方式傳輸信號(hào)比調(diào)幅方式要遠(yuǎn)得多。因?yàn)檎{(diào)幅方式的載頻電平要高出噪聲電平三四十分貝才能得到良好的圖像指標(biāo),而調(diào)頻方式只要高出噪聲電平幾分貝即可。2) 調(diào)頻比調(diào)幅抗干擾能力強(qiáng):外來的各種干擾、加工業(yè)和天電干擾等,對(duì)已調(diào)波的影響主要表現(xiàn)為產(chǎn)生寄生調(diào)幅,形成噪聲。調(diào)頻制可以用限幅的方法,消除干擾所引起的寄生調(diào)幅。而調(diào)幅制中已調(diào)幅信號(hào)的幅度是變

8、化的,因而不能采用限幅,也就很難消除外來的干擾。3) 另外,信號(hào)的信噪比愈大,抗干擾能力就愈強(qiáng)。而解調(diào)后獲得的信號(hào)的信噪比與調(diào)制系數(shù)有關(guān),調(diào)制系數(shù)越大,信噪比越大。由于調(diào)頻系數(shù)遠(yuǎn)大于調(diào)幅系數(shù),因此,調(diào)頻波信噪比高,調(diào)頻廣播中干擾噪聲小。4) 調(diào)頻波比調(diào)幅波頻帶寬。3.1控制模塊方案選擇:方案:控制核心選擇STC89C52單片機(jī),該單片機(jī)有一個(gè)8位的微處理器,與通用的微處理器基本相同,STC89C52是STC公司生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。優(yōu)勢(shì)為結(jié)構(gòu)簡(jiǎn)單,價(jià)格不高,易于購買。缺點(diǎn)為缺少AD轉(zhuǎn)換功能,運(yùn)行速度較慢。由于方案的單片機(jī)使用較為廣泛

9、,功能較為了解。故采用此方案作為控制模塊。 3.2液晶顯示模塊方案選擇:方案:用Lcd1602顯示屏,該顯示屏具有2行16個(gè)字符。Lcd1602具有體積小、重量輕、功耗低、壽命長(zhǎng)、無輻射、無污染等優(yōu)點(diǎn),低壓、微功耗極低的工作電壓,只要2V-3V即可工作,而工作電流僅幾個(gè)微安即每個(gè)顯示字符只有幾個(gè)微安。優(yōu)勢(shì)為結(jié)構(gòu)簡(jiǎn)單,價(jià)格不高,易于購買。實(shí)際中應(yīng)用到的機(jī)會(huì)比較大。通過自己所掌握的知識(shí)與能力,由于對(duì)Lcd1602的使用比較了解。故采用此次模塊。3.3無線芯片方案選擇:TEA5767芯片,通過I2C接口與單片機(jī)進(jìn)行通信。單片機(jī)按鍵對(duì)TEA5767進(jìn)行初始化輸入接收頻段的頻率,TEA5767內(nèi)部對(duì)信號(hào)

10、濾波、放大、解調(diào)處理,輸出信號(hào)經(jīng)過功放進(jìn)行放大,插上耳麥即可收聽到電臺(tái)節(jié)目,接收頻率為87M108MHz。方案(1)采用無線芯片TEA5767,自己設(shè)計(jì)外圍電路。方案(2)采用相關(guān)廠家生產(chǎn)的TEA5767模塊來實(shí)現(xiàn)。很顯然,第一種方案需要自己設(shè)計(jì)電路、畫PCB和焊接,而TEA5767采用的是FVQFN40(耐熱的薄型四腳扁平封裝)封裝,在短時(shí)間內(nèi)和有限的條件下實(shí)現(xiàn)硬件功能的難度相當(dāng)大。所以本設(shè)計(jì)采用第二種選擇方案使用現(xiàn)成的模塊。四、系統(tǒng)電路圖4.1微控制器模塊單片機(jī)是控制單元的核心,起著控制收音機(jī)所有運(yùn)行狀態(tài)的作用。單片機(jī)控制模塊使用的是STC89C52,使用該芯片很容易實(shí)現(xiàn)對(duì)其他模塊的控制。

11、通過對(duì)單片機(jī)STC89C52寫入程序,可以方便的用軟件來控制整個(gè)過程。STC89C52單片機(jī),支持USB口或者是串口兩種下載程序方式,不用另買燒寫器,編程器等產(chǎn)品,可以方便的燒寫程序到單片機(jī)里;單片機(jī)內(nèi)部有P0、P1、P2、P3個(gè)八位雙向I/O口,外設(shè)與這些端口可以直接相接,無需另外的接口芯片。P0-P3既可以按字節(jié)輸入或輸出,也可以按進(jìn)位進(jìn)行輸入輸出,共32條口線,其控制十分靈活方便。單片機(jī)特點(diǎn):(1) 集成度高,體積小,可靠性高 (2) 控制功能強(qiáng)(3) 低電壓,低功耗 (4) 性價(jià)比高圖4.1單片機(jī)最小系統(tǒng)P1口負(fù)責(zé)控制LCD液晶顯示。通過軟件模擬SPI總線控制顯示內(nèi)容。P2.6接TEA

12、5767模塊的DAT線。P2.7接TEA5767模塊的CLK線。RET接復(fù)位端的RSTP3.0接下載線的RXDP3.1接下載線的TXDP3口負(fù)責(zé)掃描按鍵。P3.2接按鍵1。P3.3接按鍵2。P3.4接按鍵3。P3.5接按鍵4。P3.6接按鍵5。P3.7接按鍵6。4.2FM模塊圖4.2 FM模塊原理圖DAT線接微控制器模塊P2.6引腳。CLK線接微控制器模塊P2.7引腳。DAT和CLK線組成IIC總線與微控制器通信。OUTL輸出左聲道。OUTR輸出右聲道。4.2.1 FM模塊介紹在方案設(shè)計(jì)時(shí)就已經(jīng)確定FM部分采用按照datasheet推薦的應(yīng)用設(shè)計(jì)電路圖生產(chǎn)的模塊。本設(shè)計(jì)FM模塊采用B20C封裝

13、的完整版收音機(jī)模塊,外接引腳只有10個(gè),開發(fā)者只需要關(guān)注引腳而不需要關(guān)注模塊的內(nèi)部結(jié)構(gòu),開發(fā)方便簡(jiǎn)單,使用過程簡(jiǎn)單。4.3 工作原理: 由于TEA5767收音機(jī)模塊,必須要由單片機(jī)通過控制總線向芯片內(nèi)的寄存器寫入控制字才能正常工作。而TEA5767收音機(jī)模塊的控制總線有I2C和3-wire兩種。在設(shè)計(jì)過程中,我們把模塊的8腳(MODE)接地,因此,我們采用I2C總線方式。我們通過往單片機(jī)寫入相關(guān)程序,然后通過I2C總線,實(shí)現(xiàn)單片機(jī)與TEA5767模塊之間的雙向轉(zhuǎn)。利用不同的按鍵操作,實(shí)現(xiàn)頻率的各種改變。在手動(dòng)搜索模式下,通過按鍵的操作,增加(減少)頻率值,然后通過I2C總線,傳送數(shù)組到模塊的寄

14、存器中,轉(zhuǎn)化為內(nèi)PLL值。而在自動(dòng)搜索模式中,我們通過按鍵控制模塊內(nèi)部PLL值的增加(減少),然后通過讀取模塊內(nèi)部的數(shù)組,通過計(jì)算,得出頻率值,顯示在數(shù)碼管上,以帶動(dòng)蜂鳴器的工作。4.3.1.串行總線工作模式: 串行總線在傳送數(shù)據(jù)過程中共有三種類型信號(hào),它們分別是:開始信號(hào),結(jié)束信號(hào)和應(yīng)答信號(hào)。 開始信號(hào):CLOCK為高電平時(shí),DATA由高電平向低電平跳變,開始傳送數(shù)據(jù); 結(jié)束信號(hào):CLOCK為高電平時(shí),DATA由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù); 應(yīng)答信號(hào):接收數(shù)據(jù)的IC在接收到8bit數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的IC發(fā)出特定的低電平脈沖,表示已收到數(shù)據(jù)。 4.3.2 串行總線基本操作: 串行規(guī)程運(yùn)

15、用主/從雙向通訊。器件發(fā)送數(shù)據(jù)到總線上,則定義為發(fā)送器,器件接收數(shù)據(jù)則定義為接收器。主器件和從器件都可以工作于接收和發(fā)送狀態(tài)??偩€必須由主器件(通常為微控制器)控制,主器件產(chǎn)生串行時(shí)鐘 CLOCK 控制總線傳輸方向,并產(chǎn)生起始條件和停止條件。DATA線上的數(shù)據(jù)狀態(tài)僅在CLOCK為低電平的期間才能改變,CLOCK為高電平的期間,DATA狀態(tài)的改變被用來表示起始和停止條件。 參見下圖: 控制字節(jié): 在起始條件之后,必須是器件的控制字節(jié),其中高四位為器件類型識(shí)別符接著三位為片選位,前7位結(jié)合起來表示芯片地址位(CS3667 地址固定為 1100000),最后一位為讀寫位,當(dāng)為1時(shí)為讀操作,為0時(shí)為寫

16、操作。如下圖所示: 寫入模式: 寫入多個(gè)字節(jié)時(shí),收到每個(gè)字節(jié)后發(fā)出一應(yīng)答信號(hào)(一個(gè)時(shí)鐘長(zhǎng)度低電平脈沖)??刂破魇盏綉?yīng)答信號(hào)后,根據(jù)實(shí)際情況作出是否繼續(xù)傳遞信號(hào)的判斷(也就是說是否發(fā)出傳輸停止信號(hào))。若未收到應(yīng)答信號(hào),由判斷為受控單元出現(xiàn)故障。寫入模式時(shí),應(yīng)答信號(hào)都由被接收數(shù)據(jù)IC發(fā)出。 讀取模式讀取模式時(shí),當(dāng)IC接受到控制器發(fā)送的地址和讀操作后產(chǎn)生一低電平脈沖應(yīng)答信號(hào)后,被讀IC發(fā)送第1字節(jié)數(shù)據(jù),發(fā)送完,等待由控制芯片發(fā)出低電平脈沖應(yīng)答信號(hào),收到后繼續(xù)發(fā)送第2字節(jié)數(shù)據(jù),在最后一個(gè)字節(jié)讀操作的第9個(gè)周期,為了結(jié)束讀操作,控制器必須在第9個(gè)周期時(shí)發(fā)出停止條件者在第9個(gè)始終周期內(nèi)保持DATA為高電平

17、,然后發(fā)出停止條件。4.3.3數(shù)據(jù)傳送: 數(shù)據(jù)序列:address,byte1,byte2,byte3,byte4,byte5 address中Bit0(LSB)0表示對(duì)CS3667的寫操作,Bit7為每字節(jié)的最高位(MSB),做為傳輸每字節(jié)第一位。 每位數(shù)據(jù)在CLOCK下跳沿產(chǎn)生,一直穩(wěn)定到CLOCK上升沿后,任何一個(gè)字節(jié)后發(fā)出的停止條件可以縮短傳輸時(shí)間。 當(dāng)寫入數(shù)據(jù)時(shí),在還沒完成所有字節(jié)傳送之前發(fā)出停止條件: 1)還未被寫入的字節(jié)將保持原值。2)如果第一個(gè)數(shù)據(jù)字節(jié)沒有被寫完,則已寫位被寫入值覆蓋,但不執(zhí)行新的鎖臺(tái)信息。4.3.4、三線總線工作模式: 三線總線通過控制 W/R,CLOCK,D

18、ATA 三信號(hào)線進(jìn)行操作。最大工作時(shí)鐘頻率為400kHz。 數(shù)據(jù)傳送 數(shù)據(jù)序列:byte1,byte2,byte3,byte4,byte5 寫入信號(hào):CLOCK為低電平時(shí),W/R由低電平向高電平跳變,開始寫入數(shù)據(jù)。 讀取信號(hào):CLOCK為低電平時(shí),W/R由高電平向低電平跳變,結(jié)束讀取數(shù)據(jù)當(dāng)CLOCK為低電平時(shí),W/R由低電平向高電平跳變,開始寫入數(shù)據(jù)。數(shù)據(jù)在CLOCK上升沿時(shí)必須穩(wěn)定,數(shù)據(jù)可以在CLOCK低電平時(shí)變化,在緊接著的CLOCK上升沿?cái)?shù)據(jù)被寫入。更換鎖臺(tái)信息,在新鎖臺(tái)數(shù)據(jù)的前兩字節(jié)傳送完后,或其后字節(jié)傳完后可以發(fā)出傳輸停止條件。當(dāng)CLOCK為低電平時(shí),W/R由高電平向低電平跳變,結(jié)束

19、讀取數(shù)據(jù)。伴隨著下跳沿,BYTE1的最高位已經(jīng)被讀取到DATA上,被讀取數(shù)據(jù)在每個(gè)CLOCK下跳沿產(chǎn)生,在CLOCK上升沿從總線上被讀走。 如果做連續(xù)的寫入或者讀取操作,PIN W/R至少要被觸發(fā)一個(gè)時(shí)鐘周期。 五.系統(tǒng)軟件設(shè)計(jì)按照總體設(shè)計(jì),收音機(jī)的控制器使用STC公司生產(chǎn)的單片機(jī),因?yàn)樵诔绦蛑胁恍枰婕熬_實(shí)時(shí)操作,所以我們使用C語言進(jìn)行軟件編寫,這樣可以大大提高程序編寫時(shí)的效率。程序主要是單片機(jī)主控制程序,通過不同按鍵的操作,經(jīng)過單片機(jī)的編譯、識(shí)別,來實(shí)現(xiàn)收音機(jī)不同功能的操作。我們?cè)O(shè)計(jì)可調(diào)頻收音機(jī)時(shí)采用Keil uvision4來編譯程序,再借助于串口線,下載編譯完成的HEX文件到單片機(jī),

20、接下來就要對(duì)收音機(jī)進(jìn)行程序調(diào)試。5.1 主程序設(shè)計(jì) :定義按鍵控制端口: 按鍵控制端口:P2.0P2.5P2.0=1時(shí)自動(dòng)向上搜索頻率P2.1=1時(shí)自動(dòng)向下搜索頻率P2.2=1時(shí)以0.01MHZ的頻率增加P2.3=1時(shí)以0.01MHZ的頻率減少P2.4=1時(shí)電平轉(zhuǎn)換5.2 流程圖:六.硬件電路測(cè)試與檢測(cè)6.1 硬件裝配設(shè)計(jì)就采用普通的萬用版進(jìn)行裝配,在裝配時(shí)要注意以下幾點(diǎn):(1)晶振部分要緊靠著芯片引腳,導(dǎo)線要盡量粗,在焊接時(shí)采用用焊錫鋪粗來處理(2)電源輸入一定要添加去耦電容(3)TEA5767模塊和單片機(jī)引腳的距離盡量靠近,SDA線和CLK線業(yè)盡量鋪粗。(4)天線安裝盡量靠近芯片引腳,一定

21、要加上匹配電容6.2 系統(tǒng)測(cè)試硬、軟件設(shè)計(jì)完成后就進(jìn)入到系統(tǒng)測(cè)試階段,將調(diào)試好的程序下載到單片機(jī),插入插座,接上+5V直流電源,插上收音耳機(jī)。發(fā)現(xiàn)顯示屏有顯示設(shè)定頻率,TEA5767工作正常。順利的是,調(diào)試好的程序能夠正常工作,調(diào)頻按鈕能夠正常調(diào)整頻率。經(jīng)調(diào)試,系統(tǒng)能夠搜索的頻率范圍為87.5108MHz,能夠接收到1012電臺(tái),由于沒有專用天線,電路板質(zhì)量也不高,再加上電臺(tái)本身信號(hào)強(qiáng)度的問題,有45個(gè)電臺(tái)的音質(zhì)效果不是很好,干擾很大。盡管有不盡人意之處,但總體設(shè)計(jì)要求已經(jīng)達(dá)到,是一個(gè)成功的設(shè)計(jì)。七.結(jié)束語單片機(jī)控制的數(shù)字FM收音機(jī)的總體測(cè)試效果已經(jīng)達(dá)到設(shè)計(jì)要求,是一個(gè)基本成功的設(shè)計(jì)??偨Y(jié)設(shè)計(jì)

22、過程,本設(shè)計(jì)的關(guān)鍵是對(duì)單片機(jī)的了解,以及對(duì)TEA5767芯片的學(xué)習(xí),進(jìn)行相關(guān)操作,設(shè)定其工作參數(shù),這個(gè)設(shè)計(jì)我學(xué)到了一下幾點(diǎn):(1) 能熟練閱讀芯片數(shù)據(jù)手冊(cè)。(2) 學(xué)會(huì)通過軟件模擬I2C總線通信協(xié)議。(3) 和學(xué)期中課程設(shè)計(jì)相比,更能夠注重硬件焊接中的細(xì)節(jié)問題。同時(shí)找到了自己的不足之處,硬件焊接過程中多次出錯(cuò),對(duì)小型元器件焊接不熟練,多次導(dǎo)致短路,編程能力也有待加強(qiáng),在今后的工作中要加強(qiáng)學(xué)習(xí)!八.參考文獻(xiàn)1劉瑞新。單片機(jī)原理及應(yīng)用教程M.北京:機(jī)械工業(yè)出版社,2003.7.2康華光。電子技術(shù)基礎(chǔ)(模擬部分)J.北京:高等教育出版社,2006.1.3康華光。電子技術(shù)基礎(chǔ)(數(shù)字部分)M.北京:高等

23、教育出版社,2000.1.4譚浩強(qiáng)。C 程序設(shè)計(jì)M. 北京:清華大學(xué)出版社,2005.7.5李朝青。單片機(jī)原理及接口技術(shù)M.北京:北京航空航天大學(xué)出版社,1993.46阮維國(guó),黃建宇。電子技術(shù)實(shí)驗(yàn)M.北京:兵器工業(yè)出版社,2006.12.九.致 謝 在論文結(jié)束之際,我要感謝那些在我學(xué)習(xí)過程中給予我大量幫助的老師,同學(xué)門。首先,我要感謝教育和培養(yǎng)我的所有老師,從他們身上,我不僅學(xué)習(xí)到了大量的寶貴知識(shí),更學(xué)到了做人原則。其次,我要感謝吳老師。本論文是在吳老師的指導(dǎo)下完成的,從論文的選題到論文的寫作無不凝結(jié)的吳老師的心血。在我們?cè)O(shè)計(jì)的過程中,不斷給與我們解釋,分析,啟發(fā),引導(dǎo)等幫助。讓我們補(bǔ)充了理論

24、的知識(shí)和實(shí)踐上的經(jīng)驗(yàn)。在他的身上,我看到了嚴(yán)謹(jǐn)?shù)膽B(tài)度和務(wù)實(shí)的精神。再次感謝吳老師嚴(yán)謹(jǐn)?shù)墓ぷ髯黠L(fēng)和專業(yè)的學(xué)術(shù)知識(shí),幫我克服了許多技術(shù)和理論上的困難。同時(shí)感謝我院、系領(lǐng)導(dǎo)對(duì)我們的教導(dǎo)和關(guān)注;感謝大學(xué)三年傳授我們專業(yè)知識(shí)的所有老師。謝謝他們嘔心瀝血的教導(dǎo)。還有謝謝我周圍的同窗朋友,他們給了我無數(shù)的關(guān)心和鼓勵(lì),也讓我的大學(xué)生活充滿了溫暖和歡樂。如果沒有他們的幫助,此次畢業(yè)論文的完成將變得困難。他們?cè)谖以O(shè)計(jì)中給了我許多寶貴的意見和建議。同時(shí)也要感謝自己遇到困難的時(shí)候沒有一蹶不振,取而代之的是找到了最好的方法來解決問題。十.附 錄10.1電路原理圖:10.2電路PCB圖:10.3電路實(shí)物圖:10.4元器件

25、清單:序號(hào)名稱型號(hào)數(shù)量序號(hào)名稱型號(hào)數(shù)量1排針2002電解電容100UF/16V13電容10454電容30PF25電容10UF56電容10UF57電容0.1UF18電阻10K99電阻620R110電阻4.7K811電阻220R112電阻1K113晶振12M114按鍵兩腳按鍵715按鍵六腳按鍵716芯片STC89C52RC117模塊TEA5767118芯片TDA2822219發(fā)光二極管120蜂鳴器PHONELACK2121插座122顯示屏LCD16021十一.操作框圖開始指示燈亮,屏幕初始化按下按鍵5電平改變按下按鍵4按下按鍵3按下按鍵2按下按鍵1以0.01MHZ向下減少以0.01MHZ向上增加自

26、動(dòng)向下搜索電臺(tái)自動(dòng)向上搜索電臺(tái)是否搜索到臺(tái)是否搜索到臺(tái)是否搜索到臺(tái)是否搜索到臺(tái)否否否否是是是是繼續(xù)功放發(fā)出聲音,顯示屏顯示頻率停止結(jié)束程序框圖開始開關(guān)鍵按下單片機(jī)初始化LCD顯示N功能鍵是否按下Y自動(dòng)搜臺(tái)判斷按鍵功能發(fā)送命令字手動(dòng)搜臺(tái)發(fā)送頻率發(fā)送命令字等待50ms讀取TEA5767模塊數(shù)據(jù)發(fā)送頻率是否搜索到臺(tái)N是否搜索到臺(tái)讀出頻率,更新在LCD上功放發(fā)出聲音結(jié)束十二程序12.1 主程序:#include #include #include TEA5767.h#include I2C.h#include Lcd1602.h/端口定義/sbit Key1=P20;sbit Key2=P21;sbi

27、t Key3=P22;sbit Key4=P23;sbit Key5=P24;sbit Key6=P25;/#define max_freq 108000 /108Mhz 89800;#define min_freq 87500 /87.5Mhz#define max_pll 0x339b /108MHz時(shí)的pll.#define min_pll 0x299d /87.5MHz時(shí)的pll.#define Add_Freq 1#define Dec_Freq 0#define REFERENCE_FREQ 32.768 /TEA5767晶振unsigned char radio_write_da

28、ta5=0x2A,0x9E,0xC0,0x17,0x00; /初始化寄存器配置 89.6MHZunsigned char rdata5=0x2A,0x9E,0xC0,0x17,0x00; /89.6unsigned char radio_read_data5; unsigned int Pll_Data; /定義頻率unsigned long Frequency_Data=89600;/ 設(shè)置初始頻率為87.6MHzunsigned char index=1;/天線感應(yīng)信號(hào)的能力,/延遲程序,12.000MHz,50ms/void Delay()unsigned char i, j;i = 9

29、8;j = 67;dowhile (-j); while (-i);/頻率顯示地址/void LCDshow(void)unsigned char str8;unsigned char num1,num2,num3,num4,num5;num1=(Frequency_Data/100000)%10; num2=(Frequency_Data/10000)%10;num3=(Frequency_Data/1000)%10;num4=(Frequency_Data/100)%10;num5=(Frequency_Data/10)%10;str0=num1+0;str1=num2+0;str2=nu

30、m3+0;str3=.;str4=num4+0;str5=num5+0;str6=0;LcdShowStr(0,1,str);/讀TEA5767狀態(tài),并轉(zhuǎn)換成PLL值/void Radio_Read(void) unsigned char temp_l,temp_h; Pll_Data = 0; ATIICxx_PRead(&radio_read_data0,5); temp_l = radio_read_data1; /PLL值 temp_h = radio_read_data0; /PLL值 temp_h &= 0x3f; Pll_Data = temp_h*256+temp_l; Get

31、_Frequency();/由PLL計(jì)算頻率void Get_Frequency(void) unsigned char hlsi; unsigned int npll = 0; npll = Pll_Data; hlsi = radio_read_data2&0x10; if (hlsi) Frequency_Data = (unsignedlong)(float)(npll)*(float)REFERENCE_FREQ*(float)0.25-225); else Frequency_Data = (unsignedlong)(float)(npll)*(float)REFERENCE_F

32、REQ*(float)0.25+225);/由頻率計(jì)算PLLvoid Get_Pll(void) unsigned char hlsi; hlsi = radio_read_data2&0x10; if (hlsi) Pll_Data = (unsigned int)(float)(Frequency_Data+225)*4)/(float)REFERENCE_FREQ); /頻率單位:k else Pll_Data = (unsigned int)(float)(Frequency_Data-225)*4)/(float)REFERENCE_FREQ); /頻率單位:k/自動(dòng)搜臺(tái),mode=

33、1,頻率增加搜臺(tái); mode=0:頻率減小搜臺(tái)./void Auto_Search(unsigned char mode)LcdShowStr(10,0,Auto ); /當(dāng)搜索時(shí),顯示Auto if(mode) /mode=1,自動(dòng)向上搜索 switch(index) /電平轉(zhuǎn)換 case 0:radio_write_data2 = 0xA0;/低電平 低本振立體聲非靜音break; case 1:radio_write_data2 = 0xC0;/中低電平 低本振立體聲非靜音break; case 2:radio_write_data2 = 0xE0;/高電平 低本振立體聲非靜音break

34、;if(Pll_Data max_pll) /當(dāng)頻率處于最高時(shí),Pll_Data = min_pll; /自動(dòng)轉(zhuǎn)為最低頻率 else/向下搜索 switch(index)case 0:radio_write_data2=0x20; /低電平break;case 1:radio_write_data2=0x40; /中低電平break;case 2:radio_write_data2=0x60; /高電平break;if(Pll_Data max_freq)Frequency_Data = min_freq;radio_write_data2 = 0xA0;/低電平 低本振立體聲非靜音else/

35、向下搜索Frequency_Data -= 10;if(Frequency_Data min_freq)Frequency_Data = max_freq;radio_write_data2=0x20; /低電平 ,向下搜索模式 Get_Pll();radio_write_data0 = Pll_Data/256;radio_write_data1 = Pll_Data%256; radio_write_data3 = 0x17;/去噪radio_write_data4=0x00;ATIICxx_PWrite(&radio_write_data0,5); LCDshow();LcdShowSt

36、r(10,0,Normal);/抖動(dòng)延遲程序/void delay15ms(void) /誤差 0us unsigned char i, j;i = 30;j = 43;dowhile (-j); while (-i);/ /按鍵功能/ void Key()unsigned char str3;if(Key1=0)delay15ms();while(Key1=0);/自動(dòng)頻道+Auto_Search(Add_Freq);else if(Key2=0)/自動(dòng)頻道-delay15ms();while(Key2=0); Auto_Search(Dec_Freq);else if(Key3=0) /手

37、動(dòng)微加0.01delay15ms();if(Key3=0)Search10(Add_Freq);else if(Key4=0) /手動(dòng)微減0.01delay15ms();if(Key4=0)Search10(Dec_Freq);else if(Key5=0)/delay15ms();while(!Key5);if(index2)index+;elseindex=0;str0=index+0;str1=0;LcdShowStr(15,1,str);/屏幕初始化/void InitLCD()unsigned char str3;str0=index+0;str1=0;LcdInit();LcdSh

38、owStr(0,0,FM radio);LcdShowStr(7,1,MHZ);LcdShowStr(10,0,Normal);LcdShowStr(15,1,str);/void main(void)InitLCD();/屏幕設(shè)置ATIICxx_PWrite(&radio_write_data0,5);/初始化TEA5767(89.8Mhz)Delay();Radio_Read(); /把輸入TEA5767的地址轉(zhuǎn)換為頻率LCDshow(); /在屏幕上顯示出來while(1) /按鍵的不同操作Key();12.2 I2C總線程序:#include #include #include I2C

39、.h/*/* IIC讀寫程序芯片型號(hào)*/*/sbit I2C_SCK=P00; /*實(shí)時(shí)時(shí)鐘時(shí)鐘線引腳 */sbit I2C_SDA=P01; /*實(shí)時(shí)時(shí)鐘數(shù)據(jù)線引腳 */*/#define ATIIcxxDriverAddressW 0xC0#define ATIIcxxDriverAddressR 0xC1#define _Nop() _nop_(),_nop_(),_nop_(),_nop_(),_nop_() /*定義空指令*/1us/*/struct bytedata_2 unsigned char ByteH; unsigned char ByteL;union int2byte unsigned int IntData; struct bytedata_2 ByteData;/*/啟動(dòng)I2C總線,退出時(shí)SCL為低void I2C_Start(void) I2C_SDA=1; /*發(fā)送起始條件的數(shù)據(jù)信號(hào)*/ _Nop(); I2C_SCK=1; _Nop(); /*起始條件建立時(shí)間大于4.7us,延時(shí)*/ _Nop(); _Nop(); _Nop(); _Nop(); I2C_SDA=0; /*發(fā)送

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論