痞酷網_PIGOO

 找回密碼
 立即註冊
!!! [系統偵測到廣告阻擋軟體] !!!

如果您覺得痞酷網對您有些許幫助,或者您認同痞酷網的理想,

那麼希望您將痞酷網設定為白名單.

並請在上論壇的時候,動動您的手指,用行動支持我們.

謝謝!
查看: 4811|回復: 10

LED搖搖棒的疑問??

[複製鏈接]
發表於 2012-2-18 05:53:21 | 顯示全部樓層 |閱讀模式
小弟跟朋友
正在做這專題
16顆LED
89S51
閃爍延遲是計時器+迴圈作
INT0用水銀開關觸發LED閃爍
加一顆按鈕作為改變圖形用
用組合語言寫
目前的問題是
1.能看出是什麼字
但字體不太會置中
2.在搖晃時
明明沒按到按鈕
圖形就會改變
但不是常常發生
偶爾一兩次

想請教能改善的意見


發表於 2012-2-18 08:21:53 | 顯示全部樓層
我做過簡易的搖搖棒也算是同好!!
不會置中問題 假如你用機器去搖(規律性一致)還會如此那可能是水銀開關導致的"接觸"時間點不一,用手晃會因為"加速度"的關係導致字型寬度不同 更不用提"置中"的現象了..
沒按按鈕卻跳圖形,當然有可能是 雜訊 問題了..
以上都跟軟體無關,軟體寫得好很多東西都可以補足,先前YSC大建議把搖晃的時間計算出點與點之間平均的顯示間隔再點亮LED..這是軟體上的功力,可惜我沒有寫的很好..
發表於 2012-2-18 13:05:25 | 顯示全部樓層
INT0用水銀開關觸發,有經過debounce嗎?
按鈕也要debounce......

發表於 2012-2-18 13:48:08 | 顯示全部樓層
INT 進入後, 處理的步驟需要在大概1-10ms後再次確認開關是否閉合

按鈕的都一樣

目的是防止干擾而產生誤動作

一般稱為 switch debounce

如果你的開關有接 RC, 則可以省略以上的步驟, 如果沒有RC, 則需要軟件處理開關訊號的彈跳或干擾

參考看看.
發表於 2012-2-18 14:08:40 | 顯示全部樓層
本帖最後由 ysc 於 2012-2-18 02:09 PM 編輯
xiaolaba 發表於 2012-2-18 01:48 PM static/image/common/back.gif
INT 進入後, 處理的步驟需要在大概1-10ms後再次確認開關是否閉合

按鈕的都一樣


對機械性開關這樣做還不夠,
我都是以軟體做debounce,
以軟體持續檢查30mS,確認持續在穩定狀態才算數。
當然這種debounce工作不能妨礙到其他程式的進行,
尤其有時需要同時對幾十點進行debounce,
所以我都將debounce工作放在計時中斷程式內,
以多工方式來做debounce。
發表於 2012-2-18 19:48:48 | 顯示全部樓層
ysc 發表於 2012-2-18 01:05 PM static/image/common/back.gif
INT0用水銀開關觸發,有經過debounce嗎?
按鈕也要debounce......

ysc大:
  我的水銀開關沒有設 跳彈!! 難怪一直不太順!!
發表於 2012-2-18 20:03:06 | 顯示全部樓層
antlu 發表於 2012-2-18 07:48 PM static/image/common/back.gif
ysc大:
  我的水銀開關沒有設 跳彈!! 難怪一直不太順!!

機械性開關沒debounce一定不行,很容易造成誤判,
我設計機械控制器時,連光電開關、近接開關都有做debounce,
要不然隨便跑個幾uS雜訊來就跟著動作,嚴重時會出人命的。

將debounce做成例行性工作還有個好處,利用debounce的時間可以調整輸入靈敏度,
可以很容易控制輸入訊號確實產生多久之後才動作,
有如以RC做硬體debounce,改變RC值就可改變反映速度。

套句賣藥的廣告詞:「研究藥效要先研究不傷身」,電腦控制器功能做得再強再花俏,
若是運作不穩定....那一切都是白搭!
發表於 2012-2-18 23:43:52 | 顯示全部樓層
ysc 發表於 2012-2-18 08:03 PM static/image/common/back.gif
機械性開關沒debounce一定不行,很容易造成誤判,
我設計機械控制器時,連光電開關、近接開關都有做debou ...

YSC大:
   感謝傳授武功心法!! 這幾天把以前的小綠人七段LED拿出來,打算做一個更大的時鐘...
發表於 2012-2-19 00:10:38 | 顯示全部樓層
行家一出手,便知有沒有!
y大說的果然是一針見血,很多都是我這陣子的領悟!
發表於 2012-2-19 00:13:46 | 顯示全部樓層
antlu 發表於 2012-2-18 11:43 PM static/image/common/back.gif
YSC大:
   感謝傳授武功心法!! 這幾天把以前的小綠人七段LED拿出來,打算做一個更大的時鐘... ...

阿乾大客氣了,或許單晶片C語言還要跟您學習呢!
發表於 2012-2-19 00:14:36 | 顯示全部樓層
bitboc 發表於 2012-2-19 12:10 AM static/image/common/back.gif
行家一出手,便知有沒有!
y大說的果然是一針見血,很多都是我這陣子的領悟! ...

不敢不敢!剛好在這一塊摸久了,大家都各有專長.....
您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

關閉

站長小叮嚀上一條 /1 下一條

禁閉室|手機版|連繫我們|痞酷網電子技術論壇

GMT+8, 2024-11-23 03:32 PM , Processed in 0.186161 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.