不管是MCU還是ARM及DSP等程序控制類,從玩了20余年的經驗來看,
最關鍵的當數IO,定時及中斷。
只要很好地應用此三板斧,MCU基本就算結業并可謀生了~~~
IO基本由2類代表作,即51的準雙向和其他MCU/ARM/DSP的真雙向。
準雙向的特點是高電平的驅動能力較弱,但其優點是控制方便,不需設定輸入輸出方式。更難得的是它模擬串行時序非常完美,幾乎可以和任何串行接口匹配。
真雙向的特點是高電平的驅動能力較強,優點是方向控制明確,但在模擬時序方面顯然不如前者。
特別注意的是在方向可以變化時,如果外部接口的拉電流或灌電流較大時,該IO做輸出高電平時就有很大的危險性,故有時需要加電阻限流或二極管隔離。
有時在模擬時序時,想要輸出高電平時,要“曲線救國”,既設置為輸入方式?。?!并且外部加上拉電阻(內部當然更好,像AVR的IO就很有特點),這樣就利用上拉電阻“輸出”了高電平?。。∽⒁?,輸出低電平是真的?。?!
定時器應該是不可缺少的~~~它可以很方便控制的延遲和OS的構成。這里就不多說了。。.
中斷是控制的精華,可能沒什么工控程序能離得開中斷了,可以想象沒有中斷的PIC12C508的定時器有多倒塌呀~~~
當然中斷也不是萬能的,至少它的響應是需要時間的。而且有時要中斷比有中斷不用更難為情~~~
如鍵盤中斷,當鍵盤壓下進入中斷服務程序后只能反映可能發生了鍵盤的跳變事件,但并不代表真的壓下鍵盤?。。‰y道要在鍵盤中斷里調用20mS軟件延時程序來進行鍵盤消抖嗎???真倒塌了~~~
當然要學的還很多,但先掌握此三板斧是很有必要的。。.
評論