1. <em id="3qmea"><ol id="3qmea"></ol></em>
    2. <em id="3qmea"></em>

      单片机论坛

       找回密码
       立即注册

      QQ登录

      只需一步快速开始

      搜索
      查看: 83077|回复: 386
      打印 上一主题 下一主题
      收起左侧

      我的FM 收音机51单片机+TEA5767+12864+DS1302+DS18B20+PT2257+TDA2822M

        [复制链接]
      跳转到指定楼层
      楼主
      使用半年多运行稳定现在基本每天下班都会开一个小时分享给 51hei论坛的朋友们.
      第一次独立做一个东西打样了两次元器件也是优先选择当时现有的所以还有很多可以继续改进的地方
      里面很多东西都是参考了51hei论坛上的资料相当于做了一次整理在此表示?#34892;~

      大体描述下
      1TEA5767模块没有采用网络流传的收台方法我是直接按PLL步进的方式手动收台估计是最精准的方式了没有加入自动收台功能
      212864点阵屏ST7920控制使用了自定义?#22336;?#22825;线摄氏度按键开启背光10秒无动作自动关闭
      3DS1302/DS18B20网络流传的控制程序
      4PT2257调音I2C控制多级音量控制
      5TDA2822M双声道模式但是只用了一个扬声器1W可外接功放不通过调音器降噪
      6按键采用中断扫描的方式4键长按短按区分
      7电台存储15个断电自动记忆上?#38382;?#29992;的频道使用内部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, 下载?#38382;? 2439)

      原理图是ORCAD画的这边上传PDF格式PCB是PADS版本没多大_参考价值这边就不上传了
      点击此处下载 原理图.pdf (74.04 KB, 下载?#38382;? 1684)

      新手作品还有很多地方可以继续改进?#28909;?br /> 1利用画图功能做个性化的UI
      2加入按键的无线遥控
      3报时闹铃公历农历转换
      4外接功放音量可调

      评分

      参与人数 15威望 +54 黑币 +112 收起 理由
      莫子栋 + 8 绝世好帖
      泛星梦 + 1 赞一个
      123.123.123 + 5 很给力
      WSHENQION + 4 共享资料的黑币奖励
      vvv64 + 5
      dzbj + 1 银子不多 意思意思
      单片机新手426 + 5 绝世好帖
      1971417800 + 1 很?#19981;?#32473;我这个大一小白很好的启发
      ssfc + 5 赞一个
      jiangyimfs + 5 很给力
      liuyimao485812 + 5 很给力
      红尘有你 + 12 很给力
      madell + 5 很给力
      lost + 4
      admin + 50 + 50 发布作品的奖励,大家多多发布可赚取M币

      查看全部评分

      分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
      收藏收藏57 转播转播 分享分享 分享淘帖 顶7 踩
      回复

      使用道具 举报

      沙发
      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};	 		//收音频?#27663;?#31034;缓存	   格式  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完全掉电后进行?#38382;?#26356;新
      	TEA5767_Init();					  	//初始化TEA5767写入预置?#38382;?
      	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 | 只看该作者
      想请教一下楼主,我见你的一段程序写得很好,在液晶显示?#22336;?#26102;都没有用得?#29486;址?#36716;换软件来做,请问程序的原理是什么呢?
      void LCD_Display(void)
      {
              switch (Work_Mode)
                      {
                              case 0:
                                      LCD_Display_String(0,2,"调频收音");                                 //当前状态
                                      

      LCD_Display_String(0,2,"调频收音");在程序上直接打中?#27169;?#28082;晶就能显示出来的因为我查过你的程序都没有用?#22336;?#36719;件转换出相关的?#22336;?#20018;是不是用带字库的屏都能学你哪样写程序的
      回复

      使用道具 举报

      5#
      T29 发表于 2013-6-28 16:09 | 只看该作者
      谢谢楼主此贴必火
      回复

      使用道具 举报

      6#
      yizanduandian 发表于 2013-6-29 21:39 | 只看该作者
      回复 小艺
      想请教一下楼主,我见你的一段程序写得很好,在液晶显示?#22336;?#26102;都没有用得?#29486;址?#36716;换软件来做,请问程序的原理是什么呢?
      void lcd_display(void)
      {
      switch (work_mode)
      {
      case 0:
      lcd_display_string(0,2,"调频收音");  //当前状态
      lcd_display_string(0,2,"调频收音");在程序上直接打中?#27169;?#28082;晶就能显示出来的因为我查过你的程序都没有用?#22336;?#36719;件转换出相关的?#22336;?#20018;是不是用带字库的屏都能学你哪样写程序的
      -----------------------------------------------------------------------

      用的是ST7920 带中文字库的屏所以没有?#22336;?#36716;换
      回复

      使用道具 举报

      7#
      左左右右 发表于 2013-7-2 16:34 | 只看该作者
      您好昨天我也用TEA5767模块做了一个收音机现在是灵敏?#32676;?#20302;接?#35813;?#30340;线当天线在室内一个台都收不到用手机的收音机在室内可以收到电台以为是没调好但是跑?#19979;?#39030;却能收到台了这样就排除了软件问题吧  对这个问题可以给点思路吗  谢谢  

      另可以发一份到我?#27663;?#21527;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带字库就可以直接用?#22336;?#20018;表示了直接显
      回复

      使用道具 举报

      11#
       楼主| l5151 发表于 2013-7-7 18:05 | 只看该作者
      陈令顺 发表于 2013-7-4 21:31
      另外问下 怎么我编译不成功还有就是楼主可以上传PCB文件吗我想用热转印法制块板子玩玩

      请问有什么编译错误请用Keil c51 v4导入STC器件用官?#25945;?#20379;的STC12C5620AD头文件还有注意下包含路径

      PCB是双层的热转印不好做要的话我可?#36816;?#20320;个样板

      打样了10块现在还剩下8块要的可?#38405;?#21435;出个邮费就好qq短信给我
      回复

      使用道具 举报

      12#
       楼主| l5151 发表于 2013-7-7 18:09 | 只看该作者
      左左右右 发表于 2013-7-2 16:34
      您好昨天我也用TEA5767模块做了一个收音机现在是灵敏?#32676;?#20302;接?#35813;?#30340;线当天线在室内一个台都收不到 ...

      附件可直接下载 51hei论坛好像没有限制的啊另外我已经发送到你的?#27663;?#20102;.
      回复

      使用道具 举报

      13#
      51hei_kmee 发表于 2013-7-9 16:55 | 只看该作者
      太?#30475;?#20102;
      回复

      使用道具 举报

      14#
      longlong899 发表于 2013-7-16 17:16 | 只看该作者
      现在好东西起来越多了,支持一个,要继续加油哇
      回复

      使用道具 举报

      15#
      wuhaisheng258 发表于 2013-7-17 11:09 | 只看该作者
      高人作品
      回复

      使用道具 举报

      16#
      liangqin1573 发表于 2013-7-19 00:45 | 只看该作者
      很好很?#30475;?/td>
      回复

      使用道具 举报

      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 | 只看该作者
      ?#30475;?/td>
      回复

      使用道具 举报

      24#
      扬帆远航 发表于 2013-8-4 14:29 | 只看该作者
      好资料
      回复

      使用道具 举报

      25#
      啵~~ 发表于 2013-8-5 10:28 | 只看该作者
      谢谢楼主分享啊
      回复

      使用道具 举报

      26#
      何必919 发表于 2013-8-6 18:29 | 只看该作者
      相当给力?#34892;?#20320;的共享
      回复

      使用道具 举报

      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?#19978;?/td>
      回复

      使用道具 举报

      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 | 只看该作者
      学习学习啊
      回复

      使用道具 举报

      您需要登录后才可以回帖 登录 | 立即注册

      本版积分规则

      QQ|手机版|小黑屋|单片机论坛 |51黑电子论坛5群 联系QQ:125739409;技术交流QQ群174280738

      Powered by 单片机?#22363;?#32593;

      快速回复 返回顶部 返回列表
      ຣ11ѡ5app

        
        
        1. <em id="3qmea"><ol id="3qmea"></ol></em>
        2. <em id="3qmea"></em>

            
            
            1. <em id="3qmea"><ol id="3qmea"></ol></em>
            2. <em id="3qmea"></em>