在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > AVR單片機(jī)學(xué)習(xí)程序(音樂合成)

            AVR單片機(jī)學(xué)習(xí)程序(音樂合成)

            作者: 時(shí)間:2012-10-23 來源:網(wǎng)絡(luò) 收藏

            //
            //名稱:
            //硬件:-ATMEGA16實(shí)驗(yàn)板
            //修改日志:
            #includeiom16v.h>
            #include macros.h>

            本文引用地址:http://www.biyoush.com/article/170746.htm

            //-------------位拉高--------------------------------------------
            #define ADC0_H PORTA|=BIT(PA0)
            #define ADC1_H PORTA|=BIT(PA1)
            #define LEDLK_H PORTA|=BIT(PA2) //流水燈選通
            #define SEGLK_H PORTA|=BIT(PA3) //數(shù)碼管段碼選通
            #define BITLK_H PORTA|=BIT(PA4) //數(shù)碼管位選通
            //#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;

            //====================數(shù)據(jù)表=============================================

            __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,

            };

            //---------------------節(jié)拍表------------------------------------------------
            __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個(gè)

            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個(gè)
            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個(gè)

            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個(gè)
            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,
            };
            //===================延時(shí)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;
            }
            //==============定時(shí)器T0初始化====================
            void timer0_init(void)
            {
            TCCR0 = 0x0B; //64分頻
            TCNT0 = 0x00; //計(jì)數(shù)器清0
            OCR0 = 1; //1*8/8M=8uS
            TIMSK |=0x02; //使能OCIE0
            TIFR |=0x02; //清OCIF0中斷標(biāo)識(shí)位
            }
            //==============使能全局中斷======================
            void Interrupt_init()
            {
            SREG|=0x80;
            }
            //==============初始化============================
            void init(void)
            {
            IO_init();
            timer0_init();
            Interrupt_init();//使能全局中斷
            }
            //===============主函數(shù)===========================
            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);
            }
            }
            }
            //============定時(shí)器T0中斷服務(wù)子===============
            #pragma interrupt_handler Timer0_Interrupt:20
            void Timer0_Interrupt(void)
            {
            TIFR |=0x02;
            TCNT0 =0x00;
            PORTD^=0x80; //PD7輸出
            }

            蜂鳴器相關(guān)文章:蜂鳴器原理


            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