Re: [問題] 量測脈波寬度

看板ASM (組合語言)作者 (藍色感覺)時間15年前 (2009/04/13 20:55), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串5/8 (看更多)
※ 引述《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)
文章代碼(AID): #19upO_DI (ASM)
文章代碼(AID): #19upO_DI (ASM)