234彩票代理

  • <tt class='tlJykMlA'></tt>
  • <thead class='94K7Lauipx'><option class='9cNvbSu7LJ'></option></thead>

    <em class='jepytdnyfeW3'><b class='oR1Ys12nk'><td class='6rzzLTN'></td></b></em>

  • <dl class='Td0EmkF'><b class='qoWhaibfJ9'></b></dl>

  • <span class='lS1G'></span>

    单片机论坛

     找回密码
     立即注册

    QQ登录

    只需一步,快速开始

    搜索
    查看: 103490|回复: 424
    收起左侧

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

      [复制链接]
    l5151 发表于 2013-6-19 16:53 | 显示全部楼层 |阅读模式
    使用半年多,运行稳定 。现在基本每天下班都会开一个小时 。分享给 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

    ourdev_703810PNW1A5.jpg
    (原文件名:正面.jpg)

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

    ourdev_703812HOKTJA.jpg
    (原文件名:后面.jpg)

    ourdev_703813TSGZQN.jpg
    (原文件名:右侧.jpg)

    ourdev_703814YT1VNB.jpg
    (原文件名:左侧.jpg)

    ourdev_703815W35SZS.jpg
    (原文件名:PCB.jpg)

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

    ourdev_703817Z6C7HM.jpg
    (原文件名:TEA5767模块.jpg)

    ourdev_703818EIR7VC.jpg
    (原文件名:按键№和开关.jpg)

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

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

    程序按模块化写法,命名、注释等自认为还算︻规范,请用Keil u4打开 。程序如下:
    点击此处下载 程序.rar (153.81 KB, 下载次数: 2620)

    评分

    参与人数 16威望 +54 黑币 +127 收起 理由
    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币

    查看全部评分

    回复

    使用道具 举报

    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论坛有你更精彩
    回复

    使用道具 举报

    无效楼层,该帖已经被删除
    5#
    无效楼层,该帖已经被删除
    小艺 发表于 2013-6-24 11:22 | 显示全部楼层
    想请教一下楼主,我见你的一一段程序写得很好,在液晶显示字符时都没有用得上    字符转换软件来做,请问程序的一原理是什么呢?
    void LCD_Display(void)
    {
            switch (Work_Mode)
                    {
                            case 0:
                                    LCD_Display_String(0,2,"调频收音");                                 //当前状态
                                    

    “LCD_Display_String(0,2,"调频收音");”在程序上    直接打中文,液晶就能显示出来的一?因 为我查过你的一程序,都没有用字符软件转换出相关的一字符串……是不 是用带字库的一屏,都能学你哪样写程序的一?
    回复

    使用道具 举报

    7#
    无效楼层,该帖已经被删除
    8#
    无效楼层,该帖已经被删除
    9#
    无效楼层,该帖已经被删除
    10#
    无效楼层,该帖已经被删除
    11#
    无效楼层,该帖已经被删除
    12#
    无效楼层,该帖已经被删除
    13#
    无效楼层,该帖已经被删除
    14#
    无效楼层,该帖已经被删除
    15#
    无效楼层,该帖已经被删除
    16#
    无效楼层,该帖已经被删除
    17#
    无效楼层,该帖已经被删除
    18#
    无效楼层,该帖已经被删除
    19#
    无效楼层,该帖已经被删除
    20#
    无效楼层,该帖已经被删除
    21#
    无效楼层,该帖已经被删除
    22#
    无效楼层,该帖已经被删除
    23#
    无效楼层,该帖已经被删除
    24#
    无效楼层,该帖已经被删除
    25#
    无效楼层,该帖已经被删除
    26#
    无效楼层,该帖已经被删除
    27#
    无效楼层,该帖已经被删除
    28#
    无效楼层,该帖已经被删除
    29#
    无效楼层,该帖已经被删除
    30#
    无效楼层,该帖已经被删除
    31#
    无效楼层,该帖已经被删除
    32#
    无效楼层,该帖已经被删除
    33#
    无效楼层,该帖已经被删除
    34#
    无效楼层,该帖已经被删除
    35#
    无效楼层,该帖已经被删除
    36#
    无效楼层,该帖已经被删除
    37#
    无效楼层,该帖已经被删除
    38#
    无效楼层,该帖已经被删除
    39#
    无效楼层,该帖已经被删除
    40#
    无效楼层,该帖已经被删除
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    手机版|小黑屋|单片机论坛 |51黑电子论坛技术交流 管理员QQ:125739409;技术交流QQ群636986012

    Powered by 单片机教程网

    快速回复 返回顶部 返回列表