89c51单片机 void delay1ms(unsigned int i) { unsigned char j; while(i--) { for(j=0;j<125;j++)
3个回答
展开全部
这个算不太好算,而且你算出来的不一定准确,如果程序是用汇编写的话是可以算的,因为C语言是高级编程语言,在不同的编译环境下所生成的代码不一定一样,所以执行时间也不一样,对于测延迟时间可以有几个方法,第一个呢就是直接用示波器测,第二个方法是直接用开发工具仿真,比如你用keil写的程序,设置project\target里面有一个xtal,将xtal的大小设置为你开发板上晶振的大小,然后确定,再点debug,start debug,左边会弹出一个框,有一个sec的就是表示时间了,你可以通过设置断点的方式来得到这个延时函数的执行时间,具体步骤略
追问
在编程序的时候怎么知道他能延迟1ms呢??在不运行的情况下
追答
通过debug仿真不就知道了吗,这是最简单的方法而又最有效最方便的方法了,要不然可以通过编译后生成的代码反汇编,再一条一条指令算,debug仿真是软件仿真,不需要硬件支持也能得到确切的时间
展开全部
单片机嵌入式技术群500人高级群:191719080 ,欢迎电子技术同行爱好者们加入,让我们一起探讨单片机、嵌入式等电子技术啦!
=====================================================
=====================================================
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
仿真出来的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询