在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 用C51寫(xiě)的單片機(jī)音樂(lè)彩燈程序

            用C51寫(xiě)的單片機(jī)音樂(lè)彩燈程序

            作者: 時(shí)間:2016-11-22 來(lái)源:網(wǎng)絡(luò) 收藏
            #include

            #define TLEDS 20//每個(gè)花樣狀態(tài)持續(xù)時(shí)間,以50mS為單位
            #define NUM_OF_LED_S 4//每種模式LED花樣數(shù)?
            typedef unsigned char uchar;
            typedef unsigned int uint;

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

            data uchar led_array_num;//當(dāng)前模式下,LED花樣狀態(tài)序號(hào)
            data uchar music_array_num;//音符的序號(hào)
            data uchar i;//模式號(hào)
            data uchar t_count_led;//用于LED狀態(tài)持續(xù)時(shí)間計(jì)時(shí)
            data uint t_count_music;//
            data uint t_yinfu;//音符持續(xù)時(shí)間

            uchar code led_array_p0[4][NUM_OF_LED_S]={{0xc0,0xc0,0xc0,0xc0},{0x38,0x38,0x38,0x38},{0x05,0x07,0x02,0x07},{0xff,0x81,0xff,0xff}};
            uchar code led_array_p2[4][NUM_OF_LED_S]={{0x07,0x0b,0x0d,0x0e},{0x07,0x09,0x0e,0x00},{0x06,0x09,0x06,0x00},{0x07,0x09,0x0e,0x00}};
            uchar code music_array_h[4][128]={{0xfc,0xfc,0xfc,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfe,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,
            0xfc,0xfc,0xfc,0xfc,0xfc,0xfd,0xfd,0xfc,0xfc,0xfc,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfe,0xfd,0xfd,
            0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfc,0xfc,0xfc,0xfc,0xfd,0xfc},
            {0xfc,0xfc,0xfd,0xfc,0xfc,0xfc,0xfd,0xfc,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfc,0xfd,
            0xfd,0xfd,0xfd,0xfd,0xfc,0xfc,0xfd,0xfc,0xfc,0xfd,0xfc},
            {0xfb,0xfb,0xfb,0xfb,0xfc,0xfc,0xfb,0xfb,0xfb,0xfb,0xfc,0xfc,0xfb,0xfb,0xfd,0xfd,0xfc,0xfc,0xfb,0xfd,0xfd,
            0xfd,0xfc,0xfc,0xfc},
            {0xfc,0xfc,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfc,0xfc,0xfc,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfc,
            0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfc,0xfc,0xfc,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfc,0xfc,0xfc}};
            uchar code music_array_l[4][128]={{0x43,0x43,0x43,0x08,0x81,0x81,0x81,0x81,0xc7,0xc7,0xc7,0x21,0x81,0x33,0x33,0x33,0xc7,0x08,0x08,0x08,0x81,0xb5,0xb5,0xb5,0xb5,0xb5,0x81,0x81,0x43,0x43,0x43,0x08,0x81,0x81,0x81,0x81,0xc7,0xc7,0xc7,0x21,0x81,0x33,0x33,0x33,0xc7,0x08,0x08,0x08,0x08,0x08,0x81,0xb5,0xb5,0xb5,0xb5,0x08,0x43},{0x43,0xb5,0x08,0x43,0x43,0xb5,0x08,0x43,0x08,0x33,0x81,0x08,0x33,0x81,0x81,0xc7,0x81,0x33,0x08,0x43,0x81,0xc7,0x81,0x33,0x08,0x43,0x43,0x81,0x43,0x43,0x81,0x43},{0x03,0x03,0x8f,0x03,0x43,0x0b,0x03,0x03,0x8f,0x03,0xb5,0x43,0x03,0x03,0x81,0x08,0x43,0x0b,0x8f,0x33,0x33,0x08,0x43,0xb5,0x43},{0x43,0x43,0x81,0x81,0xc7,0xc7,0x81,0x33,0x33,0x08,0x08,0xb5,0xb5,0x43,0x81,0x81,0x33,0x33,0x08,0x08,0xb5,0x81,0x81,0x33,0x33,0x08,0x08,0xb5,0x43,0x43,0x81,0x81,0xc7,0xc7,0x81,0x33,0x33,0x08,0x08,0xb5,0xb5,0x43}};
            uint code music_array_t[4][128]={{523,523,523,658,784,784,784,784,880,880,880,1046,784,698,698,698,880,658,658,658,784,593,593,593,593,593,784,784,523,523
            ,523,658,784,784,784,784,880,880,880,1046,784,698,698,698,880,658,658,658,658,658,784,593,593,593,593,658,523,0},{523,593,658,523,523,593,658,523,658,698,3134,658,698,3134,391,440,391,698,658,523,391,568,391,698,658,523,523,784,1046,523,784,1046,0},{391,391,880,391,523,1486,391,391,880,391,593,1569,391,391,3134,658,523,988,440,698,698,1317,523,593,1569,0},{523,523,784,784,880,880,784,698,698,658,658,593,593,523,784,784,698,698,658,658,593,784,784,698,698,658,658,593,523,523,784,784,880,880,784,698,698,658,658,593,593,523,0}};

            void delay(void)
            {
            uchar c_1;
            uchar c_2;
            uchar c_3;
            for (c_1=0; c_1< 10;c_1++)
            for(c_2 = 0;c_2< 10;c_2++)
            for(c_3 = 0; c_3<55;c_3++)
            ;
            }


            void main(void)
            {

            led_array_num = 0;
            music_array_num = 0;
            t_yinfu = music_array_t[0][0]; //初始化

            //delay();

            i = 0;
            TMOD = 0x11; //定時(shí)器工作方式設(shè)置
            TR0 = 0; //關(guān)定時(shí)器
            TR1 = 0;


            TH1 = 0x3c;
            TL1 = 0xb0;
            P0 = led_array_p0[0][0];//彩燈
            P2 = led_array_p2[0][0];
            t_count_led = 0;

            TH0 = music_array_h[0][0];//音樂(lè)
            TL0 = music_array_l[0][0];
            t_yinfu = music_array_t[0][0];
            t_count_music = 0;

            IE = 0x8a;
            TR0 = 1;
            TR1 = 1;


            //以下開(kāi)始掃描按鍵
            while(1)
            {
            P1_0 = 1;
            if(P1_0 == 0)
            {
            delay();
            if(P1_0 == 0)
            {
            TR0 = 0;
            TR1 = 0;
            i = 0;//去抖動(dòng)

            led_array_num = 0;
            music_array_num = 0;

            TH1 = 0x3c;
            TL1 = 0xb0;
            P0 = led_array_p0[0][0];//彩燈
            P2 = led_array_p2[0][0];
            t_count_led = 0;

            TH0 = music_array_h[0][0];//音樂(lè)
            TL0 = music_array_l[0][0];
            t_yinfu = music_array_t[0][0];
            t_count_music = 0;

            while(P1_0 == 0)
            {
            while(P1_0 == 0)
            t_count_music = 0;
            delay();
            }

            TR0 = 1;
            TR1 = 1;

            }


            }
            if(P1_1 == 0)
            {
            delay();
            if(P1_1 == 0)
            {
            TR0 = 0;
            TR1 = 0;
            i = 1;

            led_array_num = 0;
            music_array_num = 0;

            TH1 = 0x3c;
            TL1 = 0xb0;
            P0 = led_array_p0[1][0];//彩燈
            P2 = led_array_p2[1][0];
            t_count_led = 0;

            TH0 = music_array_h[1][0];//音樂(lè)
            TL0 = music_array_l[1][0];
            t_yinfu = music_array_t[1][0];
            t_count_music = 0;

            while(P1_1 == 0)
            {
            while(P1_1 == 0)
            t_count_music = 0;
            delay();
            }

            TR0 = 1;
            TR1 = 1;

            }


            }
            if(P1_2 == 0)
            {
            delay();
            if(P1_2 == 0)
            {
            TR0 = 0;
            TR1 = 0;
            i = 2;

            led_array_num = 0;
            music_array_num = 0;

            TH1 = 0x3c;
            TL1 = 0xb0;
            P0 = led_array_p0[2][0];//彩燈
            P2 = led_array_p2[2][0];
            t_count_led = 0;

            TH0 = music_array_h[2][0];//音樂(lè)
            TL0 = music_array_l[2][0];
            t_yinfu = music_array_t[2][0];
            t_count_music = 0;
            while(P1_2 == 0)
            {
            while(P1_2 == 0)
            t_count_music = 0;
            delay();
            }

            TR0 = 1;
            TR1 = 1;

            }

            }
            if(P1_3 == 0)
            {
            delay();
            if(P1_3 == 0)
            {
            TR0 = 0;
            TR1 = 0;
            i = 3;

            led_array_num = 0;
            music_array_num = 0;

            TH1 = 0x3c;
            TL1 = 0xb0;
            P0 = led_array_p0[3][0];//彩燈
            P2 = led_array_p2[3][0];
            t_count_led = 0;

            TH0 = music_array_h[3][0];//音樂(lè)
            TL0 = music_array_l[3][0];
            t_yinfu = music_array_t[3][0];
            t_count_music = 0;
            while(P1_3 == 0)
            {
            while(P1_3 == 0)
            t_count_music = 0;
            delay();
            }

            TR0 = 1;
            TR1 = 1;


            }

            }
            }
            }


            void Timer0IntRoute(void) interrupt 1
            {
            t_count_music++;
            P1_4 = ~P1_4;
            TH0 = music_array_h[i][music_array_num];//音樂(lè)
            TL0 = music_array_l[i][music_array_num];
            if(t_count_music >= t_yinfu)
            {
            t_yinfu = music_array_t[i][++music_array_num];
            if(t_yinfu == 0)
            {
            music_array_num = 0;
            t_yinfu = music_array_t[i][music_array_num];
            }
            TH0 = music_array_h[i][music_array_num];//音樂(lè)
            TL0 = music_array_l[i][music_array_num];
            t_count_music = 0;
            }
            }


            void Timer1IntRoute(void) interrupt 3
            {
            t_count_led++;
            TH1 = 0x3c;
            TL1 = 0xb0;
            if(t_count_led >= TLEDS)
            {
            t_count_led = 0;
            led_array_num++;
            if(led_array_num>=NUM_OF_LED_S)
            led_array_num = 0;
            P0 = led_array_p0[i][led_array_num];
            P2 = led_array_p2[i][led_array_num];
            }
            }




            關(guān)鍵詞: C51單片機(jī)音樂(lè)彩

            評(píng)論


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

            關(guān)閉