胸针厂家
免费服务热线

Free service

hotline

010-00000000
胸针厂家
热门搜索:
行业资讯
当前位置:首页 > 行业资讯

AVR单片机学习程序音乐合成

发布时间:2020-02-03 04:17:32 阅读: 来源:胸针厂家

//AVR单片机学习程序//名称:音乐合成//硬件:AVR-ATMEGA16实验板//修改日志:#includeiom16v.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;im;i++) { for(j=0;j10000;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; //计数器清0OCR0 = 1; //1*8/8M=8uSTIMSK |=0x02; //使能OCIE0TIFR |=0x02; //清OCIF0中断标识位}//==============使能全局中断======================void Interrupt_init(){ SREG|=0x80;}//==============初始化============================void init(void){IO_init();timer0_init();Interrupt_init();//使能全局中断}//===============主函数===========================void main(){init();while(1){ for(x=0;x820;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:20void Timer0_Interrupt(void){ TIFR |=0x02; TCNT0 =0x00; PORTD^=0x80; //PD7输出音乐}

蜂鸣器相关文章:蜂鸣器原理

天海翼 ed2k

柚木提娜 ed2k

古川伊织资料

水泽乃乃番号

相关阅读