久久人妻精品人妻视频五月天一区二区三区,,自慰午夜喷水久久久av国产成人a视频高在线,,欧美日韩免费专区在线97精品国产手机

  • <cite id="cwywg"></cite>
    <button id="cwywg"></button>
  • <button id="cwywg"><source id="cwywg"></source></button>
    <button id="cwywg"><tbody id="cwywg"></tbody></button>
  • <button id="cwywg"></button>
  • 
    
  • logo logo
    • BANNER
    • BANNER
    • BANNER
    您的位置 : 首頁 > 新聞資訊 > 技術(shù)支持
    51單片機用定時器0實現(xiàn)流水燈
    發(fā)布者:江蘇瑞易通電子科技有限公司 人氣:699 發(fā)布日期:2021-04-23 10:10:40

    51單片機用定時器0實現(xiàn)流水燈的代碼如下,用P1口接led燈,代碼如下都有注釋就不具體解釋了,英語不怎么好,有的地方將就一下嘍,本次主要講一下P1口怎么賦值。原先寫的都是用查表來移位的,個人感覺不怎么好,麻煩。直接用位運算的比較好。 n初始值為0,然后n每次循環(huán)都加1,P1口賦值語句為: P1=~(0x01<< n) ; 此處注意和P1=~(0xfe<< n) ; 的區(qū)別。

    /*********調(diào)用頭文件*****************/

        #include

        #include


        /***********宏定義*******************/

        #define uint unsigned int   

        #define uchar unsigned char 

        #define long_time0 10    //定時器0定時時間,每次50ms


        /************定義全局變量************/

        uint n=0;                //循環(huán)移位變量


        /************子函數(shù)聲明**************/

        void init_time0(void);   //定時器0初始化子函數(shù)


        /*************主函數(shù)*****************/

        void main(void)

        {

            init_time0();


        }


        /*********定時器0初始化函數(shù)**********/

        void init_time0(void)

        {

                EA=1;                   //開總中斷

                ET0=1;                  //開定時器0中斷

                TMOD=0X01;              //選擇方式1

                TH0=(65536-50000)/256;  //每次定時50秒

                TL0=(65526-50000)%256;

                TR0=1;                  //開啟定時器

                while(1);               //等待定時器0中斷

        }

        /************定時器中斷函數(shù)**********/

        void time0(void) interrupt 1 using 0

        {

            static uint i=0;

            i++;

            if(long_time0==i)

            {

                P1=~(0x01<

                if(++n==8)n=0;

                i=0;                    //定時時間到清零

            }

            TH0=(65536-50000)/256;      //重新裝入初值

            TL0=(65526-50000)%256;

        }




    返回新聞列表