?? timer.h
字號:
位7-0:
RCAP2H:定時器2 捕捉寄存器的高字節
當定時器2 被配置為捕捉方式時,RCAP2H 寄存器捕捉定時器2 的高字節。當
定時器2 被配置為自動重裝載方式時,它保存重載值的高字節。
TL2:定時器2 低字節
R/W R/W R/W R/W R/W R/W R/W R/W 復位值00000000
位7 位6 位5 位4 位3 位2 位1 位0 SFR地址:0xCC
位7-0:
TL2:定時器2 的低字節
TL2 寄存器保存16 位定時器2 的低字節。
TH2:定時器2 高字節
R/W R/W R/W R/W R/W R/W R/W R/W 復位值00000000
位7 位6 位5 位4 位3 位2 位1 位0 SFR地址:0xCD
位7-0:
TH2:定時器2 的高字節
TH2 寄存器保存16 位定時器2 的高字節。
*************************************************************************************/
// 常量定義:無
/************************************************************************************
TMR3CN:0x91,定時器3 控制寄存器
R/W R/W R/W R/W R/W R/W R/W R/W 復位值
TF3 - - - - TR3 T3M T3XCLK 00000000
位7 位6 位5 位4 位3 位2 位1 位0 SFR地址:0x91
位7: TF3:定時器3 溢出標志
當定時器3 從0xFFFF 到0x0000 溢出時由硬件置位。當定時器3 中斷被允許時,
該位置‘1’使CPU 轉向定時器3 的中斷服務程序。該位不能由硬件自動清0,
必須用軟件清0。
位6-3: 未用。讀=0000b,寫=忽略。
位2: TR3:定時器3 運行控制
該位允許/禁止定時器3
0:定時器3 禁止。
1:定時器3 允許。
位1: T3M:定時器3 時鐘選擇
該位控制提供給計數器/定時器3 的系統時鐘的分頻數。
0:計數器/定時器3 使用系統時鐘的12 分頻。
1:計數器/定時器3 使用系統時鐘。
位0: T3XCLK:定時器3 外部時鐘選擇
該位選擇外部振蕩器輸入的8 分頻作為定時器3 的時鐘源。當T3XCLK 為邏
輯‘1’時,T3M(TMR3CN.1)位被忽略。
0:定時器3 的時鐘源由T3M(TMR3CN.1)位定義。
1:定時器3 的時鐘源外部振蕩器輸入的8 分頻。
*************************************************************************************/
// 常量定義:
#define TF3 0x80
#define TR3 0x04
#define T3M 0x02
#define T3XCLK 0x01
/************************************************************************************
T3定時器計數值寄存器
TMR3RLL:定時器3 重載寄存器低字節
R/W R/W R/W R/W R/W R/W R/W R/W 復位值00000000
位7 位6 位5 位4 位3 位2 位1 位0 SFR地址:0x92
位7-0:
TMR3RLL:定時器3 重載寄存器的低字節
定時器3 被配置為自動重裝載定時器。該寄存器保存重載值的低字節。
TMR3RLH:定時器3 重載寄存器高字節
R/W R/W R/W R/W R/W R/W R/W R/W 復位值00000000
位7 位6 位5 位4 位3 位2 位1 位0 SFR地址:0x93
位7-0:
TMR3RLH:定時器3 重載寄存器的高字節
定時器3 配置為自動重裝載定時器。該寄存器保存重載值的高字節。
TMR3L:定時器3 低字節
R/W R/W R/W R/W R/W R/W R/W R/W 復位值00000000
位7 位6 位5 位4 位3 位2 位1 位0 SFR地址:0x94
位7-0:
TMR3L:定時器3 的低字節
TMR3L 寄存器為定時器3 的低字節。
TMR3H:定時器3 高字節
R/W R/W R/W R/W R/W R/W R/W R/W 復位值00000000
位7 位6 位5 位4 位3 位2 位1 位0 SFR地址:0x95
位7-0:
TMR3H:定時器3 的高字節
TMR3H 寄存器為定時器3 的高字節。
*************************************************************************************/
// 常量定義:無
/************************************************************************************
T4CON:0xC9,定時器4 控制寄存器
R/W R/W R/W R/W R/W R/W R/W R/W 復位值
TF4 EXF4 RCLK1 TCLK1 EXEN4 TR4 C/T4 CP/RL4 00000000
位7 位6 位5 位4 位3 位2 位1 位0
SFR地址:0xC9
位7: TF4:定時器4 溢出標志
當定時器4 從0xFFFF 到0x0000 溢出時由硬件置位。當定時器4 中斷被允許時,
該位置1 導致CPU 轉向定時器4 的中斷服務程序。該位不能由硬件自動清0,
必須用軟件清0。當RCLK1 和/或TCLK1 為邏輯1 時,TF4 不會被置位。
位6: EXF4:定時器4 外部標志
當T4EX 輸入引腳的負跳變導致發生捕捉或重載并且EXEN4 為邏輯1 時,該
位由硬件置位。在定時器4 中斷被允許時,該位置‘1’使CPU 轉向定時器4
的中斷服務程序。該位不能由硬件自動清0,必須用軟件清0。
位5: RCLK1:UART1 接收時鐘標志
選擇UART1 工作在方式1 或3 時接收時鐘使用的定時器。
0:定時器1 溢出作為接收時鐘。
1:定時器4 溢出作為接收時鐘。
位4: TCLK1:UART1 發送時鐘標志
選擇UART1 工作在方式1 或3 時發送時鐘使用的定時器。
0:定時器1 溢出作為發送時鐘。
1:定時器4 溢出作為發送時鐘。
位3: EXEN4:定時器4 外部允許
當定時器4 不是工作在波特率發生器方式時,允許T4EX 上的負跳變觸發
捕捉或重載。
0:T4EX 上的負跳變被忽略。
1:T4EX 上的負跳變導致一次捕捉或重載。
位2: TR4:定時器4 運行控制
該位允許/禁止定時器4。
0:定時器4 禁止。
1:定時器4 允許。
位1: C/T4:計數器/定時器功能選擇
0:定時器功能:定時器4 由T4M(CKCON.6)定義的時鐘觸發加1。
1:計數器功能:定時器4 由外部輸入引腳(T4)的負跳邊觸發加1。
位0: CP/RL4:捕捉/重載選擇
該位選擇定時器4 為捕捉還是自動重裝載方式。EXEN4 必須為邏輯1 才能使
T4EX 上的負跳變能夠被識別并用于觸發捕捉和重載。若RCLK1 或TCLK1 被
置位,該位將被忽略,定時器4 將工作在自動重裝載方式。
0:當定時器4 溢出或T4EX 上發生負跳變時將自動重裝載(EXEN4=1)。
1:在T4EX 發生負跳變時捕捉(EXEN4=1)。
*************************************************************************************/
// 常量定義:無
#define TF4 0x80
#define EXF4 0x40
#define RCLK1 0x20
#define TCLK1 0x10
#define EXEN4 0x08
#define TR4 0x04
#define C_T4 0x02
#define CP_RL4 0x01
/************************************************************************************
T4定時器計數值寄存器
RCAP4L:定時器4 捕捉寄存器低字節
R/W R/W R/W R/W R/W R/W R/W R/W 復位值00000000
位7 位6 位5 位4 位3 位2 位1 位0 SFR地址:0xE4
位7-0:
RCAP4L:定時器4 捕捉寄存器的低字節
當定時器4 被配置為捕捉方式時,RCAP4L 寄存器捕捉定時器4 的低字節。當
定時器4 被配置為自動重裝載方式時,它保存重載值的低字節。
RCAP4H:定時器4 捕捉寄存器高字節
R/W R/W R/W R/W R/W R/W R/W R/W 復位值00000000
位7 位6 位5 位4 位3 位2 位1 位0 SFR地址:0xE5
位7-0:
RCAP4H:定時器4 捕捉寄存器的高字節
當定時器4 被配置為捕捉方式時,RCAP4H 寄存器捕捉定時器4 的高字節。當
定時器4 被配置為自動重裝載方式時,它保存重載值的高字節。
TL4:定時器4 低字節
R/W R/W R/W R/W R/W R/W R/W R/W 復位值00000000
位7 位6 位5 位4 位3 位2 位1 位0 SFR地址:0xF4
位7-0:
TL4:定時器4 的低字節
TL4 寄存器保存16 位定時器4 的低字節。
TH4:定時器4 高字節
R/W R/W R/W R/W R/W R/W R/W R/W 復位值00000000
位7 位6 位5 位4 位3 位2 位1 位0 SFR地址:0xF5
位7-0:
TH4:定時器4 的高字節
TH4 寄存器保存16 位定時器4 的高字節。
*************************************************************************************/
// 常量定義:無
#define T_UART1 0 // UART1時鐘
#define T_TIMER 1 // 定時器功能
#define T_COUNT 2
#define T_IDLE 3
/************************************************************************************
// Timer 應用說明
*************************************************************************************/
//Timer0:未用
//Timer1:UART0,UART1
//Timer2:AD0
//Timer3:DAC0
//Timer4:未用
/************************************************************************************/
// 函數外部引用聲明
/************************************************************************************/
/*************************************************************************************/
//
// Timer0 參數及函數定義
//
/*************************************************************************************/
/*************************************************************************************
* Timer0工作模式定義, 在這里可以修改Timer0工作模式
*************************************************************************************/
#define T0_MODE (~GATE0)&(~C_T0)&T0M01
/***********************************************************************************
* 函數名稱: Timer0_Init;
*
* 函數功能描述: Timer0 初始化函數;
*
* 輸入參數: mode: Timer0工作模式定義,freq:定時或計數溢出頻率
*
* 返回數據: 無
*
* 注意: 無
************************************************************************************/
void Timer0_Init(unsigned char mode,unsigned long freq);
/***********************************************************************************
* 函數名稱: Timer0_Enable;
*
* 函數功能描述: Timer0使能函數,Timer0開始工作;
*
* 輸入參數: 無
*
* 返回數據: 無
*
* 注意: 無
************************************************************************************/
void Timer0_Enable(void);
/***********************************************************************************
* 函數名稱: Timer0_Disable;
*
* 函數功能描述: Timer0關閉函數,Timer0停止工作;
*
* 輸入參數: 無
*
* 返回數據: 無
*
* 注意: 無
************************************************************************************/
void Timer0_Disable(void);
/***********************************************************************************
* 函數名稱: Timer0_SetValue;
*
* 函數功能描述: 設置定時或計數寄存器值
*
* 輸入參數: value:定時或計數寄存器值
*
* 返回數據: 無
*
* 注意: 無
************************************************************************************/
void Timer0_SetValue(unsigned int value);
/*************************************************************************************/
//
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -