如何從單片機初學者邁向單片機工程師

2013-09-05 11:39 來源:電子信息網 作者:和靜

從點亮LED(發(fā)光二極管)開始

在眾多的單片機學習資料中,最基礎的實驗無疑于點亮LED了,即控制單片機的I/O的電平的變化。

如同如下實例代碼一般

void main(void)

{

LedInit() ;

While(1)

{

LED = ON ;

DelayMs(500) ;

LED = OFF ;

DelayMs(500) ;

}

}

程序很簡單,從它的結構可以看出,LED先點亮500MS,然后熄滅500MS,如此循環(huán)下去,形成的效果就是LED以1HZ的頻率進行閃爍。下面分析程序有沒有什么問題。

看來看出,好像很正常的啊,能有什么問題呢?這個時候我們應該換一個思路去想了。試想,整個程序除了控制LED = ON ; LED = OFF; 這兩條語句外,其余的時間,全消耗在了DelayMs(500)這兩個函數上。而在實際應用系統(tǒng)中是沒有哪個系統(tǒng)只閃爍一只LED就其它什么事情都不做了的。因此,在這里我們要想辦法,把CPU解放出來,讓它不要白白浪費500MS的延時等待時間。寧可讓它一遍又一遍的掃描看有哪些任務需要執(zhí)行,也不要讓它停留在某個地方空轉消耗CPU時間。

1 2 3 > 
單片機

一周熱門