Ⅰ 單片機讀取信號的頻率
單片機肯定需要時鍾了,時序邏輯電路沒有一個是不需要時鍾的,時鍾的電路到處都有啊,很簡單的
200HZ的信號最好是先通過施密特觸發器或者比較器整形,濾波,看你是測量200Hz的什麼信息了,是頻率還是脈沖寬度
測頻率的話,主程序配置一個定時器,一個外部中斷,邊沿觸發,設置一個標志位,中斷程序先判斷標志位,標志位為0,啟動定時器,同時置位標志位,表示現在定時器在計數;標志位為1,停止定時器,同時復位標志位,這時定時器的值就是信號周期了,要是需要更精密的話,看反匯編,精確調整時間。
測脈沖寬度的話,程序差不多,定時器需要打開門控位,當外部中斷管腳為高電平是自動啟動定時器,外部中斷還是邊沿觸發,也是建立一個標志位;中斷程序裡面,先判斷標志位,標志位是0,把定時器清零,啟動定時器,定時器就會記錄高電平時間,如果標志位是1,可以直接讀定時器的值,就是脈沖寬度了。
把兩個程序結合起來使用兩個定時器就能同時測量頻率跟脈沖寬度了。
如果用52單片機,可以用T2定時器,這個定時器功能強大一些