资源简介
51单片机驱动tea5767模块做的收音机,在keil下用C写的。tea5767为收音机模块
代码片段和文件信息
#include “delay.h“
#include
#include
#include “iic.h“
#include “5767.h“
#define max_freq 10800
#define min_freq 7600
#define write_order 0xc0 //读地址
#define read_order 0xc1 //写地址
uchar data fm_write[5]={0x000x000x010x930x00}; //收音机参数配置
uchar data fm_read[5]={00000};
uint freqPLLfrequency;
bit modehisi; //标志位
void get_frequency()
{
ulong y;
y=PLL;
hisi=fm_write[2]&0x10;
if(hisi)
//freq=(y*8192+225000)/10000; //right??
freq=(y*8192-225000)/10000;
else
//freq=(y*8192-225000)/10000 ; //right??
freq=(y*8192+225000)/10000 ;
}
void get_pll()
{
ulong freq1y=frequency;
freq1=y*10000;
hisi=fm_write[2]&0x10;
if(hisi)
PLL=((freq1+225000)*4)/32768;
else
PLL=((freq1-225000)*4)/32768;
}
void read_5byte()
{
uchar itempHtempL;
iic_start();
write_8bit(read_order);
check_ack();
for(i=0;i<5;i++)
{
fm_read[i]=read_8bit();
send_ack();
}
send_noack();
iic_stop();
tempH=fm_read[0];
tempL=fm_read[1];
tempH&=0x3f;
PLL=tempH*256+tempL;
get_frequency();
}
void write_5byte()
{
uchar i;
iic_start();
write_8bit(write_order);
check_ack();
for(i=0;i<5;i++)
{
write_8bit(fm_write[i]);
check_ack();
}
iic_stop();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}
void refurbish_5767() //FM收音芯片数据刷新一次
{
get_pll();//计算PLL
fm_write[0]=PLL/256;
fm_write[1]=PLL%256;
fm_write[2]=0x01;
fm_write[3]=0x93;
fm_write[4]=0x00;
if(mode) fm_write[2]|=0x80;//给SUD=1,向上搜索模式
else fm_write[2]&=0x7f; //给SUD=0,向下搜索模式
write_5byte();
delayms(60);
read_5byte();
}
void hand_search() //手动搜索电台子程序
{
read_5byte();
if(mode)
{
frequency+=10;
if(frequency>max_freq)
frequency=min_freq;
}
else
{
frequency-=10;
if(frequency frequency=max_freq;
}
refurbish_5767();
}
void wt_search() //微调子程序
{
read_5byte();
if(mode)
{
frequency+=1;
if(frequency>max_freq)
frequency=min_freq;
}
else
{
frequency-=1;
if(frequency frequency=max_freq;
}
refurbish_5767();
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6376 2005-03-22 15:22 51收音机\STARTUP.A51
文件 155 2012-01-01 20:49 51收音机\radio.plg
文件 164 2011-11-21 21:45 51收音机\delay.h
文件 1437 2011-11-22 09:30 51收音机\iic.c
文件 297 2011-11-21 21:27 51收音机\iic.h
文件 1485 2012-01-01 15:55 51收音机\main.c
文件 160 2011-11-22 09:16 51收音机\smg.c
文件 129 2011-11-22 09:20 51收音机\smg.h
文件 2349 2012-01-01 17:24 51收音机\5767.c
文件 459 2011-11-22 09:33 51收音机\5767.h
文件 107 2011-11-21 22:03 51收音机\delay.c
文件 14049 2012-01-01 15:53 51收音机\STARTUP.LST
文件 108 2012-01-01 15:53 51收音机\radio.lnp
文件 24576 2012-01-01 15:53 51收音机\radio.M51
文件 758 2012-01-01 15:53 51收音机\STARTUP.OBJ
文件 5167 2012-01-01 15:53 51收音机\5767.LST
文件 9620 2012-01-01 15:53 51收音机\5767.OBJ
文件 970 2012-01-01 15:53 51收音机\delay.LST
文件 1032 2012-01-01 15:53 51收音机\delay.OBJ
文件 3948 2012-01-01 15:53 51收音机\iic.LST
文件 5938 2012-01-01 15:53 51收音机\iic.OBJ
文件 3775 2012-01-01 15:53 51收音机\main.LST
文件 5963 2012-01-01 15:53 51收音机\main.OBJ
文件 1064 2012-01-01 15:53 51收音机\smg.LST
文件 1370 2012-01-01 15:53 51收音机\smg.OBJ
文件 21299 2012-01-01 15:53 51收音机\radio
文件 4530 2012-01-01 15:53 51收音机\radio.hex
....... 0 2012-01-01 15:52 51收音机\radio_Uv2.Bak
文件 2319 2012-01-01 18:56 51收音机\radio.Uv2
文件 591264 2011-12-31 15:04 51收音机\收音机制作\原理图.pdf
............此处省略54个文件信息
- 上一篇:P.Blackburn_Modal_Logic
- 下一篇:解包boot.img工具
评论
共有 条评论