該怎麼判斷單片機是否起振?如何判斷晶振好壞?這一共有兩個問題,先說說怎麼判斷晶振好壞,晶振是CPU的心臟,晶振好壞直接影響CPU是否能夠正常工作,晶振輸出是一個非常有規律的時鐘波形,想要知道晶振是否有問題,直接使用示波器測量晶振的輸出即可。如下圖為示波器測出晶振的波形,波形是否畸變或者幅值是否偏低一目了然。
重點說一下怎麼判斷單片機是否起振?其實就是想辦法判斷單片機是否能夠正常工作即可。判斷單片機內的程序是否能夠正常運行即可知道單片機是否起振,若單片機有外部看門狗信號,直接用示波器測量單片機給外部看門狗輸入信號的引腳,觀察其是否有波形輸出,且波形周期是否與設計值相吻合,若沒有波形輸出,則單片機沒有正常工作,程序沒有正常運行;若有相應的波形輸出,則證明單片機程序是在正常工作的。
若單片機沒有外部看門狗信號,可利用單片機未使用的一個I/O口進行測試,測試步驟如下:(1)更改單片機程序,初始化設置該I/O口為輸出引腳,在主函數上使該引腳為周期翻轉的輸出波形,翻轉周期最好2ms以內,這樣使用示波器監測波形時可更準確測量出單片機異常的時間;(2)將改好的程序燒錄進單片機後重新上電,用示波器測量該I/O口的輸出波形,若輸出一直為持續的周期波形,且周期與設計值相符合,說明單片機正常工作,晶振也沒有異常;若輸出波形不對,比如周期波形持續一段時間後,有一段高電平,然後才恢復周期波形,可測量這段高電平的時間,猜測該高電平時間單片機在復位,可檢查單片機的外部復位引腳是否異常;若無異常,檢查程序初始化時鐘配置等是否正確;程序內部看門狗是否開啟?是否定時進行餵狗?餵狗時間是否超時?等。
以上是本人的經驗分享,大家有什麼看法?歡迎留言