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

📄 main.bak

📁 单片机产生音乐程序
💻 BAK
字号:
#include "music.h"
#include "head.h"

#define MU_O P2_6							 //音乐从P2.6口输出 

/* 歌曲曲谱 - 虹彩妹妹 */
const uint HCMM[] =							 //定义数组常量-----音调(频率)   
{
	_LA, _SO, _MI, _LA, _SO, _MI,
	_LA, _LA, _SO, _LA,
	_LA, _SO, _MI, _LA, _SO, _MI,
	_RE, _RE, _DO, _RE,
	_MI, _MI, _SO, _LA, _DO1, _LA, _SO,
	_MI, _MI, _SO, _DO,
	_MI, _MI, _MI, _MI, _MI,
	_1LA,_1LA,_1SO,_1LA,
};
										  
/* 歌曲节拍 */
const uchar HCMM_L[] =						//定义数组常量-----节拍(延时时间)		 
{
	_4, _8, _8, _4, _8, _8,
	_8, _4, _8, _2,
	_4, _8, _8, _4, _8, _8,
	_8, _4, _8, _2,
	_4, _8, _8, _8, _8, _8, _8,
	_8, _4, _8, _2,
	_4, _4, _4, _8, _8,
	_8, _4, _8, _2,
};


void Timer0_int( void ) interrupt 1           
{ 
   	
   static xdata uint Count = 0;				  //为什么要定义成static??????????????
   static xdata uint add   = 0;				  // xdata------外部数据存储器???????????????????

  
  if(add >= (HCMM_L[Count]*100))
  {
    Count++;
    if(Count >= sizeof(HCMM)) Count = 0;
	add = 0;
  }
  
  add++;
  
  MU_O ^= 1;
  
  TH0 = 0xFF - HCMM[Count]/256; 		//0.01ms定时器 
  TL0 = 0xff - HCMM[Count]%256;	
  
}


/*
*********************************************************************************************************
** 函数名称 :main()
** 函数功能 :PWM音乐输出实验。	   
** 调试说明 :需要将music.h包含进来。	  
*********************************************************************************************************
*/
void main (void)
{
    TMOD = 0x21; 		//定时器1 定时方式2    0010 0001             	
    ET0=1;           		// 开定时器0中断   
	TR0=1;           		// 启动定时器0

	TH0 = 0xFF; 		//置入初值:0.1ms定时器	  
	TL0 = 0x7A;	

	TI = 1;
	TR1 = 1; 			//启动定时器	 
	EA = 1;
	P3_5 = 0;
	MU_O = 1;			 
    while(1)			//等待!!!!!!!!!!!!!!!!! 
    {
	 ; 	
    }

}

/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

⌨️ 快捷键说明

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