本帖最后由 simon_leung 于 2013-3-18 11:14 编辑
在论坛上看了很多资料,相信大家都是用的40kHz的探头,但问题是:大家的发送周期好像都不太一样。
1:有的在每次取反波形输出脚时,就用
- times = 8;
- while(times--)
- {
- out = ~out;
- while(i--);
- }
复制代码的方法,但大家i 的值预设都不一样,有的3有的5什么的,这方法while(i--)好像运行一次延时挺久的;
2:有的直接用
- while(times--)
- {
- out = ~out;
- }
复制代码这个方法我用反汇编看了一下,好像也延时15us取反一次,周期就变成了30us了,算下来也不是40kHz。这个 我是用单片机是stc89c52rc,12mhz测的。
请问大家是怎么计算精确延时的?
自己顶一下。
刚又试验了一下,第2种方法
- while(times--)
- {
- out = ~out;
- _nop_();
- _nop_();
- _nop_();
- .
- .
- .
- .
- 100个(_nop_();)
- .
- .
- _nop_();
- }
复制代码这样好像也不形响接收,就是说,一样可以接收到波形,检测得出来接收电路是这样的:
未命名.jpg (79.56 KB, 下载次数: 0)
下载附件
2013-3-18 11:13 上传
一周热门 更多>