参数的类型和范围:延时函数的参数应该是一个整数或者长整型,代表延时的时间,通常以毫秒为单位计算。需要注意的是,参数值过大会导致程序卡死,参数值过小则可能导致延时不够精准。
多任务环境下的使用:在多任务环境下,使用延时函数可能会导致系统的调度产生问题,因此需要特别小心。在多任务系统中,延时 *** 作可以使用 *** 作系统提供的定时器来实现。
与硬件相关的问题:延时函数的精准度和准确性受到硬件环境的影响,特别是与CPU时钟频率和计时器相关的外设。在不同的硬件平台上,延时函数的实现方式与精准度也可能不同。
不要在主循环中使用:由于延时函数的特性,它会阻塞当前的执行并延迟一段时间,因此不应该在主循环中使用。在主循环中使用延时函数会导致程序失去响应,无法处理其他任务或事件。
可移植性问题:延时函数的实现方式不同,可能会对程序的可移植性产生影响,并可能需要进行特殊的处理。因此,在使用延时函数时,需要考虑到程序的可移植性问题。
#include<reg52.h>
unsigned
int
c
void
main{
TMOD=0x01//设置定时器0为工作方式1
TH0=(65536-50000)/256
TL0=(65536-50000)%256
EA=1//开总中断
ET0=1//开定时器0中断
TR0=1//启动定时器0
c=0
while(1)
{
if(c==12000)
{c=0}
//10分钟
很精确
}
}
void
time0()
interrupt
1
{
c++
TH0=(65536-50000)/256
TL0=(65536-50000)%256
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)