線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2049
推到 Plurk!
推到 Facebook!

提供 Pulse 做 Level 判斷,該如何處理?

答題得分者是:if8051
aki
版主


發表:30
回覆:696
積分:755
註冊:2004-01-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2012-11-29 12:05:21 IP:203.69.xxx.xxx 訂閱
各位網友先進,
一般如 Key 都是用 GPIO 來判定準位(level)是 "H" or "L" 來做後續判斷的處理.
但是現在,判定準位的條件被改為提供給一個 Clock 是 "H", 沒有提供 Clock 則表示是 "L",
這時候軟體該如何處理? 來判定 Level? 請分享經驗,

PS: Clock 先假設 Duty 是 50%

感恩!
編輯記錄
aki 重新編輯於 2012-11-28 21:07:37, 註解 無‧
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2012-11-29 12:16:55 IP:114.32.xxx.xxx 訂閱
不知是否可行
開啟外部中斷,正緣觸發,發生中斷表示H,平常則為L


===================引 用 aki 文 章===================
各位網友先進,
一般如 Key 都是用 GPIO 來判定準位(level)是 "H" or "L" 來做後續判斷的處理.
但是現在,判定準位的條件被改為提供給一個 Clock 是 "H", 沒有提供 Clock 則表示是 "L",
這時候軟體該如何處理? 來判定 Level? 請分享經驗,

PS: Clock 先假設 Duty 是 50%

感恩!
aki
版主


發表:30
回覆:696
積分:755
註冊:2004-01-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2012-11-29 12:36:46 IP:203.69.xxx.xxx 訂閱


這個做法我也想過,但是問題是 Clock 不知道會來連續幾個,可能是 1個,
也可能會是 9 個或是 100 個連續的 Clock,!

===================引 用 taishyang 文 章===================
不知是否可行
開啟外部中斷,正緣觸發,發生中斷表示H,平常則為L


===================引 用 aki 文 章===================
各位網友先進,
一般如 Key 都是用 GPIO 來判定準位(level)是 "H" or "L" 來做後續判斷的處理.
但是現在,判定準位的條件被改為提供給一個 Clock 是 "H", 沒有提供 Clock 則表示是 "L",
這時候軟體該如何處理? 來判定 Level? 請分享經驗,

PS: Clock 先假設 Duty 是 50%

感恩!
ScottWang
版主


發表:32
回覆:486
積分:688
註冊:2009-04-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2012-11-29 15:32:07 IP:36.229.xxx.xxx 訂閱
要先釐清你的問題,然後才能找到解決之道.
1. 總共幾個key?
2. 假設為16 keys,0~9,A~F,相對的數字與英文字,各用收到幾個Clock來表示?
3. 數字與英文字的時間間隔和空白的時間間隔各為多少mS,uS?
4. 其它細節?


===================引 用 aki 文 章===================
這個做法我也想過,但是問題是 Clock 不知道會來連續幾個,可能是 1個,
也可能會是 9 個或是 100 個連續的 Clock,!
------
高壓直流電源供應器,高壓模組,測試LED專用AC LED定電流源,全範圍可調電壓電流,
中低壓直流電源供應器,電壓放大器,電流放大器,帶通濾波器,高精度參考電壓,
標準電壓,恆流源(定電流源),恆壓源(定電壓源),大電流電源供應器.
接受訂製,設計生產各種特殊規格,高精度產品,學校實驗室,研究單位實驗設備,
另可接受其它電子專案設計,HV Power,Vmax=20KV,Imax=2000A.
http://hvpower.myweb.hinet.net/
編輯記錄
ScottWang 重新編輯於 2012-11-29 08:17:55, 註解 改錯字與增加項目‧
if8051
中階會員


發表:2
回覆:53
積分:61
註冊:2012-08-24

發送簡訊給我
#5 引用回覆 回覆 發表時間:2012-11-29 18:00:33 IP:114.40.xxx.xxx 訂閱
假設 clock   f = 1KHz ,   t = 1mS , 使用 T0  0.25mS 中斷一次,後在 T0   ISR 內計數 i++ loop counter
裡面在宣告變數 signed char k ; 用來判斷是 clock or low level

i ;
if ( P1_0 == 1 )
k ;
else
k -- ;
if ( i == 100 ) // 當計數到達 100 次之後
{
i=0 ;
if ( k <= -90 )
P0_0 = 0 ; // 判斷是 low level
else
P0_0 = 1 ; // 判斷是 clock
k = 0 ;
}


------
ATMEL AVR 單晶片設計開發 教學

工業電子 電機自動控制 設計 維修
addn
高階會員


發表:64
回覆:221
積分:202
註冊:2005-03-21

發送簡訊給我
#6 引用回覆 回覆 發表時間:2012-11-29 19:30:12 IP:111.242.xxx.xxx 訂閱
CLOCK好像可以經過NE555單穩態電路後,在給單晶片處理
aki
版主


發表:30
回覆:696
積分:755
註冊:2004-01-15

發送簡訊給我
#7 引用回覆 回覆 發表時間:2012-12-01 09:09:32 IP:111.243.xxx.xxx 訂閱


感謝提供保貴的建議,發問前我也檢討過類似的作法,當初的建議是採用74123, 但是因為硬體已經作好,沒有時間變更硬體,所以知能想到軟體的對策所以發問。


===================引 用 addn 文 章===================
CLOCK好像可以經過NE555單穩態電路後,在給單晶片處理
handystudio
高階會員


發表:1
回覆:81
積分:106
註冊:2005-03-26

發送簡訊給我
#8 引用回覆 回覆 發表時間:2012-12-02 01:01:27 IP:114.38.xxx.xxx 訂閱
我的方式會用timer interrupt 與 一個 cnt 來處理
在timer interrupt 裡偵測信號是否轉態,assume 100us interrupt one time
不過因不清楚你clock 規則,難進一步建議
在 LCD monitor 的按鍵,很多採用 clock 來減少 key pad 接到 main board 的 pin 數,但 clock 有一定的規則
===================引 用 aki 文 章===================


感謝提供保貴的建議,發問前我也檢討過類似的作法,當初的建議是採用74123, 但是因為硬體已經作好,沒有時間變更硬體,所以知能想到軟體的對策所以發問。


===================引 用 addn 文 章===================
CLOCK好像可以經過NE555單穩態電路後,在給單晶片處理
------
歡迎光臨 輕巧工作室
網站 http://www.handystudio.tw
控制電路板客製設計、製作交貨
8051專題製作/專題客製
系統時間:2024-03-29 3:03:19
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!