pic12f675 timer1观察

时间:2018-05-10 10:00:43

标签: embedded pic mplab

我在PIC12F675中使用了TIMER1,溢出中断和大约0.5秒的溢出时间,并且模拟真实

溢出中断代码功能:

void interrupt int_tmr1(void)
   {
      if((PIE1&(1<<0))&&(PIR1&(1<<0))) //TMR1 OVERFLOW CONDITION
      {
         static unsigned char count=0;
          if(count>10)
         {
          GPIO^=(1<<0); //TOGGLE LED 
           count=0;
          }

    else
    {

   count++;

     }

    PIR1&=~(1<<0); //CLEAR TMR1 INTERRUPT OVER FLOW FLAG
     }

 }

}

但是如果我想通过在中断函数中编辑来增加持续时间:

def on_click(self, event):
    """Set tag for selected datasets."""

    # Remove 'plotted' tag if existent
    if 'plotted' in self.tree.item(self.tree.selection())['tags']:
        # FIXME: Only remove tag 'plotted'
        self.tree.item(self.tree.selection(), tags=())

    # Select only items that have no children
    elif not self.tree.get_children(self.tree.selection()):
        self.tree.item(self.tree.selection(), tags='plotted')
    self.tree.column('#0', anchor=tk.E)

所需时间为5秒,但在模拟中时间为6秒 这是什么意思?

1 个答案:

答案 0 :(得分:1)

你说约0.5秒,这意味着它不完全是1/2秒。你正在检查&gt; 10,这意味着它必须计数到11个。所以在0.5秒,你有一个5.5秒的延迟,但同样,我确定它像0.525秒。