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