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