简单单片机程序延时函数

2019-07-15 22:46发布

单片机晶振是12MHz,延时函数如下:
[p=175, null, left]void delay200ms(void)[p=175, null, left]void delay200ms(void)        void delays(void)
               {
                   unsigned char i,j;     
                   for(i=0;i<100;i++)   
                        for(j=0;j<200;j++) ;
                }

粗略计算该延时函数的时间是不是100*200*1=20000uS=20mS=0.02S。如果不是,那该怎么计算,为什么,只是粗略计算。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
624542931
1楼-- · 2019-07-17 07:44
zitengL 发表于 2014-4-15 14:24
unsigned char i,j,k;这条语句需要3个机器周期还是一个机器周期,另外进函数和出函数各自需要2个机器周 ...

unsigned char i,j,k;用一個機器周期,+上進出函數的2*2個機器周期,則最好需+5個機器周期的時間。希望對你有幫助。
624542931
2楼-- · 2019-07-17 10:26
zitengL 发表于 2014-4-15 14:24
unsigned char i,j,k;这条语句需要3个机器周期还是一个机器周期,另外进函数和出函数各自需要2个机器周 ...

進函數需要2個機器周期,跳出函數也需要2個機器周期。
yc-cgk
3楼-- · 2019-07-17 11:18
谢谢分享!
依然落叶飘零
4楼-- · 2019-07-17 14:49
 精彩回答 2  元偷偷看……
Gentle1987
5楼-- · 2019-07-17 15:12
非常好,谢谢分享。
驭梦
6楼-- · 2019-07-17 19:53
学到东西了!!!!!!!!!!!!

一周热门 更多>