常驻嘉宾
- 积分
- 3650
- 威望
- 2183
- 贡献
- 325
- 兑换币
- 1339
- 注册时间
- 2013-11-26
- 在线时间
- 571 小时
- 毕业学校
- 南京工程学院
|
void PIT_Init(void)
{
PITCFLMT=0x00; //禁止使能PIT模块
PITCE_PCE0=1; //使能定时器通道0
PITCE_PCE1=1;
PITMUX_PMUX0=0; //定时器通道0使用微定时基准0
PITMUX_PMUX1=0;
PITMTLD0=8-1; //设置8位微定时装载寄存器0初值
PITMTLD1=8-1;
PITLD0=8000-1; //定时周期=(&PITMTLD0+1)*(&PITLD0+1)
PITLD1=8000-1;
PITINTE=0x03; //使能PIT定时器通道0中断
PITCFLMT=0x80; //使能PIT模块
}
//==============================================================
//函数:void TimInit (void)
//描述:脉冲累加器初始化
//参数:无
//返回:无
//==============================================================
void TimInit (void)
{
TIOS = 0x00; //T0、T1设置为输入捕捉,摄像头行场中断---关输出比较通道7
TCTL1 = 0x00; //OC7与逻辑通道断开
TCTL4 = 0x09; //通道0上升沿触发,通道 1 下降沿触发
OC7M = 0x00; //通道7不管理其他通道
TSCR1 = 0x80; //使能定时器
PACTL = 0x40; //使能PA,门计数模式,上升沿,中断禁止 0101 0000
PACTL=0x40; //使能脉冲累加器
PACNT=0x00; //装初值
}
#pragma CODE_SEG __NEAR_SEG NON_BANKED
interrupt VectorNumber_Vpit0 void PIT_ISR1 (void)
{
num2++;
if(num2>=20)
{
num2=0;
time_flag=1;
}
PITTF_PTF0=1; //清除中断ADtransform();
}
#pragma CODE_SEG DEFAULT
#pragma CODE_SEG __NEAR_SEG NON_BANKED
interrupt VectorNumber_Vpit1 void PIT_ISR2 (void)
{
num1++;
if(num1>=10)
{
num1=0;
pulse_count=PACNT;
PACNT=0;
speed_flag=1;
}
PITTF_PTF1= 1;
}
#pragma CODE_SEG DEFAULT 为什么定时器1的程序就是执行不了呢 |
|