新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 51單片機 定時器T0方式1 控制流水燈

        51單片機 定時器T0方式1 控制流水燈

        作者: 時間:2016-11-25 來源:網(wǎng)絡(luò) 收藏
        定時器這家伙在哪里都會用到,實際工程開發(fā)中沒有能離開定時器的。所以掌握定時器就尤為重要了,這里主要提到的是最基本的使用了--用于定時。

        LED原理圖見《51單片機--流水燈演示》,定時器沒有原理圖,屬于單片機內(nèi)部資源。

        本文引用地址:http://www.104case.com/article/201611/321308.htm

        代碼如下:

        #include //頭文件
        #include
        #define uint unsigned int //宏定義
        uint jishuNumber,aa; //定義jishuNumber為計數(shù)器計滿次數(shù)(本程序20次為1S) aa代表流水號

        void main() //主函數(shù)入口
        {
        aa=0xfe; //初始化為點亮第一個LED燈
        P1=aa;
        //定時器T0方式1初始化(其它通用)
        TMOD=0x01; //①TMOD賦值,以確定T0/T1的工作方式
        TH0=(65536-46080)/256; //②計算初值,并將初始化值寫入TH0/TL0
        TL0=(65536-46080)%6;
        EA=1; //③開放相應(yīng)中斷
        ET0=1; //④TR0/TR1置位,啟動相應(yīng)定時器/計數(shù)器
        TR0=1;
        while(1)
        {
        if(jishuNumber==20) //如果1S
        {
        jishuNumber=0;
        aa=_crol_(aa,1); //把aa左旋之后賦值給aa
        P1=aa; //流水燈點亮
        }
        }
        }
        void T0_time_no1() interrupt 1 //中斷服務(wù)程序
        {
        TH0=(65536-46080)/256;
        TL0=(65536-46080)%6;
        jishuNumber++; //計滿一次加1
        }


        以上,結(jié)束。



        關(guān)鍵詞: 51單片機定時器流水

        評論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 平陆县| 大埔区| 伊金霍洛旗| 平顺县| 同仁县| 通山县| 永济市| 平昌县| 玉环县| 宿松县| 远安县| 余江县| 上犹县| 淮南市| 黄梅县| 淅川县| 汕尾市| 开封市| 新干县| 双城市| 灵武市| 隆安县| 柳河县| 泽州县| 麦盖提县| 门源| 汉川市| 精河县| 广德县| 景洪市| 孝义市| 开阳县| 静安区| 英德市| 吐鲁番市| 陵川县| 江都市| 东莞市| 西林县| 饶阳县| 青海省|