标题: 51单片机延时函数用法问题 [打印本页]

作者: zzh985514474    时间: 2019-7-28 14:37
标题: 51单片机延时函数用法问题
为啥 上面的I=70时 i--  为640um
而下面的I++ i=5时  为5个毫秒??

QQ图片20190728143550.png (24.49 KB, 下载次数: 41)

QQ图片20190728143550.png

作者: xianfajushi    时间: 2019-7-28 19:12
这属于变量复用看到i-0了?难道没看到延时1ms的调用?
作者: aaaaaa。    时间: 2019-7-28 19:25
上面的i=70时,i--是642us,是因为i每减一次,时间大约是10us,实际上你仿真一下,时间是小于10us,而i=70,时间是小于700us的,大概是642us;
下面的i=5时,i++,是由于前面有一个Delay1ms(1),每执行一次,延时一毫秒,总共程序执行了5次,延时5毫秒。
作者: wulin    时间: 2019-7-29 07:00
因为while(DSPORT)循环要等待5个1ms延时后跳出循环,在这里i++只是计算循环次数,其所占用CPU时间忽略。
作者: cphnkj188    时间: 2019-7-29 08:28
对,delay1ms(1)是延时1ms,就是说 i + 一次用时1ms 共延时5ms,程序没错




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1