秒速飞艇投注彩客网:单片机论坛

标题: 我的FM 收音机,51单片机+TEA5767+12864+DS1302+DS18B20+PT2257+TDA2822M [打印本页]

作者: l5151    时间: 2013-6-19 16:53
标题: 我的FM 收音机,51单片机+TEA5767+12864+DS1302+DS18B20+PT2257+TDA2822M
使用半年多,运行稳定。现在基本每天下班都会开一个小时。分享给 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, 下载次数: 2367)

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

新手作品,还有很多地方可以继续改进,比如:
1、利用画图功能,做个性化的UI。
2、加入按键的无线???。
3、报时、闹铃、公历农历转换。
4、外接功放音量可调。

作者: 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,"调频收音");”在程序上直接打中文,液晶就能显示出来的?因为我查过你的程序,都没有用字符软件转换出相关的字符串……是不是用带字库的屏,都能学你哪样写程序的?
作者: T29    时间: 2013-6-28 16:09
谢谢楼主?。?!此贴必火?。。?!
作者: 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 带中文字库的屏,所以,没有字符转换。
作者: 左左右右    时间: 2013-7-2 16:34
您好,昨天我也用TEA5767??樽隽艘桓鍪找艋?。现在是灵敏度很低,接几米的线当天线,在室内一个台都收不到(用手机的收音机在室内可以收到电台),以为是没调好,但是跑上楼顶却能收到台了(这样就排除了软件问题吧)。  对这个问题可以给点思路吗?  谢谢。  

另,可以发一份到我邮箱吗。3543-0042 @qq.com

期待您的回复。
作者: 陈令顺    时间: 2013-7-4 21:25
楼主有没有试过TDA2822M的BTL接法?我照着手册上的电路接了一个,输入电阻改成了1K,音源是VS1003B,中间加了一外10uF的无极性电容,供电用的是5V的线性电源,怎么调都有问题,杂音很大,芯片发烫。。。。。。。
作者: 陈令顺    时间: 2013-7-4 21:31
另外问下 怎么我编译不成功,还有就是楼主可以上传PCB文件吗,我想用热转印法制块板子玩玩
作者: zhengguang    时间: 2013-7-4 23:42
很好的程序编写方式啊,学习了,楼主的程序功底看起来真不错;
刚刚那个6楼的,12864带字库,就可以直接用字符串表示了,直接显
作者: l5151    时间: 2013-7-7 18:05
陈令顺 发表于 2013-7-4 21:31
另外问下 怎么我编译不成功,还有就是楼主可以上传PCB文件吗,我想用热转印法制块板子玩玩

请问有什么编译错误?请用Keil c51 v4,导入STC器件,用官方提供的STC12C5620AD头文件,还有注意下包含路径。

PCB是双层的,热转印不好做。要的话,我可以送你个样板。

打样了10块,现在还剩下8块,要的可以拿去,出个邮费就好。qq短信给我
作者: l5151    时间: 2013-7-7 18:09
秒速飞艇彩票开奖网
您好,昨天我也用TEA5767??樽隽艘桓鍪找艋?。现在是灵敏度很低,接几米的线当天线,在室内一个台都收不到 ...

附件可直接下载 51hei论坛好像没有限制的啊,另外我已经发送到你的邮箱了.
作者: 51hei_kmee    时间: 2013-7-9 16:55
太强大了!
作者: longlong899    时间: 2013-7-16 17:16
现在好东西起来越多了,支持一个,要继续加油哇
作者: wuhaisheng258    时间: 2013-7-17 11:09
高人作品
作者: liangqin1573    时间: 2013-7-19 00:45
很好很强大
作者: zxgpy    时间: 2013-7-21 10:33
好东东,多谢?。。。。。。。?!
作者: guoqing24    时间: 2013-7-21 21:39
一定 要学习一下??!
作者: ydsf16    时间: 2013-7-21 23:11
真是牛人啊

