我用的是 High-performance Embedded Workshop 开发环境
用TMR0溢出产生中断,每次仿真连接好后直接运行,不能产生中断,得重新编译再加载,中断才可以产生。代码实现的是定时让开发板P61口的灯亮,以下是我的代码:
void main(void)
{
P6.DDR=0x02; /*设置p61为IO输出口*/
P6.DR.BIT.B1=1;
/*设置中断*/
SYSCR.BIT.INTM=0; /*中断模式0,可接受所有中断*/
TMR0.TCR.BIT.OVIE=1;/* TMRO溢出中断使能*/
INTC.ICRB.BIT._TMR0=1;/*TMRO中断级别1*/
MSTP.CRH.BIT._TMR01=0;/*选择定时器TM0输出*/
TMR0.TCNT=0; /*计数器初始为0*/
/*选择时钟开始计时*/
TMR0.TCR.BIT.CKS=3; /*选择时钟CLOCK/4*/
while(1)
{
if(tmrx_ov98)
{
i++;
tmrx_ov=0;
}
if(i90)
{
P6.DR.BIT.B1=0;
}
}
}
麻烦哪位帮忙看看原因,我怀疑是不是CCR寄存器没有初始化,但我不知道用C怎么初始化CCR寄存器。
最新人才