在11.0592MHZ的晶振下,软件延时问题

[复制链接]
查看11 | 回复3 | 2011-9-9 02:55:03 | 显示全部楼层 |阅读模式
*功能:延时,延时时间为10ms*del。这是通过软件延时,有*输入:del*输出:无***********************************************************/voidDelay(uintdel){uinti,j;for(i=0;idel;i)for(j=0;j1827;j)//这个是通过软件仿真得出的数;}这个就是我们用KEIL软件仿真得出的10毫秒的延时程序。以上是我从书上摘录的程序及说明。我不明白为什么上述程序能实现延时10ms?
回复

使用道具 举报

千问 | 2011-9-9 02:55:03 | 显示全部楼层
2个FOR语句一直执行,消耗时间。
回复

使用道具 举报

千问 | 2011-9-9 02:55:03 | 显示全部楼层
你是不明白怎么计算出来10MS的里面的参数,还是不明白这个程序啊~!其实这个程序应该是通过汇编能计算出来的时间然后编写成的C语言程序啊~!所以里面参数都是根据这个而来的~!没事可以随时交流我的名字就是我的联系方式
回复

使用道具 举报

千问 | 2011-9-9 02:55:03 | 显示全部楼层
执行1827次空语句,也就是单片机在哪等着,执行1827次语句的时间是1ms。1287这个数据是仿真出来的数。你要计算也可以。用1除以晶振频率,然后再除以12,得到执行一条语句所需的时间。再用1ms除以该时间,即为执行空语句的次数。不过用软件仿真得出的数更可靠。……没分我都答得这么仔细……
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行