<em id="aeask"></em>

  • <span id="aeask"></span>

  • <tbody id="aeask"><noscript id="aeask"></noscript></tbody>
    <th id="aeask"><p id="aeask"></p></th>

      <th id="aeask"><pre id="aeask"><video id="aeask"></video></pre></th>

         找回密碼
         立即注冊

        QQ登錄

        只需一步,快速開始

        搜索
        查看: 123014|回復: 446
        打印 上一主題 下一主題
        收起左側

        我的FM 收音機,51單片機+TEA5767+12864+DS1302+DS18B20+PT2257+TDA2822M

          [復制鏈接]
        跳轉到指定樓層
        樓主
        使用半年多,運行穩定,F在基本每天下班都會開一個小時。分享給 51hei論壇的朋友們.
        第一次獨立做一個東西,打樣了兩次。元器件也是優先選擇當時現有的,所以還有很多可以繼續改進的地方。
        里面很多東西都是參考了51hei論壇上的資料,相當于做了一次整理。在此表示感謝~

        大體描述下:
        1、TEA5767模塊,沒有采用網絡流傳的收臺方法,我是直接按PLL步進的方式手動收臺,估計是最精準的方式了。沒有加入自動收臺功能。
        2、12864點陣屏,ST7920控制,使用了自定義字符(天線、攝氏度)。按鍵開啟背光,10秒無動作自動關閉。
        3、DS1302/DS18B20,網絡流傳的控制程序。
        4、PT2257調音,I2C控制,多級音量控制。
        5、TDA2822M,雙聲道模式,但是只用了一個揚聲器(1W)?赏饨庸Ψ牛ú煌ㄟ^調音器,降噪)
        6、按鍵,采用中斷掃描的方式,4鍵,長按短按區分。
        7、電臺存儲15個,斷電自動記憶上次使用的頻道。使用內部EEPOM。
        8、電源使用DC12V變壓器,內部組合為7808和78M05。
        9、控制器:STC12C5608AD


        (原文件名:正面.jpg)


        (原文件名:使用中.jpg)


        (原文件名:后面.jpg)


        (原文件名:右側.jpg)


        (原文件名:左側.jpg)


        (原文件名:PCB.jpg)


        (原文件名:TDA2822M和DS1302.jpg)


        (原文件名:TEA5767模塊.jpg)


        (原文件名:按鍵和開關.jpg)


        (原文件名:7808和78M05.jpg)


        (原文件名:程序截圖.jpg)

        程序按模塊化寫法,命名、注釋等自認為還算規范,請用Keil u4打開。程序如下:
        點擊此處下載 程序.rar (153.81 KB, 下載次數: 2837)

        原理圖是ORCAD畫的,這邊上傳PDF格式。PCB是PADS版本,沒多大_參考價值,這邊就不上傳了。
        點擊此處下載 原理圖.pdf (74.04 KB, 下載次數: 2025)

        新手作品,還有很多地方可以繼續改進,比如:
        1、利用畫圖功能,做個性化的UI。
        2、加入按鍵的無線遙控。
        3、報時、鬧鈴、公歷農歷轉換。
        4、外接功放音量可調。

        評分

        參與人數 18威望 +54 黑幣 +172 收起 理由
        夜空之巔 + 30 絕世好帖!
        zhai1461961500 + 15 很給力!
        1109 + 15 贊一個!
        莫子棟 + 8 絕世好帖!
        泛星夢 + 1 贊一個!
        123.123.123 + 5 很給力!
        WSHENQION + 4 共享資料的黑幣獎勵!
        vvv64 + 5
        dzbj + 1 銀子不多 意思意思
        單片機新手426 + 5 絕世好帖!
        1971417800 + 1 很喜歡,給我這個大一小白很好的啟發
        ssfc + 5 贊一個!
        jiangyimfs + 5 很給力!
        liuyimao485812 + 5 很給力!
        紅塵有你 + 12 很給力!
        madell + 5 很給力!
        lost + 4
        admin + 50 + 50 發布作品的獎勵,大家多多發布可賺取M幣

        查看全部評分

        分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
        收藏收藏100 分享分享 分享淘帖 頂15 踩
        回復

        使用道具 舉報

        沙發
        admin 發表于 2013-6-23 04:08 | 只看該作者
        通過閱讀作者的 main.c 文件,發現作者的代碼風格很好,很值得我們學習.
        #include "STC12C5620AD.H"
        #include "RT12864M.H"
        #include "delay.h"
        #include "DS1302.H"
        #include "DS18B20.H"
        #include "System_Init.H"
        #include "Time_Handle.H"
        #include "Temperature_Handle.H"
        #include "Radio.H"
        #include "Key_Handle.H"
        #include "Key_Scan.H"
        #include "LCD_Display.H"
        #include "Channel_Handle.H"
        #include "Volume_Handle.H"
        /********************** 聲明外部變量**************************/
        extern uchar Volume;					//Volume_Handle.c
        extern uchar Radio_Index;			  	 //From Channel_Handle.c
        extern uint PLL;  						//From Radio.c
        /**********************  定義變量 ***************************/
        bit Flag_40ms;		  					//40ms定時標志位
        uchar data Work_Mode=0;      			//定義系統狀態
        uchar data Display_Time[9]={0x20,0x30,0x30,0x3a,0x30,0x30,0x3a,0x30,0x30};           //時間顯示緩存        格式  12:12:12
        uchar data Display_Date[11]={0x20,0x32,0x30,0x31,0x31,0x2f,0x30,0x30,0x2f,0x30,0x30};//日期顯示緩存        格式  2011/04/07
        uchar data Display_Day[3]={'M','O','N'};										     //星期顯示緩存        格式  MON,TUE,WED
        uchar data Display_Temperature[5]={0x20,0x30,0x30,0x20,0x20};                        //時間顯示緩存        格式	 -23
        uchar data Display_Channel[5]={0x20,0x43,0x48,0x30,0x30};                    	 	 //頻道號顯示緩存      格式	 CH07
        uchar data Display_FM[9]={0x30,0x30,0x30,0x2e,0x30,0x20,0x4d,0x48,0x7a};	 		//收音頻率顯示緩存	   格式  101.71MHz			  
        /********************** Timer0 Interrupt **************************/
        void Timer0_Serves() interrupt 1 using 0
        {
        	TH0 = 0xff;		    //設定定時器重裝值
        	TL0 = 0xd8;		    
        	Flag_40ms=1;
        }
        /********** Main Function *************/
        void main(void)
        {
        	BEEP_DRV=0;		    	   			//關閉蜂鳴器
        	LCD_BLK=0;				   		  	//關閉LCD背光
        	System_Init();						//初始化MCU
        	LCD_Init();							//初始化RT12864M
        	//DS1302_Init();					//初始化 DS1302(完全掉電后進行參數更新)
        	TEA5767_Init();					  	//初始化TEA5767,寫入預置參數
        	Radio_Index=EEPROM_Get_Index();  	//獲取上一次斷電存儲的電臺序號
        	PLL=EEPROM_Get_PLL(Radio_Index);	//獲取當前序號PLL
        	TEA5767_Update_PLL();				//更新PLL
        	Volume_Init();						//初始化聲音
        	while(1)
        		{
        			Time_Handle();
        			Temperature_Handle();				  	//獲取溫度信息
        			Key_Handle();
        			TEA5767_Display_Frequency();
        			LCD_Display();		           			//顯示刷新
        		}
        }
        回復

        使用道具 舉報

        板凳
        黑仔 發表于 2013-6-23 10:37 | 只看該作者
        這個是高人作品,51hei論壇有你更精彩
        回復

        使用道具 舉報

        地板
        小藝 發表于 2013-6-24 11:22 | 只看該作者
        想請教一下樓主,我見你的一段程序寫得很好,在液晶顯示字符時都沒有用得上字符轉換軟件來做,請問程序的原理是什么呢?
        void LCD_Display(void)
        {
                switch (Work_Mode)
                        {
                                case 0:
                                        LCD_Display_String(0,2,"調頻收音");                                 //當前狀態
                                        

        “LCD_Display_String(0,2,"調頻收音");”在程序上直接打中文,液晶就能顯示出來的?因為我查過你的程序,都沒有用字符軟件轉換出相關的字符串……是不是用帶字庫的屏,都能學你哪樣寫程序的?
        回復

        使用道具 舉報

        5#
        T29 發表于 2013-6-28 16:09 | 只看該作者
        謝謝樓主。!此貼必火。。!
        回復

        使用道具 舉報

        6#
        yizanduandian 發表于 2013-6-29 21:39 | 只看該作者
        回復 小藝
        想請教一下樓主,我見你的一段程序寫得很好,在液晶顯示字符時都沒有用得上字符轉換軟件來做,請問程序的原理是什么呢?
        void lcd_display(void)
        {
        switch (work_mode)
        {
        case 0:
        lcd_display_string(0,2,"調頻收音");  //當前狀態
        “lcd_display_string(0,2,"調頻收音");”在程序上直接打中文,液晶就能顯示出來的?因為我查過你的程序,都沒有用字符軟件轉換出相關的字符串……是不是用帶字庫的屏,都能學你哪樣寫程序的?
        -----------------------------------------------------------------------

        用的是ST7920 帶中文字庫的屏,所以,沒有字符轉換。
        回復

        使用道具 舉報

        7#
        左左右右 發表于 2013-7-2 16:34 | 只看該作者
        您好,昨天我也用TEA5767模塊做了一個收音機,F在是靈敏度很低,接幾米的線當天線,在室內一個臺都收不到(用手機的收音機在室內可以收到電臺),以為是沒調好,但是跑上樓頂卻能收到臺了(這樣就排除了軟件問題吧)。  對這個問題可以給點思路嗎?  謝謝。  

        另,可以發一份到我郵箱嗎。3543-0042 @qq.com

        期待您的回復。
        回復

        使用道具 舉報

        8#
        陳令順 發表于 2013-7-4 21:25 | 只看該作者
        樓主有沒有試過TDA2822M的BTL接法?我照著手冊上的電路接了一個,輸入電阻改成了1K,音源是VS1003B,中間加了一外10uF的無極性電容,供電用的是5V的線性電源,怎么調都有問題,雜音很大,芯片發燙。。。。。。。
        回復

        使用道具 舉報

        9#
        陳令順 發表于 2013-7-4 21:31 | 只看該作者
        另外問下 怎么我編譯不成功,還有就是樓主可以上傳PCB文件嗎,我想用熱轉印法制塊板子玩玩
        回復

        使用道具 舉報

        10#
        zhengguang 發表于 2013-7-4 23:42 | 只看該作者
        很好的程序編寫方式啊,學習了,樓主的程序功底看起來真不錯;
        剛剛那個6樓的,12864帶字庫,就可以直接用字符串表示了,直接顯
        回復

        使用道具 舉報

        11#
         樓主| l5151 發表于 2013-7-7 18:05 | 只看該作者
        陳令順 發表于 2013-7-4 21:31
        另外問下 怎么我編譯不成功,還有就是樓主可以上傳PCB文件嗎,我想用熱轉印法制塊板子玩玩

        請問有什么編譯錯誤?請用Keil c51 v4,導入STC器件,用官方提供的STC12C5620AD頭文件,還有注意下包含路徑。

        PCB是雙層的,熱轉印不好做。要的話,我可以送你個樣板。

        打樣了10塊,現在還剩下8塊,要的可以拿去,出個郵費就好。qq短信給我
        回復

        使用道具 舉報

        12#
         樓主| l5151 發表于 2013-7-7 18:09 | 只看該作者
        左左右右 發表于 2013-7-2 16:34
        您好,昨天我也用TEA5767模塊做了一個收音機,F在是靈敏度很低,接幾米的線當天線,在室內一個臺都收不到 ...

        附件可直接下載 51hei論壇好像沒有限制的啊,另外我已經發送到你的郵箱了.
        回復

        使用道具 舉報

        13#
        51hei_kmee 發表于 2013-7-9 16:55 | 只看該作者
        太強大了!
        回復

        使用道具 舉報

        14#
        longlong899 發表于 2013-7-16 17:16 | 只看該作者
        現在好東西起來越多了,支持一個,要繼續加油哇
        回復

        使用道具 舉報

        15#
        wuhaisheng258 發表于 2013-7-17 11:09 | 只看該作者
        高人作品
        回復

        使用道具 舉報

        16#
        liangqin1573 發表于 2013-7-19 00:45 | 只看該作者
        很好很強大
        回復

        使用道具 舉報

        17#
        zxgpy 發表于 2013-7-21 10:33 | 只看該作者
        好東東,多謝。。。。。。。!
        回復

        使用道具 舉報

        18#
        guoqing24 發表于 2013-7-21 21:39 | 只看該作者
        一定 要學習一下!
        回復

        使用道具 舉報

        19#
        ydsf16 發表于 2013-7-21 23:11 | 只看該作者
        真是牛人啊
        回復

        使用道具 舉報

        20#
        qw789 發表于 2013-7-22 18:39 | 只看該作者
        謝謝分享
        回復

        使用道具 舉報

        21#
        jacksonwang 發表于 2013-7-23 15:12 | 只看該作者
        好貼,必須頂。
        回復

        使用道具 舉報

        22#
        liaows 發表于 2013-7-23 16:41 | 只看該作者
        謝謝LZ的共享,很好的學習材料,謝謝!
        回復

        使用道具 舉報

        23#
        揚帆遠航 發表于 2013-8-3 15:39 | 只看該作者
        強大,
        回復

        使用道具 舉報

        24#
        揚帆遠航 發表于 2013-8-4 14:29 | 只看該作者
        好資料
        回復

        使用道具 舉報

        25#
        啵~~ 發表于 2013-8-5 10:28 | 只看該作者
        謝謝樓主分享啊
        回復

        使用道具 舉報

        26#
        何必919 發表于 2013-8-6 18:29 | 只看該作者
        相當給力,感謝你的共享!
        回復

        使用道具 舉報

        27#
        wwxaimql 發表于 2013-8-9 16:33 | 只看該作者
        很給力!
        回復

        使用道具 舉報

        28#
        aimei 發表于 2013-8-9 22:05 | 只看該作者
        發現沒 幣了
        回復

        使用道具 舉報

        29#
        少林寺大神父 發表于 2013-8-10 21:38 | 只看該作者
        高人作品 趕快下載 看看學習一下 玩了好幾天的收音機 終于找到點能用的資料了
        回復

        使用道具 舉報

        30#
        ggsimida 發表于 2013-8-16 20:03 | 只看該作者
        牛叉   樓主
        回復

        使用道具 舉報

        31#
        qw789 發表于 2013-8-18 10:20 | 只看該作者
        我手頭有一塊TEA5767,但沒有STC12C5620AD,可惜!
        回復

        使用道具 舉報

        32#
        wuyutian51hei 發表于 2013-8-25 21:54 | 只看該作者
        寫得很不錯!值得學習!
        回復

        使用道具 舉報

        33#
        為愛努力 發表于 2013-9-6 14:40 | 只看該作者
        初學者,打算自己也模仿做一個,希望能成功,
        回復

        使用道具 舉報

        34#
        jinchouxing 發表于 2013-10-3 21:11 | 只看該作者
        好東東
        回復

        使用道具 舉報

        35#
        huyin 發表于 2013-10-4 21:32 | 只看該作者
        不錯,很好
        回復

        使用道具 舉報

        36#
        淡漠的記憶 發表于 2013-10-6 11:00 | 只看該作者
        看看,資料怎樣
        回復

        使用道具 舉報

        37#
        淡漠的記憶 發表于 2013-10-6 11:02 | 只看該作者
        資料很好,謝謝了
        回復

        使用道具 舉報

        38#
        ★箛獨№牛弟 發表于 2013-10-13 17:43 | 只看該作者
        謝謝作者,很好的資料,你的編程方式值得學習!
        回復

        使用道具 舉報

        39#
        13620819446 發表于 2013-10-13 22:07 | 只看該作者
        #在這里快速回復#真是不錯的資料
        回復

        使用道具 舉報

        40#
        475345347 發表于 2013-10-18 23:18 | 只看該作者
        學習學習啊
        回復

        使用道具 舉報

        您需要登錄后才可以回帖 登錄 | 立即注冊

        本版積分規則

        手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

        Powered by 單片機教程網

        快速回復 返回頂部 返回列表
        北京匀瞬国际贸易有限公司