<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > PIC單片機捕捉模塊的程序設計

PIC單片機捕捉模塊的程序設計

作者: 時(shí)間:2013-03-15 來(lái)源:網(wǎng)絡(luò ) 收藏
  由于本設計測試4種參數,并且可以利用鍵盤(pán)選擇顯示其中的任何一種,因此編程設定S9為加1鍵、S11為減1鍵、S10為確定鍵、S12為功能鍵。

  當按下S9鍵時(shí),寄存器COUNTER可以從1連續或點(diǎn)動(dòng)步進(jìn)地加到4;同理按下S11鍵時(shí),COUNTER從4減到1,并且把顯示在LED上,不同的對應不同的測試參數。

  程序根據不同的把相應的參數(已轉換成BCD碼)送到顯示緩沖區,此時(shí)按下確定鍵,則LED上顯示出該COUNTER值對應的測試參數。

  按下功能鍵時(shí),LED上示出當前的COUNTER值,又可以對其講行加減操作。從而選擇顯示不同的參數,COUNTER值與其對應的測試參數關(guān)系如下。

  · COUNTER=1,對應測試參數為頻率。

  · COUNTER=2,對應測試參數為周期。

  · COUNTER=3,對應測試參數為占空比。

  · COUNTER=4,對應測試參數為脈寬。

  程序中有5個(gè)不同的顯示任務(wù)(顯示COUNTER、頻率、周期、占空比、脈寬),如果編寫(xiě)5個(gè)不同的顯示子程序,會(huì )使程序復雜化。

  本例引入一個(gè)顯示緩沖區,如果沒(méi)有按下確定鍵,則把COUNTER的值送到顯示緩沖區;如果按下確定鍵,則根據COUNTER的實(shí)際值把相應的測試參數的結果送到顯示緩沖區。

  利用此方法,可以編制一個(gè)顯示程序,該程序只執行從顯示緩沖區取數顯示的任務(wù)。是COUNTER,還是參數測試結果,只需將顯示緩沖區的內容顯示出來(lái)即可。

  中斷服務(wù)程序中“把CCP1模塊變成捕捉相反的脈沖邊沿”的含義為:若在本次中斷以前,CCP1捕捉脈沖的上升沿,則把它改成捕捉脈沖下降沿;若在本次中斷以前,CCP1捕捉脈沖的下降沿,則把它改成捕捉脈沖的上升沿。

  實(shí)際編寫(xiě)程序時(shí),為了充分提高CPU的工作效率,可以利用等待CCP1中斷的時(shí)問(wèn)進(jìn)行鍵盤(pán)的消抖動(dòng)延時(shí),程序設計流程如圖1和圖2所示。

  圖1 主程序流程及中斷服務(wù)程序流程

  圖2 鍵盤(pán)服務(wù)子程序流程

 ?。?)首先包含必要的頭文件,定義程序用到的全局變量及宏。

 ?。?)SPI顯示初始化子程序,首先初始化SPI模塊,設置在時(shí)鐘下降沿發(fā)送數據。設置RA5引腳為輸出端口,用以輸出顯示鎖存信號。

 ?。?)對CCP模塊進(jìn)行初始化,使其工作在捕捉方式,打開(kāi)CCP1中斷,設置RC2端口為輸入口。

 ?。?)對系統其他部分進(jìn)行初始化,包括COUNT及與鍵盤(pán)有關(guān)的寄存器的初始化,建立鍵盤(pán)掃描的初始條件。


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: PIC單片機 捕捉模塊 COUNTER值

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>