51单片机原理及应用延时问题

循环次数不一样多呀 


你软件仿真看看汇编代码单个循环中的指令数量是不是一样

第一个函数中MS没有数据类型

你的函数入口参数还没有啊,这是两个不同的算法啊参数鈈同延时不同啊

不过建议:如果用作简单的延时,没有太大精度要求的才用这种方式延时

软件延时不用太在意你可以使用一个定时器做┅个精确延时函数,软件延时注重的是大概延时多长时间

匿名用户不能发表回复!
}

专业文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。只要带有以下“專业文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

}

C程序中可使用不同类型的变量来進行延时设计经实验测试,使用unsigned char类型具有比unsigned int更优化的代码在使用时应该使用unsigned char作为延时变量。 以某晶振为12MHz的单片机为例晶振为12MHz即一个機器周期为1us。

关于单片机C语言的精确延时网上很多都是大约给出延时值没有准确那值是多少,也就没有达到精确高的要求,而本函数克服叻以上缺点能够精确计数出要延时值且精确达到1us,本举例所用CPU为STC12C5412系列12倍速的单片机,只要修改一下参数值其它系例单片机也通用,适用范围宽。

共有三条延时函数说明如下:

函数调用分两级:一级是小于10US的延时二级是大于10US的延时

}

我要回帖

更多关于 51单片机原理及应用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信