




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于TEA5767模塊的數(shù)字FM收音機(jī)設(shè)計摘 要 本設(shè)計是一個數(shù)字調(diào)頻收音機(jī)(FM),就是接受頻率調(diào)制的無線電信號,經(jīng)過解調(diào)還原成原信號的電子設(shè)備,利用單片機(jī)控制有FM功能的專用芯片,設(shè)計一個基于TEA5767模塊的數(shù)字FM收音機(jī)。本設(shè)計采用模塊化設(shè)計,整個系統(tǒng)由控制模塊,F(xiàn)M音頻模塊和功放模塊組成。本設(shè)計核心采用的是TEA5767芯片,它是由PHILIPS公司推出的針對低電壓應(yīng)用的單芯片數(shù)字調(diào)諧FM立體聲收音機(jī)芯片。TEA5767芯片內(nèi)集成了完整的IF頻率選擇和鑒頻系統(tǒng),就可實現(xiàn)FM收音機(jī)的全部功能。采用的是Lcd1602液晶顯示屏,實現(xiàn)單片機(jī)的頻率值與模塊內(nèi)部的寄存器(PLL值)之間的相互
2、轉(zhuǎn)換,從而帶動功放的工作。功能:自動收臺,手動收臺,液晶顯示。采用主要模塊有:(1) STC89C52單片機(jī)模塊。(2) Lcd1602顯示模塊。(3) TEA5767收音機(jī)模塊。關(guān)鍵詞:STC89C52 Lcd1602 TEA5767模塊 目錄摘 要.21.緒 論.5 1.1 課題背景.5 1.2 課題概述.52.設(shè)計要求與思路.5 2.1 收音機(jī)的設(shè)計要求.5 2.2 系統(tǒng)設(shè)計整體思路.53.主要電路模塊的實現(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è)計.135.1 主程序設(shè)計.135.2 流程圖.146.硬件電路測試與檢測.14 6.1 硬件裝配.14 6.2 系統(tǒng)測試.147.結(jié)束語.158.參考文獻(xiàn).159.致謝.1510.附錄.16 10.1 電路原理圖.16 10.2 電路PCB圖.16 10.3 電路實物圖.17 10.3 元器件清單.1811.操作框圖.19 程序框圖.2012.程序.21 12.1 主程序.21 12.2 I2C總線.
4、2612.3 Lcd1602程序.29基于TEA5767模塊的數(shù)字FM收音機(jī)設(shè)計一緒 論1.1課題背景隨著科學(xué)技術(shù)的不斷發(fā)展,新穎的調(diào)頻收音機(jī)的不斷出現(xiàn),技術(shù)不斷的提高,設(shè)計出來的收音機(jī)外型精致和小巧。從分離元件到集成電路,這標(biāo)志著收音機(jī)的內(nèi)部電路簡單。用一個集成塊就能完成所有的工作。從早期的調(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è)計精巧耐用。1.2課題概述收音機(jī)的接收原理就是把從天線接收到的高頻信號經(jīng)檢波(解調(diào))還原成音頻信號,送到耳機(jī)變成音波。由于廣播事業(yè)發(fā)展,天空
5、中有了很多不同頻率的無線電波。如果把這許多電波全都接收下來,音頻信號就會象處于鬧市之中一樣,許多聲音混雜在一起,結(jié)果什么也聽不清了。為了設(shè)法選擇所需要的節(jié)目,在接收天線后,有一個選擇性電路,它的作用是把所需的信號(電臺)挑選出來,并把不要的信號“濾掉”,以免產(chǎn)生干擾,這就是我們收聽廣播時,所使用的“選臺”按鈕。選擇性電路的輸出是選出某個電臺的高頻調(diào)幅信號,利用它直接推動耳機(jī)(電聲器)是不行的,還必須把它恢復(fù)成原來的音頻信號,這種還原電路稱為解調(diào),把解調(diào)的音頻信號送到耳機(jī),就可以收到廣播。二.設(shè)計要求與思路2.1收音機(jī)的設(shè)計要求:可對無線接收機(jī)的頻率進(jìn)行控制。通過鍵盤可以設(shè)置接收頻率,接收頻率在
6、88-108MHz內(nèi)自選20M的帶寬。2.2系統(tǒng)設(shè)計整體思路(1)硬件部分:整體由52單片機(jī)控制,組成由液晶顯示屏、功放模塊、TEA5767收音機(jī)模塊、按鍵。如下圖所示:圖為:系統(tǒng)方案設(shè)計框圖三、主要電路模塊的實現(xiàn)方案比較及選擇AM:改變載波的振幅稱振幅調(diào)制。AM是指對信號進(jìn)行幅度調(diào)制。一般做法就是先在原信號上疊加一個直流信號以保證信號f(t)+A>0,然后乘上一個高頻的余弦信號,即得到g(t)=f(t)+Acoswt。在頻域上的效果就是將原信號的頻譜移動到w處,以適合信道傳輸?shù)淖罴杨l率范圍。g(t)的包絡(luò)線即f(t)+A,用一個簡單的包絡(luò)檢測電路就可以接收并還原信號了。FM:改變載波的
7、頻率稱頻率調(diào)制。音頻信號的改變往往是周期性的。與“FM無線電波”相同,“FM合成理論”同樣也有著發(fā)音體(載體)和調(diào)制體兩個元素。發(fā)音體或稱載波體,是實際發(fā)出聲音的頻率振蕩器;調(diào)制體或稱調(diào)制器.本次方案選用的是FM調(diào)制。理由有以下幾點:1) 在同樣的頻率、功率等條件下,用調(diào)頻方式傳輸信號比調(diào)幅方式要遠(yuǎn)得多。因為調(diào)幅方式的載頻電平要高出噪聲電平三四十分貝才能得到良好的圖像指標(biāo),而調(diào)頻方式只要高出噪聲電平幾分貝即可。2) 調(diào)頻比調(diào)幅抗干擾能力強(qiáng):外來的各種干擾、加工業(yè)和天電干擾等,對已調(diào)波的影響主要表現(xiàn)為產(chǎn)生寄生調(diào)幅,形成噪聲。調(diào)頻制可以用限幅的方法,消除干擾所引起的寄生調(diào)幅。而調(diào)幅制中已調(diào)幅信號的
8、幅度是變化的,因而不能采用限幅,也就很難消除外來的干擾。3) 另外,信號的信噪比愈大,抗干擾能力就愈強(qiáng)。而解調(dià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ī)有一個8位的微處理器,與通用的微處理器基本相同,STC89C52是STC公司生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。優(yōu)勢為結(jié)構(gòu)簡單,價格不高,易于購買。缺點為缺少AD轉(zhuǎn)換功能,運(yùn)行速度較慢。由于方案的單片機(jī)使用
9、較為廣泛,功能較為了解。故采用此方案作為控制模塊。 3.2液晶顯示模塊方案選擇:方案:用Lcd1602顯示屏,該顯示屏具有2行16個字符。Lcd1602具有體積小、重量輕、功耗低、壽命長、無輻射、無污染等優(yōu)點,低壓、微功耗極低的工作電壓,只要2V-3V即可工作,而工作電流僅幾個微安即每個顯示字符只有幾個微安。優(yōu)勢為結(jié)構(gòu)簡單,價格不高,易于購買。實際中應(yīng)用到的機(jī)會比較大。通過自己所掌握的知識與能力,由于對Lcd1602的使用比較了解。故采用此次模塊。3.3無線芯片方案選擇:TEA5767芯片,通過I2C接口與單片機(jī)進(jìn)行通信。單片機(jī)按鍵對TEA5767進(jìn)行初始化輸入接收頻段的頻率,TEA5767內(nèi)
10、部對信號濾波、放大、解調(diào)處理,輸出信號經(jīng)過功放進(jìn)行放大,插上耳麥即可收聽到電臺節(jié)目,接收頻率為87M108MHz。方案(1)采用無線芯片TEA5767,自己設(shè)計外圍電路。方案(2)采用相關(guān)廠家生產(chǎn)的TEA5767模塊來實現(xiàn)。很顯然,第一種方案需要自己設(shè)計電路、畫PCB和焊接,而TEA5767采用的是FVQFN40(耐熱的薄型四腳扁平封裝)封裝,在短時間內(nèi)和有限的條件下實現(xiàn)硬件功能的難度相當(dāng)大。所以本設(shè)計采用第二種選擇方案使用現(xiàn)成的模塊。四、系統(tǒng)電路圖4.1微控制器模塊單片機(jī)是控制單元的核心,起著控制收音機(jī)所有運(yùn)行狀態(tài)的作用。單片機(jī)控制模塊使用的是STC89C52,使用該芯片很容易實現(xiàn)對其他模塊
11、的控制。通過對單片機(jī)STC89C52寫入程序,可以方便的用軟件來控制整個過程。STC89C52單片機(jī),支持USB口或者是串口兩種下載程序方式,不用另買燒寫器,編程器等產(chǎn)品,可以方便的燒寫程序到單片機(jī)里;單片機(jī)內(nèi)部有P0、P1、P2、P3個八位雙向I/O口,外設(shè)與這些端口可以直接相接,無需另外的接口芯片。P0-P3既可以按字節(jié)輸入或輸出,也可以按進(jìn)位進(jìn)行輸入輸出,共32條口線,其控制十分靈活方便。單片機(jī)特點:(1) 集成度高,體積小,可靠性高 (2) 控制功能強(qiáng)(3) 低電壓,低功耗 (4) 性價比高圖4.1單片機(jī)最小系統(tǒng)P1口負(fù)責(zé)控制LCD液晶顯示。通過軟件模擬SPI總線控制顯示內(nèi)容。P2.6
12、接TEA5767模塊的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īng)確定FM部分采用按照datasheet推薦的應(yīng)用設(shè)計電路圖生產(chǎn)的模塊。本設(shè)計FM模塊采用B2
13、0C封裝的完整版收音機(jī)模塊,外接引腳只有10個,開發(fā)者只需要關(guān)注引腳而不需要關(guān)注模塊的內(nèi)部結(jié)構(gòu),開發(fā)方便簡單,使用過程簡單。4.3 工作原理: 由于TEA5767收音機(jī)模塊,必須要由單片機(jī)通過控制總線向芯片內(nèi)的寄存器寫入控制字才能正常工作。而TEA5767收音機(jī)模塊的控制總線有I2C和3-wire兩種。在設(shè)計過程中,我們把模塊的8腳(MODE)接地,因此,我們采用I2C總線方式。我們通過往單片機(jī)寫入相關(guān)程序,然后通過I2C總線,實現(xiàn)單片機(jī)與TEA5767模塊之間的雙向轉(zhuǎn)。利用不同的按鍵操作,實現(xiàn)頻率的各種改變。在手動搜索模式下,通過按鍵的操作,增加(減少)頻率值,然后通過I2C總線,傳送數(shù)組到
14、模塊的寄存器中,轉(zhuǎn)化為內(nèi)PLL值。而在自動搜索模式中,我們通過按鍵控制模塊內(nèi)部PLL值的增加(減少),然后通過讀取模塊內(nèi)部的數(shù)組,通過計算,得出頻率值,顯示在數(shù)碼管上,以帶動蜂鳴器的工作。4.3.1.串行總線工作模式: 串行總線在傳送數(shù)據(jù)過程中共有三種類型信號,它們分別是:開始信號,結(jié)束信號和應(yīng)答信號。 開始信號:CLOCK為高電平時,DATA由高電平向低電平跳變,開始傳送數(shù)據(jù); 結(jié)束信號:CLOCK為高電平時,DATA由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù); 應(yīng)答信號:接收數(shù)據(jù)的IC在接收到8bit數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的IC發(fā)出特定的低電平脈沖,表示已收到數(shù)據(jù)。 4.3.2 串行總線基本操作: 串
15、行規(guī)程運(yùn)用主/從雙向通訊。器件發(fā)送數(shù)據(jù)到總線上,則定義為發(fā)送器,器件接收數(shù)據(jù)則定義為接收器。主器件和從器件都可以工作于接收和發(fā)送狀態(tài)。總線必須由主器件(通常為微控制器)控制,主器件產(chǎn)生串行時鐘 CLOCK 控制總線傳輸方向,并產(chǎn)生起始條件和停止條件。DATA線上的數(shù)據(jù)狀態(tài)僅在CLOCK為低電平的期間才能改變,CLOCK為高電平的期間,DATA狀態(tài)的改變被用來表示起始和停止條件。 參見下圖: 控制字節(jié): 在起始條件之后,必須是器件的控制字節(jié),其中高四位為器件類型識別符接著三位為片選位,前7位結(jié)合起來表示芯片地址位(CS3667 地址固定為 1100000),最后一位為讀寫位,當(dāng)為1時為讀操作,為
16、0時為寫操作。如下圖所示: 寫入模式: 寫入多個字節(jié)時,收到每個字節(jié)后發(fā)出一應(yīng)答信號(一個時鐘長度低電平脈沖)。控制器收到應(yīng)答信號后,根據(jù)實際情況作出是否繼續(xù)傳遞信號的判斷(也就是說是否發(fā)出傳輸停止信號)。若未收到應(yīng)答信號,由判斷為受控單元出現(xiàn)故障。寫入模式時,應(yīng)答信號都由被接收數(shù)據(jù)IC發(fā)出。 讀取模式讀取模式時,當(dāng)IC接受到控制器發(fā)送的地址和讀操作后產(chǎn)生一低電平脈沖應(yīng)答信號后,被讀IC發(fā)送第1字節(jié)數(shù)據(jù),發(fā)送完,等待由控制芯片發(fā)出低電平脈沖應(yīng)答信號,收到后繼續(xù)發(fā)送第2字節(jié)數(shù)據(jù),在最后一個字節(jié)讀操作的第9個周期,為了結(jié)束讀操作,控制器必須在第9個周期時發(fā)出停止條件者在第9個始終周期內(nèi)保持DATA
17、為高電平,然后發(fā)出停止條件。4.3.3數(shù)據(jù)傳送: 數(shù)據(jù)序列:address,byte1,byte2,byte3,byte4,byte5 address中Bit0(LSB)0表示對CS3667的寫操作,Bit7為每字節(jié)的最高位(MSB),做為傳輸每字節(jié)第一位。 每位數(shù)據(jù)在CLOCK下跳沿產(chǎn)生,一直穩(wěn)定到CLOCK上升沿后,任何一個字節(jié)后發(fā)出的停止條件可以縮短傳輸時間。 當(dāng)寫入數(shù)據(jù)時,在還沒完成所有字節(jié)傳送之前發(fā)出停止條件: 1)還未被寫入的字節(jié)將保持原值。2)如果第一個數(shù)據(jù)字節(jié)沒有被寫完,則已寫位被寫入值覆蓋,但不執(zhí)行新的鎖臺信息。4.3.4、三線總線工作模式: 三線總線通過控制 W/R,CLO
18、CK,DATA 三信號線進(jìn)行操作。最大工作時鐘頻率為400kHz。 數(shù)據(jù)傳送 數(shù)據(jù)序列:byte1,byte2,byte3,byte4,byte5 寫入信號:CLOCK為低電平時,W/R由低電平向高電平跳變,開始寫入數(shù)據(jù)。 讀取信號:CLOCK為低電平時,W/R由高電平向低電平跳變,結(jié)束讀取數(shù)據(jù)當(dāng)CLOCK為低電平時,W/R由低電平向高電平跳變,開始寫入數(shù)據(jù)。數(shù)據(jù)在CLOCK上升沿時必須穩(wěn)定,數(shù)據(jù)可以在CLOCK低電平時變化,在緊接著的CLOCK上升沿數(shù)據(jù)被寫入。更換鎖臺信息,在新鎖臺數(shù)據(jù)的前兩字節(jié)傳送完后,或其后字節(jié)傳完后可以發(fā)出傳輸停止條件。當(dāng)CLOCK為低電平時,W/R由高電平向低電平跳
19、變,結(jié)束讀取數(shù)據(jù)。伴隨著下跳沿,BYTE1的最高位已經(jīng)被讀取到DATA上,被讀取數(shù)據(jù)在每個CLOCK下跳沿產(chǎn)生,在CLOCK上升沿從總線上被讀走。 如果做連續(xù)的寫入或者讀取操作,PIN W/R至少要被觸發(fā)一個時鐘周期。 五.系統(tǒng)軟件設(shè)計按照總體設(shè)計,收音機(jī)的控制器使用STC公司生產(chǎn)的單片機(jī),因為在程序中不需要涉及精確實時操作,所以我們使用C語言進(jìn)行軟件編寫,這樣可以大大提高程序編寫時的效率。程序主要是單片機(jī)主控制程序,通過不同按鍵的操作,經(jīng)過單片機(jī)的編譯、識別,來實現(xiàn)收音機(jī)不同功能的操作。我們設(shè)計可調(diào)頻收音機(jī)時采用Keil uvision4來編譯程序,再借助于串口線,下載編譯完成的<C語
20、言程序>HEX文件到單片機(jī),接下來就要對收音機(jī)進(jìn)行程序調(diào)試。5.1 主程序設(shè)計 :定義按鍵控制端口: 按鍵控制端口:P2.0P2.5P2.0=1時自動向上搜索頻率P2.1=1時自動向下搜索頻率P2.2=1時以0.01MHZ的頻率增加P2.3=1時以0.01MHZ的頻率減少P2.4=1時電平轉(zhuǎn)換5.2 流程圖:六.硬件電路測試與檢測6.1 硬件裝配設(shè)計就采用普通的萬用版進(jìn)行裝配,在裝配時要注意以下幾點:(1)晶振部分要緊靠著芯片引腳,導(dǎo)線要盡量粗,在焊接時采用用焊錫鋪粗來處理(2)電源輸入一定要添加去耦電容(3)TEA5767模塊和單片機(jī)引腳的距離盡量靠近,SDA線和CLK線業(yè)盡量鋪粗。(
21、4)天線安裝盡量靠近芯片引腳,一定要加上匹配電容6.2 系統(tǒng)測試硬、軟件設(shè)計完成后就進(jìn)入到系統(tǒng)測試階段,將調(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電臺,由于沒有專用天線,電路板質(zhì)量也不高,再加上電臺本身信號強(qiáng)度的問題,有45個電臺的音質(zhì)效果不是很好,干擾很大。盡管有不盡人意之處,但總體設(shè)計要求已經(jīng)達(dá)到,是一個成功的設(shè)計。七.結(jié)束語單片機(jī)控制的數(shù)字FM收音機(jī)的總體測試效果已經(jīng)達(dá)到設(shè)計要
22、求,是一個基本成功的設(shè)計??偨Y(jié)設(shè)計過程,本設(shè)計的關(guān)鍵是對單片機(jī)的了解,以及對TEA5767芯片的學(xué)習(xí),進(jìn)行相關(guān)操作,設(shè)定其工作參數(shù),這個設(shè)計我學(xué)到了一下幾點:(1) 能熟練閱讀芯片數(shù)據(jù)手冊。(2) 學(xué)會通過軟件模擬I2C總線通信協(xié)議。(3) 和學(xué)期中課程設(shè)計相比,更能夠注重硬件焊接中的細(xì)節(jié)問題。同時找到了自己的不足之處,硬件焊接過程中多次出錯,對小型元器件焊接不熟練,多次導(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康華光。電子
23、技術(shù)基礎(chǔ)(數(shù)字部分)M.北京:高等教育出版社,2000.1.4譚浩強(qiáng)。C 程序設(shè)計M. 北京:清華大學(xué)出版社,2005.7.5李朝青。單片機(jī)原理及接口技術(shù)M.北京:北京航空航天大學(xué)出版社,1993.46阮維國,黃建宇。電子技術(shù)實驗M.北京:兵器工業(yè)出版社,2006.12.九.致 謝 在論文結(jié)束之際,我要感謝那些在我學(xué)習(xí)過程中給予我大量幫助的老師,同學(xué)門。首先,我要感謝教育和培養(yǎng)我的所有老師,從他們身上,我不僅學(xué)習(xí)到了大量的寶貴知識,更學(xué)到了做人原則。其次,我要感謝吳老師。本論文是在吳老師的指導(dǎo)下完成的,從論文的選題到論文的寫作無不凝結(jié)的吳老師的心血。在我們設(shè)計的過程中,不斷給與我們解釋,分析,
24、啟發(fā),引導(dǎo)等幫助。讓我們補(bǔ)充了理論的知識和實踐上的經(jīng)驗。在他的身上,我看到了嚴(yán)謹(jǐn)?shù)膽B(tài)度和務(wù)實的精神。再次感謝吳老師嚴(yán)謹(jǐn)?shù)墓ぷ髯黠L(fēng)和專業(yè)的學(xué)術(shù)知識,幫我克服了許多技術(shù)和理論上的困難。同時感謝我院、系領(lǐng)導(dǎo)對我們的教導(dǎo)和關(guān)注;感謝大學(xué)三年傳授我們專業(yè)知識的所有老師。謝謝他們嘔心瀝血的教導(dǎo)。還有謝謝我周圍的同窗朋友,他們給了我無數(shù)的關(guān)心和鼓勵,也讓我的大學(xué)生活充滿了溫暖和歡樂。如果沒有他們的幫助,此次畢業(yè)論文的完成將變得困難。他們在我設(shè)計中給了我許多寶貴的意見和建議。同時也要感謝自己遇到困難的時候沒有一蹶不振,取而代之的是找到了最好的方法來解決問題。十.附 錄10.1電路原理圖:10.2電路PCB圖:
25、10.3電路實物圖:10.4元器件清單:序號名稱型號數(shù)量序號名稱型號數(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
26、.01MHZ向下減少以0.01MHZ向上增加自動向下搜索電臺自動向上搜索電臺是否搜索到臺是否搜索到臺是否搜索到臺是否搜索到臺否否否否是是是是繼續(xù)功放發(fā)出聲音,顯示屏顯示頻率停止結(jié)束程序框圖開始開關(guān)鍵按下單片機(jī)初始化LCD顯示N功能鍵是否按下Y自動搜臺判斷按鍵功能發(fā)送命令字手動搜臺發(fā)送頻率發(fā)送命令字等待50ms讀取TEA5767模塊數(shù)據(jù)發(fā)送頻率是否搜索到臺N是否搜索到臺讀出頻率,更新在LCD上功放發(fā)出聲音結(jié)束十二程序12.1 主程序:#include <reg52.h>#include <intrins.h>#include "TEA5767.h"#i
27、nclude "I2C.h"#include "Lcd1602.h"/端口定義/sbit Key1=P20;sbit Key2=P21;sbit 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時的pll.#define min_pll 0x299d /87.5MHz時的pll.#define Add_F
28、req 1#define Dec_Freq 0#define REFERENCE_FREQ 32.768 /TEA5767晶振unsigned char radio_write_data5=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.6MH
29、zunsigned char index=1;/天線感應(yīng)信號的能力,/延遲程序,12.000MHz,50ms/void Delay()unsigned char i, j;i = 98;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)%
30、10;num4=(Frequency_Data/100)%10;num5=(Frequency_Data/10)%10;str0=num1+'0'str1=num2+'0'str2=num3+'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 =
31、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_Frequency();/由PLL計算頻率void Get_Frequency(void) unsigned char hlsi; unsigned int npll = 0; npll = Pll_Data; hlsi = radio_read_data2&0x1
32、0; if (hlsi) Frequency_Data = (unsignedlong)(float)(npll)*(float)REFERENCE_FREQ*(float)0.25-225); else Frequency_Data = (unsignedlong)(float)(npll)*(float)REFERENCE_FREQ*(float)0.25+225);/由頻率計算PLLvoid Get_Pll(void) unsigned char hlsi; hlsi = radio_read_data2&0x10; if (hlsi) Pll_Data = (unsigned
33、int)(float)(Frequency_Data+225)*4)/(float)REFERENCE_FREQ); /頻率單位:k else Pll_Data = (unsigned int)(float)(Frequency_Data-225)*4)/(float)REFERENCE_FREQ); /頻率單位:k/自動搜臺,mode=1,頻率增加搜臺; mode="0:頻率減小搜臺"./void Auto_Search(unsigned char mode)LcdShowStr(10,0,"Auto "); /當(dāng)搜索時,顯示Auto if(mode)
34、 /mode=1,自動向上搜索 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;if(Pll_Data > max_pll) /當(dāng)頻率處于最高時,Pll_Data = min_pll; /自動轉(zhuǎn)為最低頻率 else/向下搜索 switch(index)case 0:radio_wri
35、te_data2=0x20; /低電平break;case 1:radio_write_data2=0x40; /中低電平break;case 2:radio_write_data2=0x60; /高電平break;if(Pll_Data < min_pll)Pll_Data = max_pll; /調(diào)用I2C總線的寫模式/ ATIICxx_PWrite(&radio_write_data0,5);Delay();/延時Radio_Read();LCDshow(); while(!(radio_read_data0&0x80)/RF電臺就緒標(biāo)志 若RF=1 則發(fā)現(xiàn)了一個電
36、臺或搜索到頭;若 RF=0 未找到電臺 Delay();/延時Radio_Read();if(radio_read_data0&0x40)=0x40)/搜索到頭 if(mode) /ATIICxx_PWrite(&rdata0,5);/初始化TEA5767(89.8Mhz) else /ATIICxx_PWrite(&radio_write_data0,5);/初始化 TEA5767(89.8Mhz) LCDshow(); LcdShowStr(10,0,"Normal"); /微調(diào)程序/void Search10(unsigned char mod
37、e)LcdShowStr(10,0,"hand ");Delay();/延時if(mode)Frequency_Data += 10;if(Frequency_Data > max_freq)Frequency_Data = min_freq;radio_write_data2 = 0xA0;/低電平 低本振立體聲非靜音else/向下搜索Frequency_Data -= 10;if(Frequency_Data < min_freq)Frequency_Data = max_freq;radio_write_data2=0x20; /低電平 ,向下搜索模式 G
38、et_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();LcdShowStr(10,0,"Normal");/抖動延遲程序/void delay15ms(void) /誤差 0us unsigned char i, j;i = 30;j = 43;dowhile (-j); w
39、hile (-i);/ /按鍵功能/ void Key()unsigned char str3;if(Key1=0)delay15ms();while(Key1=0);/自動頻道+Auto_Search(Add_Freq);else if(Key2=0)/自動頻道-delay15ms();while(Key2=0); Auto_Search(Dec_Freq);else if(Key3=0) /手動微加0.01delay15ms();if(Key3=0)Search10(Add_Freq);else if(Key4=0) /手動微減0.01delay15ms();if(Key4=0)Searc
40、h10(Dec_Freq);else if(Key5=0)/delay15ms();while(!Key5);if(index<2)index+;elseindex=0;str0=index+'0'str1='0'LcdShowStr(15,1,str);/屏幕初始化/void InitLCD()unsigned char str3;str0=index+'0'str1='0'LcdInit();LcdShowStr(0,0,"FM radio");LcdShowStr(7,1,"MHZ&quo
41、t;);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 <reg52.h>#include <intrins.h>
42、#include "I2C.h"/*/* IIC讀寫程序芯片型號*/*/sbit I2C_SCK=P00; /*實時時鐘時鐘線引腳 */sbit I2C_SDA=P01; /*實時時鐘數(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;/*/啟動I2C總線,退出時SCL為低void I2C_Start(void) I2C_SDA=1; /*發(fā)送起始條件的數(shù)據(jù)信號*/ _Nop(); I2C_SCK=1; _No
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 產(chǎn)品預(yù)售訂購合同范本
- 合伙型合同范本
- 個人之間購車合同范本
- 咖啡門面出租合同范本
- 農(nóng)村地皮轉(zhuǎn)讓合同范本
- 廠房合資建房合同范本
- 合同范本違約金
- 吊船安全合同范本
- 與銀行終止貸款合同范本
- 修房合同范本
- 汽車維修廠車輛進(jìn)出廠登記制度
- (2023版)高中化學(xué)新課標(biāo)知識考試題庫大全(含答案)
- 七年級語文下冊《孫權(quán)勸學(xué)》課后習(xí)題參考答案
- 2023年河北省安全生產(chǎn)舉報和獎勵答試題及答案
- 馬鞍山晟捷新能源科技有限公司40萬噸-年N-甲基吡咯烷酮項目環(huán)境影響報告表
- 工傷保險待遇申請表
- 食品分析復(fù)習(xí)資料
- ROCHE甲功及腫瘤項目介紹專家講座
- 血液透析病人情況表
- 現(xiàn)代物流管理課后習(xí)題答案黃中鼎主編
- 35kV高壓電纜敷設(shè)專項施工方案方案
評論
0/150
提交評論