<object id="k0taz"><form id="k0taz"></form></object>
<pre id="k0taz"></pre>
      1. <table id="k0taz"></table>
        <bdo id="k0taz"><center id="k0taz"></center></bdo>
        <table id="k0taz"><option id="k0taz"></option></table><track id="k0taz"><ruby id="k0taz"></ruby></track>
        專注電子技術學習與研究
        當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

        如何嚴格1秒點亮一次

        作者:逍遙王   來源:原創   點擊數:  更新時間:2009年11月26日   【字體:

          C51設計,單片機晶振為11.0592MHz。P1.5口每1秒鐘輸出一次高電平或低電平,但高低電平時長不一樣。還請各位高手幫我改進一下。
        我也采用過for語句,但是設計不成嚴格的1s輸出一次的方式。

        #include<reg52.h>
        sbit D1=P1^5;
        unsigned int a;
        void main()
        {
         while(1)
         { a=46500;
          D1=0;
          while(a--);
          a=45701;
          D1=1;
          while(a--);
         }
        }
         

        -----------------------

        版主回復:

         你上面這個延時是非常不精確,具體你可以看keil 里面的匯編文件就可分析出原因來,本站曾經發表過一篇精確延時的文章,希望對你有幫助 http://www.xiaowoshenghuoquan.cn/mcu/696.html,另外使用定時器也是非常簡單的.

        一般如果是用循環延時使用12M的晶振要方便些,如果是定時器則是用11.0592的要方便和精確一些.

        關閉窗口

        相關文章

        欧美国产伦久久久久_亚洲爽爽一区二区三区_一色屋精品视频在线观看免费_久久伊人成色777综合网
        <object id="k0taz"><form id="k0taz"></form></object>
        <pre id="k0taz"></pre>
          1. <table id="k0taz"></table>
            <bdo id="k0taz"><center id="k0taz"></center></bdo>
            <table id="k0taz"><option id="k0taz"></option></table><track id="k0taz"><ruby id="k0taz"></ruby></track>