如何利用单片机有效地测量占空比

2019-07-15 16:16发布

如何利用单片机有效地测量占空比
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
呵呵呵呵1
2019-07-16 03:09
SuperVigorous 发表于 2015-8-15 12:42
看看一些带捕获功能的单片机,外部信号触发后定时器的值会锁存,将几个电平跳变时的值相减,再相比就可得到占空比

oid pca_init()         //捕获模块初始化
{
  CCON=0x00;
  CMOD = 0x01;
  CCAPM0=0x21;           //CCAP上升沿捕获,        允许中断
  CL=0;                  //清空PCA基本计数器
  CH=0;
   
  CCAP0L = 0x00;
  CCAP0H = 0x00;
  CR=1;              //启动PCA
  EA=1;
}
void DigDisplay();


void main()
{
uint i;
pca_init();
if(flag==1)
{
  t4=TABLE[1]-TABLE[0];                 
  for(i=0;i<8;i++)
        {
                DisplayData=DIG_CODE[t4%10];
                t4=t4/10;       
        }
         while(1)
        {
                DigDisplay();
        }
        while(1);
}


}
void PCA_Int(void) interrupt 7
{

        if(CCF0==1&&I<5)
        {
           CCF0=0;
           CCAPM0=0x11;
         TABLE[I]= CCAP0H*256 + CCAP0L;
         I++;
        }
  if(I>=5)  flag=1;

一周热门 更多>