51微控制器工作於方式0的定時器模式

2021-07-28 21:44:49 字數 994 閱讀 8902

51微控制器的   模式0(13位定時器/計數器)

第一步:通過設定tmod中的m1/m0位設定,即可完成模式選擇

「00」

為模式0

(13位定時/計數模式)

「01」為模式1(16位定時/計數模式)

「10」為模式2(8位'自動重灌初'值定時/計數模式)

「11」為模式3(分割為 2個8位計數模式)

第二步:開啟總中斷(ea)、開t0中斷(et0)、啟動t0(tr0)

因為暫存器在復位後初始值都為「0」,預設屬於關閉的狀態,所以我們在使用t0中斷功能時,

需要將這些位置「1」才可啟動定t0。

第三步:根據時鐘計算並裝載合適的初值

在t0模式中,因為它只使用了tl0的低5位和th0的8位空間,剩餘3位不使用。

當tl0的低5位計數滿並溢位後(通俗點說就是超過低5位的計算的能力後就會向高位進製,與

十進位制加法同理),會向th0位進製,同樣當th0也計滿並溢位,tf0置位,此時就會中斷函式就

會向cpu傳送中斷請求,以發生中斷。

初值計算:由上面可以t0的最大計算能力為:

2的13次方=8192

由於最低位只有5位,當5位計數滿(2的5次方=32)後發生溢位並進製,所有裝初值

時要對tl0進行求模和餘。

示例程式如下:

#include"reg52.h"

#define uint unsigned int //巨集定義

#define uchar unsigned char

sbit led=p2^0;

uchar i=0;

void main()

/******t0中斷函式*******/

void timer0()interrupt 1

}

結束。

51微控制器 定時器

定時 計數器的結構和工作原理 定時 計數器的實質是加1計數器 16位 由高8位和低8位兩個暫存器組成。80c51 微控制器定時 計數器的工作是由兩個特殊功能暫存器控制的。tmod是定時 計數器的工 作方式暫存器,確定工作方式和功能,低四位用於t0,高四位用於t1。t con是控制寄 存器,控制t0和...

51微控制器 定時器

標準的51微控制器內部有t0和t1兩個定時器。定時器的計數值儲存在暫存器中。th0 tl0用於t0,th1 tl1用於t1.定時器儲存暫存器 名稱描述 sfr位址 復位值th0 t0高位元組 0x8c 0x00 tl0t0低位元組 0x8a 0x00 th1t1高位元組 0x8d 0x00 tl1t...

51微控制器(十八) 定時器0例項測試

在本文中,我們對51微控制器的定時器0進行測試。用定時器0來定時,並用來控制led閃爍。定時器0的初始化 如下所示。void init t0 void 在這個實驗中,採用定時器0的方式1進行定時。方式1為16位定時器方式。th0和tl0的初始值都設定為0x00,則定時器0的計數為由0計數到65535...