|
|
類似你這種情況我以前經(jīng)常遇到,以至于我以后設(shè)計單片機(jī)電路總是在剩余的一個I/O口做一個測試點(diǎn),然后驅(qū)動一個LED,這樣做有以下好處
1:編寫的程序運(yùn)行不正常可以編一個LED閃爍程序,一秒閃一到兩次都可以,如果LED閃爍程序正常,說明單片機(jī)和晶振都沒有問題
2、編寫比較精確的定時程序,可以用這個驅(qū)動LED的I/O口發(fā)一個方波信號,用示波器測量這個方波信號的時間比計算要快,也很直觀
3、進(jìn)某個中斷或者某個子程序讓這個I/O口為高,返回中斷或者子程序讓這個I/O口為低,你可以觀察你的中斷或者子程序運(yùn)行情況
4、在程序的關(guān)鍵點(diǎn)讓這個I/O口的LED亮滅,對調(diào)試比較復(fù)雜的程序大有好處
5、整個編程中你可以用這個I/O口測試主程序的循環(huán)次數(shù),循環(huán)次數(shù)的頻率越高,說明的你的程序CPU應(yīng)用率越高
6、最后程序編完,利用主程序的循環(huán)次數(shù)編一個LED閃爍程序,隨時可以觀察主程序運(yùn)行情況
總之,單片機(jī)電路在剩余的一個I/O口做一個測試點(diǎn),好處多多,你這種情況是什么問題不好說,只有慢慢排查,先編一個一秒閃一次的程序,沒有示波器就是用萬用表也可以看出來。示波器是單片機(jī)編程的必備工具,我編程有兩樣?xùn)|西必不可少,一個是仿真器、一個是示波器,這兩樣?xùn)|西差一樣我寧愿不編程序。 |
|