![]() |
分時驅動的方法可以實現這種功能 |
名字不是重點 發表于 2022-7-19 16:17 我用的不是這種方法。 |
電路做些修改,軟件再規劃一下可以實現你說的功能, 基本原則樓上的都 說了,分時運行LED驅動和按鍵檢測。 |
myemcu 發表于 2022-7-17 11:40 那反問一下,難道提問之前就沒在本論壇搜索過有這樣的提問和例子?去看看這樣例子是哪年的了! 這樣電路無法實現,當低電平時點亮則再無法檢測按鍵操作,高電平時是可以檢測按鍵按下操作。這樣的拋磚引玉反問看不懂也罷了。 |
定時檢測按鍵,剩下時間驅動led。分時執行就可以了,利用led的視覺殘留效應可以做到。 |
zhangxl 發表于 2022-7-18 09:10 參考26樓。 |
myemcu 發表于 2022-7-17 11:40 他這個圖,輸入和輸出同一個引腳怎么實現啊 |
用定時器中斷脈沖驅動這個IO口,在高電平期間檢測這個端口,如果是低電平,就是按下了按鍵。每次取反一次輸出狀態。 |
我也想了一種:
|
myemcu 發表于 2022-7-17 17:50 非阻塞 ![]() ![]() |
可以實現這個功能 就是不斷的改變改變這個引腳的輸入輸出狀態 輸入時判斷引腳狀態 輸出時實際是脈沖驅動LED 圖是一回事 限流電阻是要加的 |
hhdsdy 發表于 2022-7-17 19:33 Proteus實沒必要畫這個,又不是非要AD制板,那么機械作甚。 |
myemcu 發表于 2022-7-17 17:54 不是我想杠,畫一個電阻這么難嗎?自己1樓就直接說了“參考圖片”,大家看圖的接法說是不行有什么錯?(很多初學者還是會忘了要加限流電阻)還說了已經量產了 |
溫xyz 發表于 2022-7-17 17:45 Proteus純屬邏輯驗證,邏輯通過后,到了電氣設計環節時,該加啥就加啥。 |
wulin 發表于 2022-7-17 17:40 阻塞和非阻塞的區別還是很大滴。。 |
當LED這時,IO口低電平,你如何檢測開關動作?再說你的LED直接接IO口中,會燒掉單片機的。 |
myemcu 發表于 2022-7-17 17:28 示例只是給你一個邏輯關系的驗證,按鍵處理方式請自行補課。 |
wulin 發表于 2022-7-17 17:16 判鍵不能采用阻塞方式。 |
myemcu 發表于 2022-7-17 13:53 不考慮其它因素,此功能很容易實現。 ![]()
|
daemondong 發表于 2022-7-17 13:22 見8樓,老板會讓你這么干? |
myemcu 發表于 2022-7-17 12:55 用不用定時器隨意,本身按鍵就要加防抖,利用防抖延時即可,定時不要求準,太短了沒必要,太長了不易檢測到按鍵。實際就是發光管亮時是間斷顯示,是肉眼看不出來的,在熄滅瞬間檢測按鍵。在邏輯上和電器參數上都是沒有問題的。 |
wulin 發表于 2022-7-17 13:30 Proteus不用過多考慮電氣特性,僅考慮邏輯實現即可,就像單片機最小系統一樣,都不用外加復位和時鐘啥的,直接設置就行。 |
myemcu 發表于 2022-7-17 12:25 沙發說得沒錯。一個IO口復用于LED和按鍵當然可以,但要有硬件條件支持的。樓主這個圖是有缺陷的,有損毀IO口的風險。 ![]() |
雪玉寐影 發表于 2022-7-17 12:30 這個才是正解,怎么方便怎么來。 |
這個電路只能實現按下亮,抬起滅。要實現按一下亮再按一下滅,無法實現。除非你的LED和按鍵分開用不同的IO口。 |
mtdzok 發表于 2022-7-17 12:36 還要用內部Timer? |
雪玉寐影 發表于 2022-7-17 12:30 項目要具有可擴展需求,比如再加個閃爍狀態啥的。 |
扔掉單片機,按鈕改成自鎖按鈕! |
hhdsdy 發表于 2022-7-17 12:21 人家項目已經量產了,就是采用的這種方案 ![]() |
myemcu 發表于 2022-7-17 11:40 單片機是可以編程,但是還是得符合單片機的工作要求啊,沙發都告訴你不行了還爭辯 |
xianfajushi 發表于 2022-7-17 11:06 編程實現呀,如果純硬件的話,還要單片機作甚 ![]() |
這樣電路無法實現,當低電平時點亮則再無法檢測按鍵操作,高電平時是可以檢測按鍵按下操作。 |