![]() |
發布時間: 2014-12-14 21:19
正文摘要:本帖最后由 xiao_yp2014 于 2016-1-21 14:37 編輯 大家好!我叫肖亞平,從小熱愛上了電子技術,讀書時陰差陽錯的選擇了電子這方面的專業,學習電子技術。對于我的理解來說,學校里面學到的技術不是全部實用,但是 ... |
這個程序大了后就容易按鍵失靈。 |
最簡單的按鍵狀態機 |
大佬真牛哇,學習了![]() |
正好最近一直為這個問題煩憂,多謝分享。回去慢慢研究研究 |
按鍵是如何消抖的? |
怎么加防抖呢 |
對我正在學習狀態機非常有幫助,謝謝分享 |
很好,做成頭文件了么? |
你這個狀態機用的,只能說理想狀態吧。按鍵防抖呢,你打算怎么設計?而且狀態機要有時序約束的。 |
![]() |
細細研究一下,妙呀 |
學習51編程,思路很重要,謝謝 |
謝謝樓主分享,對于初學者來說一直都用的while |
正在找狀態按鍵寫法,是我急需的,感謝樓主的經驗分享。我已經卡在這里5天了 |
小白有個問題: 1. 假設默認是高電平,第一次進入函數,key_press為1. 在按鍵按下變成0的時候切換到狀態1. 2. 然后第二次進入函數,首先讀IO口的值,此時key_press成為0了,如果想檢測按鍵是否還是按下,為何要用(!key_press)呢?感覺應該是(key_press)。 3. 同理,狀態2的時候應該是(!key_press)... ![]() |
在學習狀態機鍵盤,謝謝 |
小白表示有點懵,先下載學習,謝謝! |
又學到了知識,謝謝 |
在定時中斷里完成按鍵檢測,才是實用的按鍵程序. |
來學習了,謝謝樓主小哥 |
大佬就是大佬,學到了 |
不錯,學習了,今天剛剛知道有狀態機的概念,樓主的代碼能夠對按鍵未按、按下和抬起進行獨立的操作! |
本帖最后由 jiaojunh 于 2020-12-21 14:15 編輯 對于我來是都是牛x的,自學快兩年了,在各論壇搬磚,謝謝大神的每一次分享,學到了不少東西,偶然一次發現自己寫延時去抖的按鍵程序用在一個比較大的程序里邊時,不堪入目啊,不穩定。 |
一看是版主,想必很實用,謝謝,下來研究研究 |
不錯,很好的資料 |
學習學習一下,謝謝樓主 |
真的真佩服這樣的又清晰又有中文注釋 |
Strongest丶星空 發表于 2019-5-17 18:46 兄弟,你這個連消抖都沒,而且一旦有鍵按下,CPU就一直被while(1)這條語句占用,別的語句都執行不了了。還是多學多練吧 |
感謝樓主分享,學習了 |
下載學習 |
沒有看到消抖動作,是不是要放在定時中斷中去完成的。 |
剛學單片機,還不知道狀態機有什么用,學習一下,謝謝樓主分享 |
沒黑幣了,好想收藏 |
新手,學習了 |
學習學習,多謝LZ |
學到了不同按鍵掃描的方法,我是單片機的初學者,我自創了一種按鍵方式樓主可以看看,(PS:這不是裝逼,只是讓樓主看看有多大局限)if(key==0) { while(1) { if(key==1) { return k; } } } |
學到了不同的按鍵掃描我自創了一種按鍵掃描不過感覺局限可大樓主可以看看 |
下來學習學習,先頂一個 |
聽說過狀態機按鍵很好,一直還沒學會,謝謝樓主講解 |
謝謝分享,再次看了,還是有收獲 |