日常更新3
一些電路圖中常見的邏輯符號(識記): 關于機器周期的一些介紹: - 時鐘周期:單片機時序中的最小單位,具體計算的方法就是時鐘源分之一。
- 機器周期:我們的單片機完成一個操作的最短時間。
- 定時器:打開定時器后,定時器"存儲寄存器"的值經過一個機器周期自動加1,也就是說,機器周期是定時器的計數周期。
關于定時器的三大寄存器 - 定時器存儲控制器(TH0、TL0、TH1、TL1)
- 定時器控制寄存器(TCON)
- 定時器模式寄存器(TMOD)
1.定時器存儲控制器(TH0、TL0、TH1、TL1) 名稱 | 描述 | SFR地址 | 復位值 | TH0 | 定時器 | 0x8C | 0x00 | TL0 | 定時器 | 0x8A | 0x00 | TH1 | 定時器 | 0x8D | 0x00 | TL1 | 定時器 | 0x8B | 0x00 |
2.TCON—定時器控制寄存器的位分配(地址0x88(能被8整除)、可位尋址) 位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 符號 | TF1 | TR1 | TF0 | TR0 | IE1 | IT1 | IE0 | IT0 | 復位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
TCON——定時器控制寄存器的位描述 位 | 符號 | 描述 | 7 | TF1 | 定時器1溢出標志。一旦定時器1發生溢出時硬件置1。清零有兩種方式:軟件清零,或者進入定時器中斷時硬件清零。 | 6 | TR1 | 定時器1運行控制位。軟件置位/清零來進行啟動/停止定時器。 | 5 | TF0 | 定時器0溢出標志。一旦定時器0發生溢出時硬件置1。清零有兩種方式:軟件清零,或者進入定時器中斷時硬件清零。 | 4 | TR0 | 定時器0運行控制位。軟件置位/清零來進行啟動/停止定時器。 |
3.TMOD—定時器模式寄存器的位分配(地址0x89、不可位尋址) 位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 符號 | GATE(T1) | C/T(T1) | M1(T1) | M0(T1) | GATE(T0) | C/T(T0) | M1(T0) | M0(T0) | 復位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
TMOD——定時器模式寄存器的位描述 符號 | 描述 | T1/T0 | 標T1的表示控制定時器1的位,標T0的表示控制定時器0的位。 | GATE | 該位被置1時為門控位。僅當‘INT0’腳為高并且TR0控制位被置1時使能定時器0,定時器開始計時,當該位被清0時,只要TR0位被置1,定時器0就使能開始計時,不受到單片機引腳INT0外部信號的干擾,常用來測量外部信號脈沖寬度。這是定時器一個額外功能,本節課暫不介紹。 | C/T | 定時器或計數器選擇位。該位被清零時用作定時器功能(內部系統時鐘),被置1用作計數器功能。 |
關于門控位可以用來測量外部信號的脈沖寬度的介紹: 比如說這是一個高脈沖,把信號接入INT0引腳上,那么當門控位為1時,只有脈沖信號為高定時器才會開啟,而變為低時定時器就會停止計時,根據定時時間便可以測出這段高脈沖的寬度。 TMOD——定時器模式寄存器M1/M0工作模式 M1 | M0 | 工作模式 | 描述 | 0 | 0 | 0 | 兼容8048單片機的13位定時器,THn的8位和TLn的5位組成一個13位定時器。 | 0 | 1 | 1 | THn和TLn組成一個16位的定時器。 | 1 | 0 | 2 | 8位自動重裝模式,定時器溢出后THn重裝到TLn中。 | 1 | 1 | 3 | 禁用定時器1,定時器0變成2個8位定時器。 |
定時器/計數器模式1示意圖 一般初始化定時器的步驟: - 設定TMOD寄存器確定工作方式
- 給相應的定時器存儲控制器初值(TH0、TL0、TH1、TL1)
- 開啟總中斷(EA)
- 開啟相應的定時器允許中斷位(ET0、ET1)
- 開啟相應的定時器啟動位(TCON)
完整的Word格式文檔51黑下載地址:
03-定時器計數器.docx
(118.38 KB, 下載次數: 8)
2018-10-1 20:46 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|