国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種抖動開關(guān)信號的處理方法與流程

      文檔序號:12459906閱讀:540來源:國知局

      本發(fā)明涉及計算機應(yīng)用技術(shù)領(lǐng)域,特別是對抖動開關(guān)信號的處理方法。



      背景技術(shù):

      在按鈕按下和放開或者開關(guān)閉合和打開的瞬間,由于電觸點機械彈性的原因,會產(chǎn)生抖動信號,即開關(guān)信號中包含抖動成分。隨著微控制器成本的降低,本發(fā)明以微控制器為平臺對含有抖動的開關(guān)信號進行預(yù)處理,使其變成干凈的開關(guān)信號,再供計算機使用,本發(fā)明提出基于微控制器的一種抖動開關(guān)信號的處理方法。



      技術(shù)實現(xiàn)要素:

      本發(fā)明針對計算機輸入的抖動開關(guān)信號的處理方法提供一種基于微控制器的抖動信號處理方法,為了實現(xiàn)本目的,本發(fā)明一種抖動開關(guān)信號的處理方法,包括以下步驟:

      步驟S1:將n路抖動開關(guān)信號IN[i](i=1,2...,n)連接微控制器的輸入端;

      步驟S2:微控制器每隔100微秒讀一次抖動開關(guān)信號IN[i](i=1,2...,n),當(dāng)所讀信號狀態(tài)發(fā)生變化時,設(shè)置5毫秒標(biāo)志MS[i](i=1,2...,n)和100微秒標(biāo)志US[i](i=1,2...,n)并開始計時;

      步驟S3:對步驟S2所述的5毫秒計時,其計時規(guī)則是:累計讀IN[i](i=1,2...,n)50次時,將5毫秒標(biāo)志MS[i](i=1,2...,n)清零;

      步驟S4:對步驟S2所述的100微秒計時,其計時規(guī)則是:連續(xù)讀IN[i](i=1,2...,n)30次且狀態(tài)無變化時,將100微秒標(biāo)志US[i](i=1,2...,n)清零;

      步驟5:對步驟S4所述的連續(xù)讀IN[i](i=1,2...,n)30次且狀態(tài)無變化時,此時IN[i](i=1,2...,n)的狀態(tài)與步驟S2所讀的IN[i](i=1,2...,n)的狀態(tài)一致時,輸出干凈開關(guān)信號OUT[i](i=1,2...,n),不一致時放棄OUT[i](i=1,2...,n);

      步驟S6:重復(fù)步驟S2、步驟S3、步驟S4、步驟S5。

      本發(fā)明的有益效果:與現(xiàn)有的抖動開關(guān)信號的處理方法相比,本發(fā)明提出的抖動開關(guān)信號的處理方法,降低了處理開關(guān)信號引入的延遲,提高了計算機控制的實時性。

      附圖說明

      圖1所示為本發(fā)明一種抖動開關(guān)信號的處理方法的流程圖。

      具體實施方式

      如圖1所示為本發(fā)明一種抖動開關(guān)信號的處理方法的流程圖,包括:將n路抖動開關(guān)信號IN[i](i=1,2,...,n)連接微控制器的輸入端,微控制器每隔100微秒讀一次抖動開關(guān)信號IN[i](i=1,2,...,n),當(dāng)所讀的信號狀態(tài)發(fā)生變化時,設(shè)置5毫秒標(biāo)志MS[i](i=1,2,...,n)和100微秒標(biāo)志US[i](i=1,2,...,n)并開始計時;5毫秒計時規(guī)則是:累計讀IN[i](i=1,2,...,n)50次時,將5毫秒標(biāo)志MS[i](i=1,2,...,n)清零;100微秒計時規(guī)則是:連續(xù)讀IN[i](i=1,2,...,n)30次且狀態(tài)無變化時,將100微秒標(biāo)志US[i](i=1,2,...,n)清零;前一步驟所讀的IN[i](i=1,2,...,n)的狀態(tài)與第二步驟所讀的IN[i](i=1,2,...,n)的狀態(tài)一致時輸出干凈開關(guān)信號OUT[i](i=1,2,...,n),不一致時放棄OUT[i](i=1,2,...,n),重復(fù)第一步驟到第五步驟執(zhí)行。

      各步驟的具體實施細節(jié)如下:

      步驟S1:將n路抖動開關(guān)信號IN[i](i=1,2,...,n)連接微控制器的輸入端;

      步驟S2:微控制器每隔100微秒讀一次抖動開關(guān)信號IN[i](i=1,2,...,n),當(dāng)所讀的信號狀態(tài)發(fā)生變化時,設(shè)置5毫秒標(biāo)志MS[i](i=1,2,...,n)和100微秒標(biāo)志US[i](i=1,2,...,n)并開始計時;5毫秒計時在先,100微妙計時在后;

      步驟S3:對步驟S2所述的5毫秒計時,其計時規(guī)則是:累計讀IN[i](i=1,2,...,n)50次時,將5毫秒標(biāo)志MS[i](i=1,2,...,n)清零;

      步驟S4:對步驟S2所述的100微秒計時,其計時規(guī)則是:連續(xù)讀IN[i](i=1,2,...,n)30次且狀態(tài)無變化時,將100微秒標(biāo)志US[i](i=1,2,...,n)清零;

      步驟S5:對步驟S4所述的連續(xù)讀IN[i](i=1,2,...,n)30次且狀態(tài)無變化時,此時IN[i](i=1,2,...,n)的狀態(tài)與步驟S2所讀的IN[i](i=1,2,...,n)的狀態(tài)一致時輸出干凈開關(guān)信號OUT[i](i=1,2,...,n),不一致時放棄OUT[i](i=1,2...,n),此干凈開關(guān)信號OUT[i](i=1,2,...,n),其編號i與步驟S1所述的抖動開關(guān)信號IN[i](i=1,2,...,n)的編號i相同,抖動開關(guān)信號IN[i](i=1,2,...,n)經(jīng)過步驟S2、S3、S4、S5后變成了干凈開關(guān)信號OUT[i](i=1,2,...,n);

      步驟S6:重復(fù)步驟S2、步驟S3、步驟S4、步驟S5。

      以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。

      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1