22
第6第 第第第第第第

第 6 章

  • Upload
    ovidio

  • View
    14

  • Download
    0

Embed Size (px)

DESCRIPTION

第 6 章. 計時與計數器. 相關 SFR. P_Timebase_Setup 暫存器 P_TimerA_Ctrl 暫存器 P_TimerA_Data 暫存器 ( 時間常數 ) P_TimerB_Ctrl 暫存器 P_TimerB_Data 暫存器 ( 時間常數 ) P_INT_Ctrl 暫存器. 時基信號產生器的結構. P_Timebase_Setup 暫存器. Timebase 頻率選擇. TimerA 結構. P_TimerA_Ctrl 暫存器. 時脈源 A 選擇位元 b2 - b0. 時脈源 B 選擇位元 b5 - b3. - PowerPoint PPT Presentation

Citation preview

Page 1: 第 6 章

第 6 章

計時與計數器

Page 2: 第 6 章

2

相關 SFR P_Timebase_Setup 暫存器 P_TimerA_Ctrl 暫存器 P_TimerA_Data 暫存器 ( 時間常數 ) P_TimerB_Ctrl 暫存器 P_TimerB_Data 暫存器 ( 時間常數 ) P_INT_Ctrl 暫存器

Page 3: 第 6 章

3

時基信號產生器的結構

Page 4: 第 6 章

4

P_Timebase_Setup 暫存器

b15- b4 b3 b2 b1 b0

--- TMB2 頻率選擇 TMB1 頻率選擇

Page 5: 第 6 章

5

Timebase 頻率選擇

b3 b2 TMB2 b1 b0 TMB1

0 0 128Hz* 0 0 8Hz**

0 1 256Hz 0 1 16Hz

1 0 512Hz 1 0 32Hz

1 1 1024Hz 1 1 64Hz

* :預設的 TMB2 輸出頻率為 128Hz

** :預設的 TMB1 輸出頻率為 8Hz

Page 6: 第 6 章

6

TimerA 結構

Page 7: 第 6 章

7

P_TimerA_Ctrl 暫存器

b15–b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0

---工作週期設定位元

(表 6.4 )時脈源 B 選擇位元

( 表 6.6)時脈源 A 選擇位元

( 表 6.5)

Page 8: 第 6 章

8

時脈源 A 選擇位元 b2 - b0b2 b1 b0 時脈源 A 的頻率

0 0 0 Fosc/2

0 0 1 Fosc/256

0 1 0 32768Hz

0 1 1 8192Hz

1 0 0 4096Hz

1 0 1 1

1 1 0 0*

1 1 1 EXT1

Page 9: 第 6 章

9

時脈源 B 選擇位元 b5 - b3b5 b4 b3 時脈源 B 的頻率

0 0 0 2048Hz

0 0 1 1024Hz

0 1 0 256Hz

0 1 1 TMB1

1 0 0 4Hz

1 0 1 2Hz

1 1 0 1*

1 1 1 EXT2

Page 10: 第 6 章

10

工作週期設定位元 b9-b6b9 b8 b7 b6 脈寬工作週期 (APWMO) TAON

0 0 0 0 關閉 0

0 0 0 1 1/16 1

0 0 1 0 2/16 1

0 0 1 1 3/16 1

0 1 0 0 4/16 1

0 1 0 1 5/16 1

0 1 1 0 6/16 1

0 1 1 1 7/16 1

1 0 0 0 8/16 1

1 0 0 1 9/16 1

1 0 1 0 10/16 1

1 0 1 1 11/16 1

1 1 0 0 12/16 1

1 1 0 1 13/16 1

1 1 1 0 14/16 1

1 1 1 1 TAOUT 觸發訊號 1

Page 11: 第 6 章

11

TimerB 結構

Page 12: 第 6 章

12

P_TimerB_Ctrl 暫存器

b15 - b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0

--- 工作週期設定位元

( 表 6.8)---

時脈源 C 選擇位元 ( 表 6.5)

Page 13: 第 6 章

13

