新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > C語言使用定時器的方法控制LED燈以1S的速度閃亮

        C語言使用定時器的方法控制LED燈以1S的速度閃亮

        作者: 時間:2016-11-30 來源:網絡 收藏
        最近因為趕不上提高班的進度,老師給的教程總是斷斷續續的,所以我打算跟11月1號通過考試的網友們一起學習,呵呵,這也是我一教訓來著,在三維里學習要堅持一步一個腳印,堅持必有奇跡,但也要跟得上大家,以后再忙也要努力實現計劃了,不能再像這次一樣,因為所謂的考試落下了好幾堂課,不過也沒有關系,能夠吸取點教訓總是好的。我可以先給自己點時間多學些其它的基礎知識。

        今天開始學單片機的計數器了,呵呵,可能是一直因為用C語言編程序我定時老是定不準的原因,當得知學會定時/計數器后可以讓單片機C語言定時準確后,我感覺學它真的很有動力,雖然編一個簡單的程序也花了我好長時間,但編出來的感覺卻是那么的爽快,我覺得要學會定時/計數器,關鍵是要學會編程控制 TCOM,TMOD,及TH和TL吧。主要是TH和TL的準確運算。還有就是完時以后怎么樣讓其跟循環語句配合使用。

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

        今天所編的程序是利用單片機定時器控制LED燈以1S的速度閃爍,我的晶振是12MHZ的,首先是讓計時器0.02S進行一次溢出,使TF1=1,其次是利用I++循環50次,加起來為1S。程序如下:

        #include
        sbit LED = P1^2;
        void main()
        {unsigned char i;
        TMOD |= 0x10;
        TMOD &= 0xdf;
        TH1 = 0xb1;
        TL1 = 0xdf;
        TCON |= 0x40;
        while(1)
        {
        if(TF1==1)
        {
        TF1 = 0;
        TH1 = 0xb1;
        TL1 = 0xdf;
        i++;
        if(i==50)
        {
        i=0;
        LED=~LED;
        }
        }
        }
        }



        關鍵詞: C語言定時器LED

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 鸡东县| 嵊州市| 万山特区| 阿克| 永兴县| 黄山市| 兰西县| 南江县| 广西| 达拉特旗| 长岛县| 南安市| 筠连县| 灵山县| 小金县| 三台县| 汕尾市| 福鼎市| 扬州市| 甘南县| 出国| 新河县| 都江堰市| 余江县| 平罗县| 云梦县| 景宁| 萍乡市| 延安市| 曲阜市| 苗栗县| 潢川县| 曲松县| 双辽市| 汝州市| 罗山县| 平南县| 荣昌县| 衡南县| 濮阳县| 大余县|