• 大小: 3.41MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-09
  • 语言: 其他
  • 标签:

资源简介

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个文件信息

评论

共有 条评论

相关资源