脈寬的測量,實際上是單個脈衝的測量,為了方便,採用了佔空比為50%的方波。信號的獲取是採用了開關接入了五路不同頻率的方波信號,分別是:1k、5k、8k、50k、100k五個。
顯示系統採用了四位的數碼管。
詳細電路如下圖所示
開關是為了激活中斷,來掃描脈衝信號。示波器是用來對比顯示的數值與所提供的方波源是否一致。
我們用的是12M的晶振,所以,每次累加的數值就是1微秒。1KHz的頻率,周期就是
T=1/1000=0.001秒,也就是1毫秒,1000微秒。由於我使用的是50%的方波,所以高電位的時間是500微秒。我打開示波器,然後運行仿真看下。
按下測量開關前的狀態,波形選擇了1K,示波器是50微秒一格,從左向右數,高電位剛好是10格,也就是500微秒,符合計算的數值(不符合才怪)。接著按下測量開關。
多次按下開關,測量多組數據,得出都是501微秒,估計跟我的計算程序有關,因為在關斷定時器時還要運行一個機器周期,所以,最少也要多個1微秒。還是比較精確了。
在測量一組數據看下。這次打開5K的方波。
測量值是101微秒,然後,示波器顯示的是2格,也就是100微秒。測量也比較精確了。
這個測量的是8k的,數據計算結果是1/8000=125微秒,半周期就是62.5微秒,也就是63微秒了。數據也還算準。偏差不大。
這個就是50K的了,11微秒,這個1微秒看來是無法取消掉了,不過每次都有這麼一個微秒,也是好解決的,在計算過程中直接減去一微秒就可以了,就消除了這個誤差。也是完美。
這是100K的數據,6微秒,波形都看不出來了,一片全是,也沒有調整時間,看著更加直觀,尤其是對比著其他波形來看。
從這五個波形的測量上我們可以分析:
波形頻率1K,實際半周期時間500微秒,測量時間501微秒。多了1微秒。
波形頻率5K,實際半周期時間100微秒,測量時間101微秒。多了1微秒。
波形頻率8K,實際半周期時間62.5微秒,測量時間63微秒。多了0.5微秒。
波形頻率50K,實際半周期時間10微秒,測量時間11微秒。多了1微秒。
波形頻率100K,實際半周期時間5微秒,測量時間6微秒。多了1微秒。
多次測量基本可以判斷,這一個微秒是由於程序造成的,完全可以在程序計算過程中進行消除誤差。也就是pl在計算之前,做一個pl=pl-1;即可。
其實我們在實際使用設備中,不可避免的會產生一些誤差,有的可以用計算來彌補,有些硬體上的誤差,就需要自己總結方法了。例如波形的幹擾,尤其是高頻波形。測量中,建議使用多次測量求平均值。如果是真的實際使用,個人建議使用按鍵來激活測量,一方面是比較可控,另一方面,便於記錄。