作者: qw789    时间: 2013-7-22 18:39
谢谢分享
作者: jacksonwang    时间: 2013-7-23 15:12
好贴,必须顶。
作者: liaows    时间: 2013-7-23 16:41
谢谢LZ的共享,很好的学习材料,谢谢!
作者: 扬帆远航    时间: 2013-8-3 15:39
强大,
作者: 扬帆远航    时间: 2013-8-4 14:29
好资料
作者: 啵~~    时间: 2013-8-5 10:28
谢谢楼主分享啊
作者: 何必919    时间: 2013-8-6 18:29
相当给力,感谢你的共享!
作者: wwxaimql    时间: 2013-8-9 16:33
很给力??!
作者: aimei    时间: 2013-8-9 22:05
发现没 币了
作者: 少林寺大神父    时间: 2013-8-10 21:38
高人作品 赶快下载 看看学习一下 玩了好几天的收音机 终于找到点能用的资料了
作者: ggsimida    时间: 2013-8-16 20:03
牛叉   楼主
作者: qw789    时间: 2013-8-18 10:20
我手头有一块TEA5767,但没有STC12C5620AD,可惜!
作者: wuyutian51hei    时间: 2013-8-25 21:54
写得很不错!值得学习!
作者: 为爱努力    时间: 2013-9-6 14:40
初学者,打算自己也模仿做一个,希望能成功,
作者: jinchouxing    时间: 2013-10-3 21:11
好东东
作者: huyin    时间: 2013-10-4 21:32
不错,很好
作者: 淡漠的记忆    时间: 2013-10-6 11:00
看看,资料怎样
作者: 淡漠的记忆    时间: 2013-10-6 11:02
资料很好,谢谢了
作者: ★箛獨№牛弟    时间: 2013-10-13 17:43
谢谢作者,很好的资料,你的编程方式值得学习!

作者: 13620819446    时间: 2013-10-13 22:07
#在这里快速回复#真是不错的资料
作者: 475345347    时间: 2013-10-18 23:18
学习学习啊

作者: 再见青春    时间: 2013-10-24 11:03
谢谢作者,很好的资料,你的编程方式值得学习!
作者: pony    时间: 2013-10-29 11:14
楼主V5
作者: 帆船    时间: 2013-10-30 17:10
代码真是太牛逼了
作者: lf2k168    时间: 2013-10-30 17:44
{:soso_e179:}{:soso_e183:}
作者: hgr2004    时间: 2013-11-1 18:42
这个设计好。不错。要仿造一个。
作者: 电工世界    时间: 2013-11-2 00:49
高手如云呀 {:soso_e179:}
作者: niuren    时间: 2013-11-2 01:32
51hei论坛真心不错啊
作者: zhouzhou78    时间: 2013-11-3 19:26
好东西,学习!
作者: m182892    时间: 2013-11-6 10:35
贴子非常好,楼主高手。
作者: 氯化钠    时间: 2013-11-15 15:59
跪谢楼主;看了下;真是好东西;对我这样的新手学的东西太多了;再次感谢!
作者: sdmlxdli    时间: 2013-11-16 13:40
很好啊,谢谢分享。
作者: 馒头    时间: 2013-11-16 14:33
初学者来学习的
作者: 馒头    时间: 2013-11-16 14:42
楼主您好,我想做一个基于AT89S52单片机的无线多路温度采集系统设计,您那有资料给参考吗?有的话麻烦发个到我邮箱 [email protected]  万分感谢?。?!
作者: dyun1988    时间: 2013-11-20 20:52
很好很强大
作者: zj1987510    时间: 2013-11-24 10:12
楼主太伟大了,感谢你的分享,最近也在用汇编写PE153+5807做的收音机,给了很大的帮助,赞一个
作者: m182892    时间: 2013-11-24 11:03
参考你的资料,我也想做一个玩玩。
作者: zhangzhiyi_923    时间: 2013-11-25 00:03
楼主给一个orcad 的原理图呗
作者: speachkone    时间: 2013-11-28 14:18
不知道能不能用C51 普通的仿一个
作者: chenppo    时间: 2013-11-29 14:43
谢谢分享。。。
作者: 守护月亮的吴刚    时间: 2013-11-30 11:18
我去。没有M币了………………
作者: 728528678    时间: 2013-11-30 19:20
牛人?。?!
作者: shenhuagen    时间: 2013-12-6 23:05
学习。。。编程思路很清晰!
作者: lijieping    时间: 2013-12-7 10:36
值得 学习!真是不错的资料
作者: lsmilep    时间: 2013-12-11 14:42
经帖,必火~!
作者: 謝謝伱の詤訁    时间: 2013-12-11 22:34
学习中
作者: m182892    时间: 2013-12-12 14:41
下载了,谢谢分享。
作者: xd_silly    时间: 2013-12-14 17:06
不错不错~楼主加油
作者: 被看穿了么    时间: 2013-12-14 23:24
分厂牛逼
作者: 被看穿了么    时间: 2013-12-15 11:02
很有成就感吧
作者: 政策6396    时间: 2013-12-15 19:54
学会了我也搞一个
作者: fengxianghao    时间: 2013-12-28 21:42
大师还是很多啊,我学了好久,学学停停,原地踏步
作者: 周文    时间: 2014-1-17 17:41
肯分享才是最流的
作者: csx140118    时间: 2014-1-18 21:28
路过,下了…………
作者: wapaja    时间: 2014-1-24 22:27
能教我怎么做吗?

