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

📄 bt1029.c

📁 音乐控制程序
💻 C
字号:
//-----------------------函数声明,变量定义--------------------------------------------------------
#include <AT89X55.H>
#include <intrins.h>
#include"bt1029.h"
void latch()
{   
     DATA=1;   /*判断发送位*/               
     SCL=0;               /*置时钟线为高,通知被控器开始接收数据位*/
      _Nop();               /*保证时钟高电平周期大于4μs*/
      _Nop();  
      // _Nop();               /*保证时钟高电平周期大于4μs*/
      //_Nop(); 
     SCL=1;
	  //_Nop();               /*保证时钟高电平周期大于4μs*/
      //_Nop();
	  _Nop();               /*保证时钟高电平周期大于4μs*/
      _Nop(); 
 	  SCL=0;
	 _Nop(); 
     DATA=1;   /*判断发送位*/               
     SCL=0;               /*置时钟线为高,通知被控器开始接收数据位*/
      //_Nop();               /*保证时钟高电平周期大于4μs*/
      //_Nop();  
       _Nop();               /*保证时钟高电平周期大于4μs*/
      _Nop(); 
     SCL=1;
	 _Nop();               /*保证时钟高电平周期大于4μs*/
      _Nop();
	   _Nop();               /*保证时钟高电平周期大于4μs*/
      _Nop(); 
 	  DATA=1;
	  _Nop();               /*保证时钟高电平周期大于4μs*/
      _Nop();
	   _Nop();               /*保证时钟高电平周期大于4μs*/
      _Nop(); 
	  SCL=0;

	}
 
/*******************************************************************
                 字节数据传送函数               
函数原型: void  SendByte(uchar c);
功能:  将数据c发送出去,可以是地址,也可以是数据,发完后等待应答,并对
     此状态位进行操作.(不应答或非应答都使ack=0 假)     
     发送数据正常,ack=1; ack=0表示被控器无应答或损坏。
********************************************************************/
void  SendNBit(uchar n,uchar c)
{
 uchar BitCnt=0;
 
 for(BitCnt=0;BitCnt<n;BitCnt++)  /*要传送的数据长度为8位*/
    {   
     if((c>>BitCnt)&0x01)DATA=1;   /*判断发送位*/
       else  DATA=0;                
     SCL=0;               /*置时钟线为高,通知被控器开始接收数据位*/
      _Nop();               /*保证时钟高电平周期大于4μs*/
      _Nop();       
     SCL=1;
	  _Nop();               /*保证时钟高电平周期大于4μs*/
      _Nop();
	 SCL=0;
 
    }
}

/************************************/
/**BT1029音量调节
/************************************/
void  SendBT1029(uchar n,uchar vol)
       {  uchar vol1,vol2;
	      vol1=vol/4;
          vol2=vol%4;
	      SendNBit(2,n);
          SendNBit(5,vol1);
          SendNBit(2,vol2);
		  latch();
       }
   

⌨️ 快捷键说明

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