Re: [問題] 量測脈波寬度
※ 引述《katzlee (I wish)》之銘言:
: ※ 引述《BlueFeel (藍色感覺)》之銘言:
: : 請教一下,
: : 如果我要設計一個....
: : pin2 輸入負脈波寬度>1ms , pin1 = 1
: : <1ms , pin1 = 0
: : 的功能
: : 剛開始以為 pin2用INT0(外部中斷)做
: : 在中斷函式內 寫個 計數器,
: : 當跳開後,會依計數值做pin1判斷1還是0
: : 後來發現,我誤會中斷的意義
: : 它是 "下緣觸發".....就跳進中斷函式,做計數沒錯
: : 但這計數....值並非並非是負脈波寬度
: : 怎麼說??
: : 跳到中斷計數....這計數只計1次.....非我想像的一直計數到 rising才停
: : 所以想跟大大請教一下
: : 這樣的應用該怎麼做呢??
: 我之前也是要做量測PWM Duty的function,也是想了好久
: 因為你duty的精度跟你MCU count的快慢強相關...
: 當你的PWM頻率一快時,計數出來的結果,換算回Duty其實不太準
: 不過你如果只是要判斷大於1ms就可以,超過一點沒關系的話那就還好
: 我最後的方法是 直接讓他進一個RC filter...
: 再用ADC去捉那個dc值回來,而你如果只是要比固定的寬度,
: 不用ADC,直接加個比較器也行 - MCU中斷輸入直接接比較器輸出
: 來改變pin1的輸出
: 一點建議,希望沒誤會你的需求。
感謝您的建議
主要是因為成本不想太高 (希望mcu只要50元以下,好買)
雖然沒有要很精準需要去算多少ms,但也不能有 PULSE, mcu卻lose判斷到的機會出現
因為成本考量 , 外面接一些被動元件超過50元也不行
所以很麻煩
目前買到的是AT89C2051 (50元)
覺得很怪,我ALL-11燒的時候出現ID check沒過
換過一顆也是一樣.
若是取消ID check的話,如抹除.....等等,都正常
就第一個id check不過,真怪
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.195.194.110
※ 編輯: BlueFeel 來自: 123.195.194.110 (04/13 20:57)
討論串 (同標題文章)
ASM 近期熱門文章
PTT數位生活區 即時熱門文章