热门文章
随机文章
您现在的位置:主页 > 头条新闻 > 内容

51 MCU如何理解这句话?延迟1 ms(3 j + 2)i =(3 x 33 + 2)x 10 = 1010(微秒)

展开全部
在程序中,循环j执行33次。评论中的计算数据是3j + 2。在for循环中,仅执行第一个语句j = 0,执行判断条件j33和增量j ++ 33次,然后获得下面的表达式。2是j = 0执行时间。
从注释的计算,计算单位是us,赋值语句(j = 0)只有2个单位(us),一个芯片的机械周期(指令周期)是1 us。根据MCU指令的周期时间,分配声明(等号)Td为2个机械周期(2 us),自动增/减声明Tz为1个机械周期(1 us),判断(,),==等。)Tp为2个机械周期在占用(2us)的程序中,为j执行循环赋值语句一次(总Td x 1 = 2us)并重复自动递增和句子的语句。33次运行(总(Tz + Tp)×33 = 3us×33),j次循环总Es(Tz + Tp)×j + Td = 3j + 2 = 3×33 + 2。ifor循环确定循环数j。初始计算可以使用(3 j + 2)x i,精确计算也应该考虑到我。Td也是2 us,i(Tz + Tp)×10也是3×10 = 30 us。总循环时间i本身是3i + 2 = 32 us。
总之,实际总时间是3i + 2 +(3j + 2)×i = 1042 us。