单片机中常用的延时控制方式有两种。一种是采用编程的方式达到延时的目的,另一种方法则是通过单片机中的两个定时器T0和T1进行计时达到延时的目的。 本例通过具体实例说明单片机的两种延时控制方式在实际中的应用。 采用编程方式延时控制 1.问题的提出 通过编程使单片机分别产生约10ms和约0.5s的延时。单片机的晶振频率为12MHz。因为单片机的晶振频率为12MHz,所以单片机1个机器周期的时间为1μs。 2.控制程序 (1)10ms延时程序。.jpg%20is%20missing%20or%20invalid'%20in%20D%3A%5CWebSite%5CShop%5Cassets%5Clib%5Cfilemanager%5Cinclude%5Cphp_image_magician_custom.php%3A120%3A5%0D%0AStack%20trace%3A%0D%0A%230%20D%3A%5CWebSite%5CShop%5Cassets%5Clib%5Cfilemanager%5Cinclude%5Cutils.php(309%2C3)%3A%20imageLib-%3EresizeImage%0A%231%20D%3A%5CWebSite%5CShop%5Cassets%5Clib%5Cfilemanager%5Cupload.php(95%2C9)%3A%20create_img%0A%232%20%7Bmain%7D.%3Cbr/%3E%0D%0A)
此程序的实际延时时间为:1+(1+2×250+2)×20=10.061ms (2)0.5s延时程序。
251×66×5×6+66×5×2+5×2+1×2+5×6+66×5×6=499662μs=0.49662s。 采用定时器延时控制 1.问题的提出 利用单片机定时器使之产生10h的延时控制。 2.控制程序
说明:程序中用“;程序开始******”符号表示程序开始,用“;程序结束******”符号表示程序结束,用“;-------------”表示将程序中各阶段程序分隔开,以便程序的条理性和直观性,这些符号均可以同时输入到Keil μVision3软件中进行编译。以下各例程序均同。