欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 12412|回復: 16
收起左側

一個按鍵怎么實現開關的同時還帶切換功能

[復制鏈接]
ID:108715 發表于 2016-11-21 20:15 | 顯示全部樓層 |閱讀模式
求教:一個按鍵怎么實現長按3秒開機的同時led1亮,再點按一下led2亮,再點按一下led3亮,再點按一下關機。求高手按鍵程序怎么寫(我是新手,有點笨,請寫具體點哦,謝謝)
回復

使用道具 舉報

ID:138155 發表于 2016-11-21 21:18 | 顯示全部樓層
用定時器計時處理
回復

使用道具 舉報

ID:111634 發表于 2016-11-21 21:38 | 顯示全部樓層
給你3個案例參考,一個是按鍵 4種不同方式響應,一個是一鍵3用,一個是短按長按不同方式。
回復

使用道具 舉報

ID:111634 發表于 2016-11-21 21:39 | 顯示全部樓層
本帖最后由 zl2168 于 2016-11-21 21:42 編輯

實例5  4種不同方式鍵控信號燈
4種不同方式鍵控燈電路.jpg


① 無鎖按鍵:S0按下,VD0亮;S0釋放,VD0暗;


② 無鎖按鍵(前沿有效):S1按下,VD1亮;S1釋放,VD1延時2s后暗。


③ 無鎖按鍵(后沿有效):S2按下,VD2不亮;S2釋放,VD2亮,并延時2s后暗。


模擬有鎖按鍵:S3按第一次,VD3亮,并繼續保持;按第二次,VD3才暗。


Proteus仿真一下,確認有效。
實例5 不同方式鍵控燈.rar (31.72 KB, 下載次數: 28)
4種不同方式鍵控信號燈.jpg
以上摘自張志良編著《80C51單片機仿真設計實例教程——基于Keil CProteus》清華大學出版社ISBN 978-7-302-41682-1.書中電路和程序設計有詳細說明,程序語句條條有注解。
回復

使用道具 舉報

ID:111634 發表于 2016-11-21 21:46 | 顯示全部樓層
本帖最后由 zl2168 于 2016-11-21 21:49 編輯

實例93  99.9秒秒表
按第一次K0(不閉鎖),秒表按0.1s快速計時運行
按第二次K0(不閉鎖),秒表停運行,但保持最后顯示秒數。
按第三次K0(不閉鎖),秒表顯示清0。
先Proteus仿真一下,確認有效。
實例95 99.9秒秒表.rar (38.86 KB, 下載次數: 25)
99.9秒秒表.jpg
以上摘自張志良編著《80C51單片機仿真設計實例教程——基于Keil C和Proteus》清華大學出版社ISBN 978-7-302-41682-1,內有常用的單片機應用100案例,用于仿真實驗操作,電路與程序真實可靠可信可行。







回復

使用道具 舉報

ID:111634 發表于 2016-11-21 21:51 | 顯示全部樓層
本帖最后由 zl2168 于 2016-11-21 21:56 編輯

實例100 直流電機正反轉及PWM調速
按一次加速鍵up占空比1;按住不放,快速加1;最大值100顯示00)。
按一次減速鍵up占空比1;按住不放,快速減1;最小值20
先Proteus仿真一下,確認有效。
實例100 直流電機正反轉及調速.rar (44.12 KB, 下載次數: 20)
直流電機正反轉及PWM調速.jpg
以上摘自張志良編著《80C51單片機仿真設計實例教程——基于Keil C和Proteus》清華大學出版社ISBN 978-7-302-41682-1,內有常用的單片機應用100案例,用于仿真實驗操作,電路與程序真實可靠可信可行。書中電路和程序設計有詳細說明,程序語句條條有注解。
回復

使用道具 舉報

ID:123289 發表于 2016-11-21 23:41 | 顯示全部樓層
主要是構思,要點有三:
回復

使用道具 舉報

ID:123289 發表于 2016-11-21 23:42 | 顯示全部樓層
要點1、鍵彈起起效。按下時做準備,不下結論。
回復

使用道具 舉報

ID:123289 發表于 2016-11-21 23:42 | 顯示全部樓層
要點2、做一個計時器,設為R_TIMER,鍵按下時開始記時,鍵彈起時清0。>3秒時判為長按。反之判為短按一次。
回復

使用道具 舉報

ID:123289 發表于 2016-11-21 23:44 | 顯示全部樓層
要點3、做一個計數器(設為R_TIMCE)和允許計數的開關(設為K_TIMCE)。
K_TIMCE:=1時允許R_TIMCE計數;=0時禁止R_TIMCE計數,長按后置1,R_TIMCE=4時清0。
R_TIMCE:長按后置1,短按則+1(當然必須在K_TIMCE=1時)。
當R_TIMCE=1時:開機、點亮led1、置K_TIMCE=1(相當于起動計數器);
當R_TIMCE=2時:點亮led2;
當R_TIMCE=3時:點亮led4;
當R_TIMCE=4時:關機,清K_TIMCE=0(相當于關閉計數器),滅所有燈。
回復

使用道具 舉報

ID:123289 發表于 2016-11-21 23:48 | 顯示全部樓層
初始化時,所有參數清0。計時用定時器。防鍵彈動另做(如排除<40ms鍵值)。
回復

使用道具 舉報

ID:108715 發表于 2016-11-22 12:55 來自觸屏版 | 顯示全部樓層
yzwzfyz 發表于 2016-11-21 23:44
要點3、做一個計數器(設為R_TIMCE)和允許計數的開關(設為K_TIMCE)。
K_TIMCE:=1時允許R_TIMCE計數;= ...

好像有點思路了,我在想想,非常感謝。
回復

使用道具 舉報

ID:149144 發表于 2016-11-22 13:41 | 顯示全部樓層
給按鍵設置一個狀態 i,0 1 2 3 ,按一下 +1  ,0關機, 1……3對應 LED 1  ……3
回復

使用道具 舉報

ID:90566 發表于 2016-11-22 14:33 | 顯示全部樓層
學習了,這樣可以節約好幾個口
回復

使用道具 舉報

15#
無效樓層,該帖已經被刪除
ID:108715 發表于 2016-12-4 11:18 來自觸屏版 | 顯示全部樓層
cuihaodianzi 發表于 2016-11-22 13:41
給按鍵設置一個狀態 i,0 1 2 3 ,按一下 +1  ,0關機, 1……3對應 LED 1  ……3

這個我知道,可是我是要按鍵長按以后才工作,就是先長按三秒實現一個功能,然后再短按切換功能。沒有長按的時候按鍵短按沒效果。也等于是長按三秒開機,然后短按切換功能,不長按就是關機狀態。
回復

使用道具 舉報

ID:149144 發表于 2016-12-8 09:26 | 顯示全部樓層
做一個松開的檢測 if(BUTTON==0) 延時3S  if(BUTTON==0) 就是長按   然后 ==1 就是松開了(此時時間> 3s)
如果在 1s 內松開了 就是 短的按鍵
回復

使用道具 舉報

ID:480120 發表于 2019-2-24 21:22 | 顯示全部樓層
請問這個電路應該怎么設計呢?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表