• <acronym id="ibnab"><strong id="ibnab"></strong></acronym><track id="ibnab"><strike id="ibnab"></strike></track>
  • <track id="ibnab"></track><acronym id="ibnab"></acronym>
  • <pre id="ibnab"><ruby id="ibnab"></ruby></pre>
  • <td id="ibnab"><noscript id="ibnab"></noscript></td>
  • <p id="ibnab"><label id="ibnab"></label></p>
  • 專注電子技術學習與研究
    當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

    用查詢定時器0溢出標志位的方式實現LED燈閃爍

    作者:佚名   來源:本站原創   點擊數:  更新時間:2009年06月21日   【字體:

    接下來幾篇文章,我來給大家一些單片機控制led燈的程序,都有詳細的注釋,有錯誤的話請大家指點。
    用查詢定時器0溢出標志位的方式實現LED燈閃爍。
    用定時器0實現P2_0所接LED燈每60ms亮或滅一次,設系統晶振為12MHz。該例子中采用查詢定時器0溢出標志位的方法,若是溢出標志位為1,則執行P2_0引腳取反的語句,使LED燈閃爍。源程序如下:
    //程序出自51hei單片機
    #include "reg51.h"  //頭文件
    sbit P2_0=P2^0;    //定義P2_0為P2口的0引腳
    void main()  //主函數
    {P2=0xff;   //熄滅所有LED燈
    TMOD=0x01;  //定時器模式1,16位計數
    TH0=0x15;   //設置計數初值5536,則計數值為60000,對于12M時鐘,相當于60ms
    TL0=0xa0;   //設置定時器低8位
    TR0=1;    //啟動定時器0
    for(;;)   //無限循環
    {if(TF0)  //查詢定時器0溢出標志位,如果溢出標志位為1,則執行如下語句
    {TF0=0;   //清零標志位
    TH0=0x15; //重置定時器高8位
    TL0=0xa0; //重置定時器低8位
    P2_0=!P2_0;  //將P2_0引腳取反,LED燈閃爍
    }}}

    --
    P3.4~7引腳相連的按鍵控制P2.0~3連接的LED燈。
    #include <AT89X51.H>
    unsigned char temp;   //定義變量temp
    void main(void)      //主函數
    {
    while(1)    //無限循環
    {temp=P3>>4;  //將P3口右移4位
    temp=temp | 0xf0;  //將P3口的低4位送temp
    P2=temp;           //將P3口的低4位送P2口
    } }

    關閉窗口

    相關文章

    国产A片好看
  • <acronym id="ibnab"><strong id="ibnab"></strong></acronym><track id="ibnab"><strike id="ibnab"></strike></track>
  • <track id="ibnab"></track><acronym id="ibnab"></acronym>
  • <pre id="ibnab"><ruby id="ibnab"></ruby></pre>
  • <td id="ibnab"><noscript id="ibnab"></noscript></td>
  • <p id="ibnab"><label id="ibnab"></label></p>