『壹』 51單片機T0作為定時器和計數器有哪些區別
51單片機T0作為定時器和計數器的區別:變化不同,含義不同。
一、變化不同:計數器記錄外部脈沖信號,信號每變化一次,計數器才加1;而定時器則是使用單片機內部的規則脈沖信號,脈沖的間隔是相同的。
二、含義不同:定時器T1沒有方式3 ,方式3隻適合定時器T0,使其增加一個8位定時器。若定時器T1選擇方式3,T1將停止工作,相當於TR1=0的情況。在工作方式寄存器TMOD中,高4位控制定時器T1,低4位控制定時器T0。
簡介
單片機又稱單片微控制器,它不是完成某一個邏輯功能的晶元,而是把一個計算機系統集成到一個晶元上。相當於一個微型的計算機,和計算機相比,單片機只缺少了I/O設備。概括的講:一塊晶元就成了一台計算機。它的體積小、質量輕、價格便宜、為學習、應用和開發提供了便利條件。同時,學習使用單片機是了解計算機原理與結構的最佳選擇。
『貳』 51單片機定時器的計數器功能的使用
計數器1,也是計數,設置初值也是為了計數,是對外部脈沖計數,而這外部脈沖是要從P3.5輸入的。初值也是計數的需要,TL1=256-實際計數值=6,可以算出實際計數值是250。也就是需要對外部脈沖計250個才中斷一次。
你在外部加脈沖,是只加一個吧,所以,屏幕上沒有顯示,至少要加250個以上,每加250個,cou才加一個數。
『叄』 51單片機計數器怎麼使用
main()
{
//初始化哪搭巧
TMOD =0x15//定義計數器枝斗0,定時器1 。李鍵。計數T0(P3^4)IO口脈沖
TH0 =0;
TL0 =0;
ET0= 1;
EA=1;
TR0 =1;
while(1)
{
;
}
}
void timer0() interrupt 1
{
TH0=0;
TL0=0;
}
『肆』 51單片機定時計數器原理
其實就是計數器原理,所謂的定時器就是用計數器來實現的一個功能而已。
計數器的原理,很簡單,就是給個方波信號,一個方波,就加1即可,最簡單的都能用數字電子技術里的或門,與門,非門來實現的。專門做計數的晶元也是一大堆,這里我們就不討論怎麼用或門,非門,與門,做出一個計數器了吧。
那麼怎麼用計數器實現定時器的功能呢?其實很簡單,只要你給計數器的方波是規律的就可以了啊,比如做一個一秒鍾輸出一個方波的電路,然後把這個方波給計數器,即可,那麼這個計數器就是一個定時器了,假設計數器一開始是0,一個方波以後,計數器就變成了1,對吧,但是計數器的方波來源是穩定的,一秒鍾就給一個方波,那麼這個就是個1s的定時器了吧,我們可以通過計數器的數值,來確定時間了吧,這樣就可以完成定時的功能了吧。
單片機也是通過這種手段來形成的,你可能就要問了,那我單片機不是沒有方波發射的裝置嗎?對不起,單片機晶元內部自己內置了,所以你不需要自己做這個方波發生裝置,那麼單片機是用什麼來形成方波的呢?答案是你外置的晶振,單片機是通過你外部的那個晶振來實現的,而且晶振也是你單片機能跑起來的關鍵,他是單片機的CPU等內部部件工作的時間標准,比如晶振12MHZ,就是這個晶振1秒鍾,能有12M個方波形成懂吧,所以這個頻率是很高的了,但是單片機一般不在這么高的頻率上工作,所以CPU的時間單位,不是晶振的頻率,一般是要進行降頻處理的,也叫分頻,像51單片機,很多都是12分頻的,即外部晶振是12MHZ,內部CPU工作的頻率只有1MHZ,內部的計數器一般也不能在那麼高的頻率下工作,所以也是分頻的,你最需要了解的是計數器或定時器里的數值加1,對應的時間是多少,一般都是1ms這樣的整數倍。
然後計數器呢?計數器就是用晶振分頻後的方波來工作的,晶振工作穩定,頻率穩定,那麼定時器就穩定,而如果你不用定時器的時候呢?那麼計數器的計數端,就和來自晶振的方波,切斷,切換成對應的IO埠的線路即可,而外部的埠,他們的波形和頻率都不確定,所以就不是定時器了,如果你在外部,加個穩定的方波裝置,計數器也就是定時器了,只不過這個需要自己去實現,豈不是麻煩?所以一般都用單片機內部自帶的,方便而已。