久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

AVR單片機學習程序(音樂合成)

作者:佚名   來源:本站原創   點擊數:  更新時間:2010年06月25日   【字體:
//AVR單片機學習程序
//名稱:音樂合成
//硬件:AVR-ATMEGA16實驗板
//編寫人:李春起
//編寫時間:2010。04。28
//修改日志:
#include<iom16v.h>  
#include <macros.h>

//-------------位拉高--------------------------------------------
#define ADC0_H PORTA|=BIT(PA0) 
#define ADC1_H PORTA|=BIT(PA1)   
#define LEDLK_H PORTA|=BIT(PA2)  //流水燈選通
#define SEGLK_H PORTA|=BIT(PA3)  //數碼管段碼選通
#define BITLK_H PORTA|=BIT(PA4)  //數碼管位選通
//#define 18B20_H PORTA|=BIT(PA5) 
#define BEEP_H PORTA|=BIT(PA6)   //蜂鳴器
#define CUSB_H PORTA|=BIT(PA7) 
//#define ~YY PORTD|=BIT(PD7)
//-------------位拉低--------------------------------------------
#define ADC0_L PORTA&=~BIT(PA0)  
#define ADC1_L PORTA&=~BIT(PA1)    
#define LEDLK_L PORTA&=~BIT(PA2)   
#define SEGLK_L PORTA&=~BIT(PA3)   
#define BITLK_L PORTA&=~BIT(PA4)   
//#define 18B20_L PORTA&=~BIT(PA5)  
#define BEEP_L PORTA&=~BIT(PA6)  
#define CUSB_L PORTA&=~BIT(PA7)  
//#define YY PORTD&=~BIT(PD7)

#define NOP() asm("nop")

#define uchar unsigned char 
#define uint unsigned int

uint a,x;

//====================音樂數據表=============================================

__flash uchar yin[]={
//《我們從這里起飛》
119,119,106,94,119,106,119,106,119,159,
119,119,106,94,89,94,106,142,126,119,94,106,94,89,79,71,79,94,106,
126,119,106,94,142,159,119,94,71,79,94,119,106,159,106,119,
119,119,89,79,71,79,71,59,71,89,71,79,79,79,94,71,79,94,119,
106,159,126,119,106,119,119,89,79,71,59,71,89,71,79,94,
59,79,94,71,79,94,119,106,159,94,106,119,
119,119,106,94,119,106,119,106,119,159,
119,119,106,94,89,94,106,142,126,119,94,106,94,89,79,71,79,94,106,
126,119,106,94,142,159,119,94,71,79,94,119,106,159,106,119,
//119,119,106,94,89,94,89,71,89,106,89,94,94,94,119,94,94,119,119,
//126,159,126,119,106,119,119,106,94,89,71,89,106,89,94,119,
//79,94,119,94,94,119,119,126,159,142,126,119,
119,119,89,79,71,79,71,59,71,89,71,79,79,79,94,71,79,94,119,
106,159,126,119,106,119,119,89,79,71,59,71,89,71,79,94,
59,79,94,71,79,94,119,106,159,94,106,119,
59,79,94,71,79,89,94,79,79,71,63,59,0,
//《你怎么說》
60,60,53,59,71,79,95,80,71,59,80,80,71,59,
53,53,59,53,47,0,39,47,53,47,47,79,71,
59,47,53,0,79,39,47,53,79,47,53,59,
59,53,47,47,39,47,53,59,71,79,59,59,53,47,94,79,94,106,94,
79,79,71,59,59,59,53,47,39,47,39,47,39,47,53,
59,53,53,59,53,47,47,53,59,53,47,39,0,79,39,47,
53,79,47,53,59,
60,60,53,59,71,79,95,80,71,59,80,80,71,59,
53,53,59,53,47,0,39,47,53,47,47,79,71,
59,47,53,0,79,39,47,53,79,47,53,59,
59,53,47,47,39,47,53,59,71,79,59,59,53,47,94,79,94,106,94,
79,79,71,59,59,59,53,47,39,47,39,47,39,47,53,
59,53,53,59,53,47,47,53,59,53,47,39,0,79,39,47,
53,79,47,53,59,
0,
//《八月桂花香》
59,71,79,71,59,79,71,59,71,79,71,59,79,
79,71,59,53,71,79,94,79,106,94,79,119,
79,71,59,79,94,106,119,106,79,71,59,79,94,106,119,106,
79,71,59,53,71,79,94,79,106,94,79,119,
79,71,59,53,71,79,94,47,59,53,47,59,0,
//《阿里山的姑娘》
94,79,94,106,94,79,71,79,94,106,94,79,94,94,106,106,
142,119,106,119,142,159,142,71,71,71,79,79,94,94,94,106,106,94,119,
142,142,106,106,106,94,79,94,94,106,94,106,119,119,106,119,142,159,142,142,
119,142,142,159,106,94,106,119,106,94,79,94,106,94,106,142,119,106,119,142,
159,142,71,71,71,79,79,94,94,106,94,106,94,119,142,142,106,106,106,94,
79,94,94,106,94,106,119,119,106,119,142,159,142,94,106,94,79,71,79,94,
106,94,79,94,106,142,119,106,119,142,159,142,71,71,71,79,79,94,94,106,
94,106,94,119,142,142,106,106,94,79,94,79,106,94,79,71,0,
71,71,71,71,71,59,53,59,71,79,94,71,79,59,71,79,106,94,79,79,106,94,106,142,
94,106,94,79,106,94,142,119,94,106,119,142,142,142,
94,106,94,79,71,79,94,
106,94,79,94,106,142,119,106,119,142,159,142,71,71,71,79,79,94,94,106,
94,106,94,119,142,142,106,106,94,79,94,79,106,94,79,71,0,
71,71,71,71,71,59,53,59,71,79,94,71,79,59,71,79,106,94,79,79,106,94,106,142,
94,106,94,79,106,94,142,119,94,106,119,142,142,142,
94,106,94,79,71,79,94,

};

