新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 用查詢定時器0溢出標志位的方式實現LED燈閃

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

        作者: 時間:2012-11-24 來源:網絡 收藏
        我來給大家一些單片機控制led燈的程序,都有詳細的注釋,有錯誤的話請大家指點。
        0的方式實現爍。
        用定時器0實現P2_0所接LED燈每60ms亮或滅一次,設系統晶振為12MHz。該例子中采用0的方法,若是為1,則執行P2_0引腳取反的語句,使爍。源程序如下:
        //程序出自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引腳取反,
        }}}

        --
        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口
        } }

        led燈相關文章:led燈原理




        評論


        技術專區

        關閉
        主站蜘蛛池模板: 新化县| 项城市| 唐山市| 兴化市| 光泽县| 阳信县| 柳林县| 宣恩县| 平远县| 隆林| 勃利县| 聊城市| 信宜市| 日喀则市| 房山区| 永昌县| 水富县| 威远县| 仙桃市| 石城县| 赤峰市| 抚顺县| 包头市| 时尚| 凤庆县| 修水县| 久治县| 江北区| 清新县| 岢岚县| 揭东县| 高碑店市| 勐海县| 溧水县| 荆门市| 贵港市| 沿河| 前郭尔| 绥化市| 正镶白旗| 阳朔县|