標題: 51單片機定時器溢出問題 [打印本頁]

作者: 衛(wèi)是是    時間: 2017-10-15 19:37
標題: 51單片機定時器溢出問題
#include "reg51.h"

sbit LED =P0^0;


void main()
{
        unsigned char cnt =0;
        TMOD =0X01;
        TH0 =0XDB;
        TL0 =0XFF;            //我想這個 TL0 =0XFF;(255),怎么溢出后使得   TF0 ==1的然后進入循環(huán),好像也沒什么公式讓TL0自加1啊?
        TR0 =1;

        while(1)
        {
         if(1 ==TF0)
         {
          TF0 =0;
          TH0 =0XDB;
          TL0 =0XFF;
          cnt++;
          if(cnt>=100)
          {
                  cnt =0;
                LED = ~LED;
          }
         }
        }
}


作者: yzwzfyz    時間: 2017-10-15 23:52
是由單片機中的硬件系統(tǒng)來完成的,否則,怎么叫定時器呢?
當你需要它+1時,就下令起動它。
當你不需要它+1時,就下令關(guān)閉它。
作者: wulin    時間: 2017-10-16 10:16
一旦TR0 =1定時器即開始自動計數(shù):TL0 每一個機器周期+1,加滿256即歸0并向TH0進位1,待TH0+TL0=65536時 定時器溢出標志TF0 =1,TH0、TL0全部歸0,開始下一個定時周期。
作者: apay2004    時間: 2017-10-16 11:21
樓上正解




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1