//---------------------節拍表------------------------------------------------
__flash uchar time[]={
40,40,40,40,160,40,40,40,40,160,
40,40,40,40,40,40,80,40,40,40,40,160,40,40,40,40,120,20,20,
40,40,40,40,160,40,40,40,40,40,40,80,40,80,40,160,
40,40,40,40,120,20,20,40,40,40,40,160,40,40,40,40,40,40,80,
40,40,40,40,160,40,40,40,40,160,40,40,40,40,80,80,
40,40,40,40,40,40,80,40,80,20,20,160,
40,40,40,40,160,40,40,40,40,160,
40,40,40,40,40,40,80,40,40,40,40,160,40,40,40,40,120,20,20,
40,40,40,40,160,40,40,40,40,40,40,80,40,80,40,160,
//40,40,40,40,120,20,20,40,40,40,40,160,40,40,40,40,40,40,80,
//40,40,40,40,160,40,40,40,40,160,40,40,40,40,80,80,
//40,40,40,40,40,40,80,40,80,20,20,160,
40,40,40,40,120,20,20,40,40,40,40,160,40,40,40,40,40,40,80,
40,40,40,40,160,40,40,40,40,160,40,40,40,40,80,80,
40,40,40,40,40,40,80,40,80,20,20,160,
40,40,50,55,60,65,240,40,80,20,20,160,200,//198個

120,20,20,80,40,40,40,80,20,20,200,40,40,40,40,40,40,40,160,40,
40,40,40,40,40,40,40,60,40,80,40,40,40,40,40,40,40,40,255   ,120,
40,80,40,40,40,40,40,40,160,40,40,40,40,40,20,20,40,40,240,40,
40,120,40,80,40,20,20,40,40,20,20,20,20,160,40,40,40,40,40,20,
20,40,20,20,255,40,40,40,40,40,40,40,40,250,//96個
120,20,20,80,40,40,40,80,20,20,200,40,40,40,40,40,40,40,160,40,
40,40,40,40,40,40,40,60,40,80,40,40,40,40,40,40,40,40,255   ,120,
40,80,40,40,40,40,40,40,160,40,40,40,40,40,20,20,40,40,240,40,
40,120,40,80,40,20,20,40,40,20,20,20,20,160,40,40,40,40,40,20,
20,40,20,20,255,40,40,40,40,40,40,40,40,250,255,

60,20,80,20,20,20,20,80,40,40,40,40,160,60,20,40,40,40,40,80,
40,40,40,40,160,40,20,20,40,40,40,40,80,40,20,20,40,40,40,40,
80,60,20,40,40,40,40,80,40,40,40,40,160,60,20,40,40,40,40,80,
120,40,80,80,160,200,//66個

20,10,10,20,20,20,10,10,20,20,120,20,20,30,10,30,10,20,10,10,
20,20,160,20,20,20,20,20,20,40,20,20,20,20,20,20,40,30,10,20,
20,20,20,40,30,10,20,20,20,10,10,20,20,160,20,10,10,20,20,20,
10,10,20,20,120,20,20,20,20,20,20,20,10,10,20,20,160,20,20,20,
20,20,20,40,20,20,20,20,20,20,40,30,10,20,20,20,20,40,30,10,
20,20,20,10,10,20,20,160,40,20,20,20,10,10,20,20,120,20,20,60,
20,20,10,10,20,20,160,30,10,20,20,20,20,40,30,10,30,10,20,20,
40,40,20,20,40,20,20,80,60,20,255,40,//153個
30,10,20,20,20,20,20,20,40,20,20,40,20,20,40,20,20,20,20,20,20,20,
20,40,40,20,20,40,20,20,20,20,20,10,10,40,40,80,
40,20,20,20,10,10,20,20,120,20,20,60,
20,20,10,10,20,20,160,30,10,20,20,20,20,40,30,10,30,10,20,20,
40,40,20,20,40,20,20,80,60,20,255,
20,20,10,10,20,20,160,30,10,20,20,20,20,40,30,10,30,10,20,20,
40,40,20,20,40,20,20,80,60,20,255,
};
 //===================延時MS子程序===========================================
