在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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)用 > 利用蜂鳴器和單片機(jī)演奏簡(jiǎn)單的音樂電路設(shè)計(jì)

            利用蜂鳴器和單片機(jī)演奏簡(jiǎn)單的音樂電路設(shè)計(jì)

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

            ET0=1; EA=1;

            TR0=0; TR1=1;

            while(point=point2)

            {

            sl=ts%10; /* 計(jì)算出音符 */

            sh=ts/100; /* 計(jì)算出是否升半 */

            sm=ts/10%10; /* 計(jì)算出高低音 */

            hz=ftab[stab[sl-1]+sh]; /* 查出對(duì)應(yīng)音符的頻率 */

            if(sl!=0)

            {

            if (sm==1) hz>>=2; /* 若是低音 */

            if (sm==3) hz=2; /* 若是高音 */

            sc=(50000/hz)*10/plen; /* 計(jì)算脈沖個(gè)數(shù) */

            sc=65536-sc; /* 計(jì)算計(jì)數(shù)器初值 */

            sc0=sc%256; /* 算出TL0 應(yīng)裝初值 */

            sc1=sc/256; /* 算出TH0 應(yīng)裝初值 */

            TH0=sc1; /* 裝入初值 */

            TL0=sc0+12; /* 加12 是對(duì)中斷延時(shí)的補(bǔ)償 */

            }

            slen=ltab[tl%10]; /* 算出是幾分音符 */

            xg=tl/10%10; /* 算出音符類型(0 普通1 連音2 頓音) */

            fd=tl/100;

            len=len0/slen; /* 算出連音音符的長(zhǎng)度(多少個(gè)10ms)*/

            if (fd==1) len=len+len/2;

            if(xg!=1)

            if(xg==0) /* 算出普通音符的長(zhǎng)度 */

            if (slen=4)

            len1=len-len4;

            else

            len1=len*yx;

            else

            len1=len/2; /* 算出頓音的長(zhǎng)度 */

            else

            len1=len;

            if(sl==0) len1=0;

            len2=len-len1; /* 算出不發(fā)音的長(zhǎng)度 */

            if (sl!=0)

            {

            TR0=1;

            for(i=len1;i>0;i--) /* 發(fā)規(guī)定長(zhǎng)度的音 */

            {

            while(TF1==0);

            TH1=tc1; TL1=tc0;

            TF1=0;

            }

            }

            if(len2!=0)

            {

            TR0=0; speaker=1;

            for(i=len2;i>0;i--) /* 音符間的間隔 */

            {

            while(TF1==0);

            TH1=tc1; TL1=tc0;

            TF1=0;

            }

            }

            point+=2; /* 音符指針下移 */

            ts=sound[point]; tl=sound[point+1]; /* 讀出下一個(gè)音符和它時(shí)時(shí)值 */

            }

            }

            void yin() interrupt 1 /* 音符發(fā)生程序(中斷服務(wù)程序)*/

            {

            speaker=~speaker;

            TH0=sc1; TL0=sc0;

            }

            //==============================================

            main()

            {

            while(1)

            {

            play(sound,0,2,60,0,57);

            play(sound,0,1,60,0,57);

            play(sound,0,3,60,0,57);

            play(sound,0,2,40,0,57);

            play(sound,5,2,60,0,57);

            play(sound,0,2,80,0,57);

            }

            }

            塵埃粒子計(jì)數(shù)器相關(guān)文章:塵埃粒子計(jì)數(shù)器原理
            蜂鳴器相關(guān)文章:蜂鳴器原理

            上一頁 1 2 下一頁

            評(píng)論


            相關(guān)推薦

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

            關(guān)閉