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

📄 wxmusic.c

📁 cc1100通讯源代码
💻 C
字号:
/****************************************************************************
* *功能描述:无线音乐试验,用无线摇控器可以选择当前播放的歌曲,并在数码管上
		显示出来。可以用摇控器控制歌曲的上一首和下一首,以及歌曲播放
		与停止。按摇控器的S3进入下一曲,按S4进入上一曲,按S2停止/播
		放歌曲。
****************************************************************************/

#include "mydefine.h"
#include "CC1100.h"
#include "cpu.h"


sbit BEEP = P2^0;

//****************************************************************************
//变量定义
//****************************************************************************
unsigned char gq;				//歌曲选择
unsigned char DisplayBuf[6];
extern unsigned char music;				//歌曲指针
unsigned char run;		//歌曲运行与否
///////////////////////////////////////////////////////////////////////////////




//*****************************************************************************
//函数名:void delay(unsigned int n)
//功能描述:普通廷时函数
//*****************************************************************************
void delay(unsigned int n)
{
	INT16U i;
	for(i=0; i<n; i++);
	for(i=0; i<n; i++);
	for(i=0; i<n; i++);
	for(i=0; i<n; i++);
	for(i=0; i<n; i++);
	for(i=0; i<n; i++);
}



///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
/////////////////////////////////主程序////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
main()
{
	INT8U arrRx[4];
	PCA0MD &= ~0x40;	//关闭看门狗
	PORT_Init();		//I/O口初始化。
	Internal_Crystal();	//内部晶振。
	Timer0_Init();		//初始化定时器0。
	Init_CC1100();		//初始化CC1100
	Timer1_Init();
	PWMInit();			//串口初始化。
	gq = 0;
	run = 1;
	DisplayBuf[0] = NOP;
	DisplayBuf[1] = NOP;		//空显示
	DisplayBuf[2] = 0;		//O
	DisplayBuf[3] = 27;		//N
	DisplayBuf[4] = 22;		//-
	DisplayBuf[5] = gq+1;		//歌曲
	EA = 1;
	TR1 = 1;
	while(1)
	{
		if(halRfReceivePacket(arrRx,4))
		{
			if(arrRx[1] == 0xbb)//收到的时摇控器的数据
			{
				if(arrRx[2] == 0x01)//歌曲加
				{
					if(gq < 4)gq += 1;
					music = 0;
					TR1 = 1;
					DisplayBuf[5] = gq+1;
				}
				else if(arrRx[2] == 0x02)//歌曲减
				{
					if(gq > 0)gq -= 1;
					music = 0;
					TR1 = 1;
					DisplayBuf[5] = gq+1;
				}
				else if(arrRx[2] == 0x03)//播放/停止键
				{
					if(run == 1)
					{
						run = 0;
						CR = 0;		//停止播放。
						BEEP = 0;	//停在三极管截止状态。
						DisplayBuf[1] = 0;		//0
						DisplayBuf[2] = 0x10;		//F
						DisplayBuf[3] = 0x10;		//F
					}
					else
					{
						run = 1;
						CR = 1;				//开始播放
						DisplayBuf[1] = NOP;		//空显示
						DisplayBuf[2] = 0;		//O
						DisplayBuf[3] = 27;		//N
					}
				}
					
				delay(60000);
			}
		}
	}
}

⌨️ 快捷键说明

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