新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > PIC單片機CCP模塊在轉(zhuǎn)矩傳感器脈沖信號采集系統(tǒng)中的應(yīng)用

PIC單片機CCP模塊在轉(zhuǎn)矩傳感器脈沖信號采集系統(tǒng)中的應(yīng)用

——
作者:梁學(xué)修 陳志 偉利國 時間:2013-06-26 來源:電子產(chǎn)品世界 收藏

  軟件設(shè)計

本文引用地址:http://butianyuan.cn/article/146835.htm

  為了達到程序簡單明了、易于閱讀、調(diào)試方便、采樣率高及可靠性好的目的,采用結(jié)構(gòu)化的程序設(shè)計方法。本研究采用的是MATLAB IDE V8.76控制系統(tǒng)的軟件作為開發(fā)環(huán)境,并采用Hitech公司開發(fā)的C編譯器進行編寫、調(diào)試和編譯程序。主要有的初始化以及中斷程序,具體實現(xiàn)如下:

  ////InitCCP//////////
  void initCCP(void)
  {
  ///CCP3//////
  TRISC6=1; //RC6作為捕捉輸入引腳
  CCP3IF=0; //捕捉標(biāo)志位清零
  CCP3IE=1; // 捕捉中斷使能
  CCP3CON=0X07; //捕捉模式,每16個上升沿
  C3TSEL=1; //CCP3 定時器選擇位,為0時 CCP3 基于TMR1產(chǎn)生
  ///CCP4//////
  TRISC7=1; //RC7作為捕捉輸入引腳
  CCP4IF=0; //捕捉標(biāo)志位清零
  CCP4IE=1; // 捕捉中斷使能
  CCP4CON=0X07; //捕捉模式,每16個上升沿
  C4TSEL=1; //CCP4定時器選擇位,為0時 CCP4基于TMR1產(chǎn)生
  //////////////////
  PEIE=1; //外圍中斷使能
  GIE=1; //總中斷使能
  T1CON=0X01; //關(guān)閉獨立時鐘振蕩器;時鐘來源于Fosc/4;使能定時器計數(shù);內(nèi)部定時,無分頻
  }
  ////Interrupt server function
  void interrupt ISR(void)
  {
  ///CCP3 Interrupt///
  if(CCP3IF &&CCP3IE)
  {
  CCP3IF = 0;
  if(LastData3 == 0)
  {
  LastData3 = CCPR3H;
  LastData3 = (LastData3<<8)+CCPR3L;
  }
  else
  {
  NewData3 = CCPR3H;
  NewData3 = (NewData3<<8)+ CCPR3L;
  g_Period3 = NewData3-LastData3; //測量周期計算
  g_Frequency3 = (long)10000000/g_Period3; //頻率計算
  LastData3 = 0;
  CdataL3 = g_Frequency3;
  CdataH3 = (g_Frequency3>>8);
  }
  }
  ///CCP4 Interrupt///
  if(CCP4IF &&CCP4IE)
  {
  CCP4IF = 0;
  if(LastData4 == 0)
  {
  LastData4 = CCPR4H;
  LastData4 = (LastData4<<8)+CCPR4L;
  }

pwm相關(guān)文章:pwm是什么


脈沖點火器相關(guān)文章:脈沖點火器原理
脈寬調(diào)制相關(guān)文章:脈寬調(diào)制原理


關(guān)鍵詞: PIC 單片機 CCP模塊 201307

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