void delayms(uint m)
{
  uint i,j;
  for(i=0;i<m;i++)
  {
    for(j=0;j<10000;j++);
  }
}
//==============IO初始化=========================
void IO_init(void)
{
 DDRA  = 0xff;
 PORTA = 0XFF;
 DDRB  = 0xff;
 DDRC  = 0xff;
 DDRD  = 0xff;
}
//==============定時器T0初始化====================
void timer0_init(void)
{
 TCCR0 = 0x0B; //64分頻
 TCNT0 = 0x00;  //計數器清0
 OCR0  = 1;     //1*8/8M=8uS
 TIMSK |=0x02;  //使能OCIE0
 TIFR  |=0x02;  //清OCIF0中斷標識位
}
//==============使能全局中斷======================
void Interrupt_init()
{
  SREG|=0x80;
}
//==============初始化============================
void init(void)
{
 IO_init();
 timer0_init();
 Interrupt_init();//使能全局中斷
}
//===============主函數===========================
void main()
{
 init();
 while(1)
 {
   for(x=0;x<820;x++)
   {
     a=yin[x];
  if(a==0){DDRD=0x00;}
     else  {DDRD=0xFF;OCR0=a;}
     a=time[x];
     delayms(a);
  DDRD=0x00;
  delayms(1);
   }  
 }
}
//============定時器T0中斷服務子程序===============
#pragma interrupt_handler Timer0_Interrupt:20
void Timer0_Interrupt(void)
{
  TIFR |=0x02;
  TCNT0 =0x00;
  PORTD^=0x80;   //PD7輸出音樂
}

  
關閉窗口

相關文章

主站蜘蛛池模板: 草比av| 精品一区二区视频 | 国产精品成人品 | 搞黄网站在线观看 | 日韩精品一区二区三区中文在线 | 日韩一区二区三区在线观看 | 亚洲一区 中文字幕 | 久久综合久 | 视频一区二区国产 | 精品国产一区久久 | 毛片免费在线 | 久草在线影 | 91精品国产一区二区三区 | 国产精品乱码一区二区三区 | 久久国产精品亚洲 | а_天堂中文最新版地址 | 97视频人人澡人人爽 | 99视频| 色吧久久 | 一级在线免费观看 | 久久久久久久久久久久久久久久久久久久 | 在线观看中文字幕dvd播放 | 亚洲欧美日韩中文字幕一区二区三区 | 亚洲播放一区 | 人人澡视频| 亚洲一区国产精品 | 久久国产精99精产国高潮 | 男人天堂免费在线 | 亚洲国产精品一区二区www | 日本一二区视频 | 毛片在线免费 | 日本亚洲欧美 | 成人精品一区二区三区 | 亚洲在线视频 | 羞羞视频网站在线观看 | 久久精品国产一区二区电影 | 国产一级片在线播放 | 国产一级一片免费播放 | 日本一卡精品视频免费 | 一区二区日韩 | 一级做a爰片久久毛片 |