今天别人问了一个关于天祥延时程序的问题。 void delay(unsigned int z)
本文引用地址:https://www.eepw.com.cn/article/201611/321144.htm {
unsigned int x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
对于此延时函数中,系统时钟为11.0592MHz,当z取1时,延时时间大约为1ms,即当z去m,其延时时间就m ms.但是,当把x和y的类型都修改为char型时,z同样取1,其延时却变为0.2ms,为原来的1/5。刚开始一直没想明白,原以为两种定义类型都应该是一样的,但实际却不是如此。经过多方打探,觉得下面的解释还比较好。由于在51单片机中,int型数据占2个字节(16位),而char型只占1个字节(8位),因此,在运行的过程中自然时间要短很多。
评论