時脈源 C 選擇位元 b2 - b0b2 b1 b0 時脈源 C 的頻率

0 0 0 Fosc/2

0 0 1 Fosc/256

0 1 0 32768Hz

0 1 1 8192Hz

1 0 0 4096Hz

1 0 1 1

1 1 0 0*

1 1 1 EXT1

Page 14: 第 6 章

14

工作週期的設定b9 b8 b7 b6 脈寬工作週期 (BPWMO) TBON

0 0 0 0 關閉 0

0 0 0 1 1/16 1

0 0 1 0 2/16 1

0 0 1 1 3/16 1

0 1 0 0 4/16 1

0 1 0 1 5/16 1

0 1 1 0 6/16 1

0 1 1 1 7/16 1

1 0 0 0 8/16 1

1 0 0 1 9/16 1

1 0 1 0 10/16 1

1 0 1 1 11/16 1

1 1 0 0 12/16 1

1 1 0 1 13/16 1

1 1 1 0 14/16 1

1 1 1 1TBOUT

觸發訊號 1

Page 15: 第 6 章

15

Source A Frequency 內建常數C_SourceA_Fosc2 Fosc / 2

C_SourceA_Fosc256 Fosc / 256

C_SourceA_32768Hz 32768 Hz

C_SourceA_8192Hz 8192 Hz

C_SourceA_4096Hz 4096 Hz

C_SourceA_1 1

C_SourceA_0

C_SourceA_Ext1

0

EXT1 (IOB2)

Page 16: 第 6 章

16

Source B Frequency 內建常數C_SourceB_2048Hz 2048 Hz

C_SourceB_1024Hz 1024 Hz

C_SourceB_256Hz 256 Hz

C_SourceB_TMB1 TMB1

C_SourceB_4Hz 4 Hz

C_SourceB_2Hz 2 Hz

C_SourceB_1 1

C_SourceB_Ext2 EXT2 (IOB3)

Page 17: 第 6 章

17

Source C Frequency 內建常數C_SourceC_Fosc2 Fosc / 2

C_SourceC_Fosc256 Fosc / 256

C_SourceC_32768Hz 32768 Hz

C_SourceC_8192Hz 8192 Hz

C_SourceC_4096Hz 4096 Hz

C_SourceC_1 1

C_SourceC_0 0

C_SourceC_Ext1 EXT1 (IOB2)

Page 18: 第 6 章

18

TMB1 Frequency 內建常數 C_TMB1_8Hz 8 Hz C_TMB1_16Hz 16 Hz C_TMB1_32Hz 32 Hz C_TMB1_64Hz 64 Hz

Page 19: 第 6 章

19

規劃 TimerA 計時 1 秒 以 TimerA 計數頻率選擇 2048Hz 要完成 1 秒的定時,計數次數應該為 2048

次,轉換為 16 進制數為 800 , 0xFFFF-0x0800+1=0xF800 *P_TimerA_Ctrl = C_SourceA_1 + C_So

urceB_2048Hz; *P_TimerA_Data =0xF800;

Page 20: 第 6 章

20

規劃 TimerA 計時 1 秒 以 TimerA 計數頻率選擇 Fosc/ 2 Hz 24576000/2=12288000 ,超出 16bit 計數範圍,

用2層,即先降頻至 8000Hz ,在 ISR 中計數 8000 次即一秒

24576000/(2*Y)=8000 Y=1536=(600)H , 計數初值 0xFFFF-0x0600 +1 = 0xFA00 。 *P_TimerA_Ctrl = C_SourceA_Fosc2 + C_Sour

ceB_1; *P_TimerA_Data =0xFA00; 或者寫 *P_TimerA_Data = 65536 – 1536;

Page 21: 第 6 章

21

TMB2 Frequency 內建常數 C_TMB2_128Hz 128 Hz C_TMB2_256Hz 256 Hz C_TMB2_512Hz 512 Hz C_TMB2_1024Hz 1024 Hz

Page 22: 第 6 章

22

範例 6-1 0.5 秒單燈左移 (TimerA)