記得以前上大學時,老師講到下降沿觸發時,怎麼也分不清下降沿觸發與低電平觸發有什麼區別,乍看,它們似乎是一樣的,比如鍵盤掃瞄程式掃瞄鍵盤是否按下:
某事件設為低電平觸發【採用週期時間掃瞄方式查詢觸發條件是否成立】,初始化時為高電平即事件未觸發,當電平突然改變為低電平,之後掃瞄程式執行到了這裡掃瞄,則發現變為低電平故執行觸發;
某事件設為下降沿觸發【採用週期時間掃瞄方式查詢觸發條件是否成立】,初始化時為高電平即事件未觸發,當電平突然改變為低電平,之後掃瞄程式執行到了這裡掃瞄,則發現變為低電平故執行觸發;
看上面結果是不是一樣的!
但是,大家千萬別忘了乙個重要的東西,那就是時間是一直在走的,不會永遠定格在某一刻,特別是微控制器、計算機,它們只要沒給它們指令讓他們停止,那麼它們就一直在執行,同樣鍵盤掃瞄程式也一直在周期性地掃瞄鍵盤!當下乙個掃瞄週期到了時,你就會發現它們兩種觸發方式所導致的結果完全是不一樣的。
同樣拿鍵盤掃瞄做例項,比如乙個簡單的鍵盤掃瞄程式設計,它實現乙個鍵盤對應乙個指示燈,當鍵盤按下一次時(假設按鍵按下時送人低電平、鬆開時送入高電平)對應的指示燈狀態改變一次,即如果原來是熄滅的,當鍵盤第一次按下時將使它點亮,當鍵盤再次按下時它將熄滅,再按下時點亮,再按下時熄滅如此迴圈。這裡我們採用鍵盤週期性掃瞄的方法查詢按鍵是否按下:
1、在第1次掃瞄到鍵盤按下時,結果如前面我們說的一樣,不論是低電平觸發還是下降沿觸發結果都會觸發事件,這裡觸發時即指示燈點亮。然後程式繼續執行……
2、當程式繼續執行到第2次掃瞄鍵盤時按鍵還沒放開,結果就不一樣了。
低電平觸發:觸發條件依然為低電平,即觸發條件成立,那麼執行事件,即指示燈狀態改變,此時指示燈由亮變滅;
下降沿觸發:觸發條件依然為低電平,與下降沿觸發條件不成立,那麼不執行事件,即指示燈維持原來的亮的狀態。
3、當程式繼續執行到第3次掃瞄鍵盤時按鍵還沒放開,結果:
低電平觸發:觸發條件依然為低電平,即觸發條件成立,那麼執行事件,即指示燈狀態改變,此時指示燈由滅變亮;
下降沿觸發:觸發條件依然為低電平,與下降沿觸發條件不成立,那麼不執行事件,即指示燈維持原來的亮的狀態。
以上就是最典型的低電平觸發與下降沿觸發的區別,希望大家能從上面的例子裡理解、掌握低電平觸發和下降沿觸發,並在實際學習和工作中能夠靈活運用合適的觸發方式。
SylixOS 電平觸發和邊沿觸發
1 邊沿觸發 邊沿觸發包括上公升沿觸發和下降沿觸發,邊沿觸發檢測的是電平變化,高電平轉低電平或低電平轉高電平時,觸發一次中斷。2 電平觸發 電平觸發分為高電平觸發和低電平觸發 電平觸發需要手動清除中斷訊號。3.區別 邊沿檢測外部中斷 檢測到電平變化會中斷,但是如果中斷檢測口一直保持某一電平,則無法產...
電平觸發和邊沿觸發的區別
電平觸發是在高或低電平保持的時間內觸發,而邊沿觸發是由高到低或由低到高這一瞬間觸發 在數字電平變化的電壓上公升沿或下降沿到一定閥值時就產生觸發,是謂邊沿觸發。當電壓達到數字電平的高或低電壓一段時間後 一般是最小脈衝寬度的三分之一 才產生觸發是電平觸發。邊沿觸發一般時間短,邊沿觸發一般時間都是us級的...
FPGA中邊沿觸發和電平觸發
邊沿觸發和電平觸發基本就是觸發器和鎖存器的區別 觸發器是邊沿觸發,只有當時鐘上公升 或下降 的一瞬間,觸發器會讀取並鎖存輸入訊號。輸出訊號僅在時鐘訊號上公升 或下降 的一瞬間會發生變化。鎖存器是電平觸發,只要使能 enable 訊號處於高電平 或低電平 輸出就會隨著輸入訊號變化,直到使能訊號變為低電...