没产生中断

2019-07-19 14:10发布


void system_int(void)
{
    CMOD   = 0x80;                  //空闲模式不计时,12分频,禁止溢出中断
     CCON   = 0x00;
     CH       = 0x00;
     CL       = 0x00;
     CCAP0L= 0x00;
     CCAP0H= 0x1E;
    CCAPM0= 0x49;                 //选择16位软件定时功能
    EA        = 1;
     CR        = 1;
}

void PCA_ISR(void) interrupt 7
{
     CCF0  = 0;                    
     CCAP0L= CCAP0L+0x00;
     CCAP0H= CCAP0H+0x1E;         
}

void main(void)
{   
     system_int();              //系统初始化
     while(1);
}

调试环境是在keil里面的Debug里面,现在问题是:没有产生中断,然后查看了一下CH,CL发现根本没有计时!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
13条回答
zhenykun
2019-07-20 04:05
sbit CR     = CCON^6; //1:允许 PCA 计数器计数, 必须由软件清0。
已经启动定时器了。

sfr CCAPM0 = 0xDA; //PCA 模块0 PWM 寄存器  -   ECOM0  CAPP0  CAPN0  MAT0  TOG0  PWM0  ECCF0   x000,0000

//  1      0      0     1     0     0     x   0x49   16位软件定时器。

ECCF0 已经设置=1;所以已经允许中断了。。。

一周热门 更多>