pic16f1829 c语言,PIC16F1829 TIMER2初始化程序及应用
//#include "pic_timer246.h"
//timer2 預分頻值
#defineTIMER2_1DIV1(0<<0)
#defineTIMER2_1DIV4(1<<0)
#defineTIMER2_1DIV16(2<<0)
#defineTIMER2_1DIV64(3<<0)
//timer2 后分頻值
#defineTIMER2_2DIV1(0<<3)
#defineTIMER2_2DIV2(1<<3)
#defineTIMER2_2DIV3(2<<3)
#defineTIMER2_2DIV4(3<<3)
#defineTIMER2_2DIV5(4<<3)
#defineTIMER2_2DIV6(5<<3)
#defineTIMER2_2DIV7(6<<3)
#defineTIMER2_2DIV8(7<<3)
#defineTIMER2_2DIV9(8<<3)
#defineTIMER2_2DIV10(9<<3)
#defineTIMER2_2DIV11(10<<3)
#defineTIMER2_2DIV12(11<<3)
#defineTIMER2_2DIV13(12<<3)
#defineTIMER2_2DIV14(13<<3)
#defineTIMER2_2DIV15(14<<3)
#defineTIMER2_2DIV16(15<<3)
//-------
#defineTIMER2_IEN_ENBTMR2IE = 1 ;//允許T2中斷
#defineTIMER2_IEN_DISTMR2IE = 0 ;//禁止T2中斷
//*************************************
// 函數名稱:Init_Timer2
// 函數功能:定時器0初始化
// 入口參數:定時器預分頻值 后分頻值 計數值
// 出口參數:無
// T2/4/6的時鐘源為Fosc/4
//***************************************
void Init_Timer2(uint8 pscr1,uint8 pscr2,uint8 Tcon)
{
TMR2IF = 0 ;
TMR2IE = 0 ;
T2CON = pscr1 | pscr2|(1<<2) ;//開啟定時器2工作
TMR2 = Tcon ;//計數值
PR2 = Tcon ; //比較值
}
//---應用實例------
//TIMER2初始化程序
Init_Timer2(TIMER2_1DIV64,TIMER2_2DIV5,250);// 定時40U*250=10MS
TIMER2_IEN_ENB ;//使能T2中斷
//TIMER2_IEN_DIS ; //禁止T2中斷
總結
以上是生活随笔為你收集整理的pic16f1829 c语言,PIC16F1829 TIMER2初始化程序及应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 环境与作用域与闭包
- 下一篇: Windows平台快速安装MongoDB