⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tda7313.c

📁 可以驱动TDA7313芯片工作,是一个很好的程序.
💻 C
字号:
#include <reg51.h>										//include public header files
#include <string.h>
#include <stdio.h>
#include <intrins.h>
#include "display2.h"
#include "display1628.h"



extern void DispSetStatus(unsigned char );
extern void WrToTDA(unsigned char );

#define uint unsigned int
#define uchar unsigned char
uchar treble=7;	  /*offset of the treble*/
uchar bass=7;	  /*offset of the bass*/
uchar temble=30;  /*offset of the volume*/
uchar VOL=30;
uchar code Cvolume[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07, /* 0 -- -8.75db */
				      0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f, /*-10-- -18.75db	*/
					  0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17, /*-20-- -28.75db	*/
					  0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f, /*-30-- -38.75db	*/
					  0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27, /*-40-- -48.75db	*/
					  0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f, /*-50-- -58.75db	*/
					  0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37, /*-60-- -68.75db	*/
					  0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f, /*-70-- -78.75db	*/
					  };

uchar code bas_and_tre[]={ 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,	/* -14 -- 0db*/
                           0x0e,0x0d,0x0c,0x0b,0x0a,0x09,0x08,		/* 2 -- 14db*/
                          };											

void initialTDA()
{ 
   WrToTDA(0x40);
   _nop_();_nop_();
   WrToTDA(0xB8);
   _nop_();_nop_();
   WrToTDA(0x80);
   _nop_();_nop_();
   WrToTDA(0xa0);
   _nop_();_nop_();
   WrToTDA(0xc0);
   _nop_();_nop_();
   WrToTDA(0xe0);
   _nop_();_nop_();
    WrToTDA(0x2f);
  _nop_();_nop_();
}

void addvol()
{  
   
   if(Cvolume[temble]==0) return;
     temble--;VOL++;
     WrToTDA(Cvolume[temble]);
   
  
}

void subvol()
{ 
   //PLAY_CTRL *play_ctrl;
   if(Cvolume[temble]==0x3f) return;
      temble++;VOL--;
   WrToTDA(Cvolume[temble]);
}

void addtreble()        //高音调节加
{  
      uchar temp=0x70;
	   if(treble==14) return;
      temp=temp|bas_and_tre[treble++];
      WrToTDA(temp);
}

void subtreble()        //高音调节减
{
      uchar temp=0x70;
      if(treble==0) return;
	   temp=temp|bas_and_tre[treble--];
      WrToTDA(temp);
}

void subbass()          //低音调节加
{
      uchar temp=0x60;
      if(treble==14) return;
	  temp=temp|bas_and_tre[treble++];
      WrToTDA(temp);
}

void addbass()          //低音调节减
{
      uchar temp=0x60;
      if(treble==0) return;
	  temp=temp|bas_and_tre[treble--];
      WrToTDA(temp);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -