實例講解,51單片機常用延時控制子程序
單片機中常用的延時控制方式有兩種。一種是采用編程的方式達到延時的目的,另一種方法則是通過單片機中的兩個定時器T0和T1進行計時達到延時的目的。
本例通過具體實例說明單片機的兩種延時控制方式在實際中的應(yīng)用。
采用編程方式延時控制
1.問題的提出
通過編程使單片機分別產(chǎn)生約10ms和約0.5s的延時。單片機的晶振頻率為12MHz。因為單片機的晶振頻率為12MHz,所以單片機1個機器周期的時間為1μs。
2.控制程序
(1)10ms延時程序。
此程序的實際延時時間為:1+(1+2×250+2)×20=10.061ms
(2)0.5s延時程序。
此程序?qū)嶋H延時時間為:251×66×5×6+66×5×2+5×2+1×2+5×6+66×5×6=499662μs=0.49662s。
采用定時器延時控制
1.問題的提出
利用單片機定時器使之產(chǎn)生10h的延時控制。
2.控制程序
說明:程序中用“;程序開始******”符號表示程序開始,用“;程序結(jié)束******”符號表示程序結(jié)束,用“;-------------”表示將程序中各階段程序分隔開,以便程序的條理性和直觀性,這些符號均可以同時輸入到Keil μVision3軟件中進行編譯。以下各例程序均同。