如何判斷單片機是否起振,我分為兩種情況。
一、外接晶體振蕩器情形
這種情況可以用示波器直接抓取波形。值得注意的是,探頭及示波器的帶寬是否超過晶振的振蕩頻率。同時示波器探頭要打到X10檔位,以增加探頭帶寬和減少探頭電容對振蕩電路的影響。并且探頭地線要改用地線彈簧。
二、單片機內部RC振蕩
這種情況下,一般無法直接測試,只能通過其它手段。
比如我經常使用的方法就是接一個LED指示燈。可作為電源指示燈,可作為狀態指示燈,可調試單片機。
調試階段,雅帆使LED每1秒閃爍一次。當然,只要能正常閃爍就說明單片機工作了。同時還能防止單片機看門狗設置不正確造成的復位(雅帆會改成2秒翻轉一次,如果不是這個周期,說明看門狗復位了)。
調試完成我就改成電源和狀態指示燈了。比如0.5秒閃爍表示工作正常。2短1長的亮表示有故障等。
怎么判斷單片機是否起振?其實就是想辦法判斷單片機是否能夠正常工作即可。判斷單片機內的程序是否能夠正常運行即可知道單片機是否起振,若單片機有外部看門狗信號,直接用示波器測量單片機給外部看門狗輸入信號的引腳,觀察其是否有波形輸出,且波形周期是否與設計值相吻合,若沒有波形輸出,則單片機沒有正常工作,程序沒有正常運行;若有相應的波形輸出,則證明單片機程序是在正常工作的。
若單片機沒有外部看門狗信號,可利用單片機未使用的一個I/O口進行測試,測試步驟如下:(1)更改單片機程序,初始化設置該I/O口為輸出引腳,在主函數上使該引腳為周期翻轉的輸出波形,翻轉周期最好2ms以內,這樣使用示波器監測波形時可更準確測量出單片機異常的時間;(2)將改好的程序燒錄進單片機后重新上電,用示波器測量該I/O口的輸出波形,若輸出一直為持續的周期波形,且周期與設計值相符合,說明單片機正常工作,晶振也沒有異常;若輸出波形不對,比如周期波形持續一段時間后,有一段高電平,然后才恢復周期波形,可測量這段高電平的時間,猜測該高電平時間單片機在復位,可檢查單片機的外部復位引腳是否異常;若無異常,檢查程序初始化時鐘配置等是否正確;程序內部看門狗是否開啟。
-
單片機
+關注
關注
6044文章
44627瀏覽量
638959 -
晶體振蕩器
+關注
關注
9文章
633瀏覽量
29265
發布評論請先 登錄
相關推薦
單片機實現延時兩種方法
![<b class='flag-5'>單片機</b>實現延時<b class='flag-5'>兩種方法</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論