作者: daizhi1970    时间: 2014-2-1 20:57
O(∩_∩)O谢谢
作者: yhu168    时间: 2014-2-9 20:26
大感谢了!
作者: dyun1988    时间: 2014-2-11 21:38
谢谢楼主分享啊
作者: wapaja    时间: 2014-2-11 21:41
好帖子要顶起来的。
作者: zhangxiaoljs    时间: 2014-2-13 23:03
谢谢学习了。。。。。。。。
作者: yamglang    时间: 2014-2-21 01:24

谢谢楼主?。?!此贴必火?。。?!
作者: yhu168    时间: 2014-2-27 23:25
好极了!多谢了
作者: dinodine    时间: 2014-3-4 17:13
还需要钱???我没钱啊
作者: mc0011    时间: 2014-3-5 11:07
好厉害啊,顶
作者: maker    时间: 2014-3-5 21:23
刚开始学习51,想自己搞个收音机,谢谢!
作者: 风速太一    时间: 2014-3-7 23:24
学习一下?。?!
作者: yhu168    时间: 2014-3-8 10:29
不错!挺好的多谢了!这网站真好
作者: lyMarvin    时间: 2014-3-12 13:07
非常漂亮,谢谢分享!
作者: s3209305    时间: 2014-3-14 21:58
楼主威武!
作者: mlf    时间: 2014-3-22 13:52
楼主pcb板卖吗?我想访制一个。我的qq号是1970118036
作者: RainsL    时间: 2014-3-22 19:44
楼主强悍
作者: fushengge    时间: 2014-3-23 22:19
感谢楼主分享!
作者: k499138416    时间: 2014-3-25 09:44
谢谢楼主分享
作者: haieeq    时间: 2014-3-26 16:05
需要啊
作者: haieeq    时间: 2014-3-26 16:06
很需要啊
作者: yhu168    时间: 2014-3-26 16:35
我也要一个pcb板,邮箱[email protected]
作者: rsbook    时间: 2014-4-2 15:43
正在做TEA5767,参考一下,谢谢!
作者: syairkiller    时间: 2014-4-2 20:38
高人
作者: liguohong    时间: 2014-4-4 13:32
留个记号,后面再来学学
作者: 马泽强    时间: 2014-4-16 15:07
楼主做的东西太好了。
作者: mugeda    时间: 2014-4-17 22:18
很好,学习学习




欢迎光临 单片机论坛 (//www.s1mjq.cn/bbs/) Powered by Discuz! X3.1
499| 799| 222| 266| 195| 269| 703| 827| 959| 652|