zyf550115
获得 0 次赞
帮助过3人
你第二个程序dlynum和第一个程序dlynum的数据类型是不是一样的,如果你第一个程序的dlynum是CHAR类型,第二个是long int 类型,也就是说一个是8位,一个是16位。51是8位的,那C语言汇编时,WHILE语句生成的代码是不一样的,很显然第二个WHILE执行时间比第一个长很多。如果你两个都是CHAR类型,那第二个数据实际上dlynum=1000%256,烧到单片机里,延时时间就很短了,几乎没有延时。如果如果你两个都是long int 类型,你第一个程序延时绝对不止14ms