<th id="zkbpb"><track id="zkbpb"></track></th><li id="zkbpb"><acronym id="zkbpb"></acronym></li>
<button id="zkbpb"><acronym id="zkbpb"></acronym></button>
<tbody id="zkbpb"></tbody>
  • <em id="zkbpb"></em>

    <em id="zkbpb"><ruby id="zkbpb"><input id="zkbpb"></input></ruby></em>
    <button id="zkbpb"><object id="zkbpb"></object></button>
    專注電子技術學習與研究
    當前位置:單片機教程網 >> 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.hangtai168.com.cn/mcu/696.html,另外使用定時器也是非常簡單的.

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

    關閉窗口

    相關文章