本帖最后由 zl2168 于 2018-11-14 22:26 編輯
那是你程序有問題。給你介紹一個按鍵參考案例:
4種不同方式鍵控信號燈
按鍵按能否鎖定可分為有鎖按鍵和無鎖按鍵。有鎖按鍵是按下即能鎖定閉合狀態,只有再次按一下才能解除閉合狀態,回歸斷開狀態。無鎖按鍵不能鎖定閉合狀態,除非按住鍵不予釋放,典型的例子就是電腦鍵盤上的按鍵。 單片機應用系統中,根據按鍵閉合和釋放狀態,有多種不同的鍵控方式,可編寫不同的程序予以實現。本例要求按以下4種不同方式分別鍵控VD0~ VD3。 ① 無鎖按鍵:S0按下,VD0亮;S0釋放,VD0暗; ② 無鎖按鍵(前沿有效):S1按下,VD1亮;S1釋放,VD1延時2s后暗。 ③ 無鎖按鍵(后沿有效):S2按下,VD2不亮;S2釋放,VD2亮,并延時2s后暗。 ④ 模擬有鎖按鍵:S3按第一次,VD3亮,并繼續保持;按第二次,VD3才暗。 先Proteus仿真一下,確認有效。
4種不同方式鍵控信號燈.jpg (161.52 KB, 下載次數: 55)
下載附件
2018-11-14 22:25 上傳
以上摘自張志良編著《80C51單片機仿真設計實例教程——基于Keil C和Proteus》清華大學出版社ISBN 978-7-302-41682-1.書中電路和程序設計有詳細說明,程序語句條條有注解。 |