|
|
前往: |
| 12M晶振 51产生38khz(26us)载波 |
| 发表人 | 内容 | |
|---|---|---|
| 2011/05/28 10:05 |
|
|
|
[楼主位] tyqhaha
等级:
注册时间:![]() 2011/03/30 15:05 文章: 25 离线 |
想请教一段51的红外载波的代码,12M晶振
示波器看到是标准的26US周期的信号,比较疑惑
而且正负周期是1:1,不是想象中的12:1 代码如下: void delay_LED(unsigned int de) { while(de--) { IR_OUT = 1; _nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); IR_OUT = 0; _nop_(); } } _nop_(); // 1us 至于while占多少时间不是很懂。 调用函数花2us,返回2us,时间算下来不是26的样子哇,请高手指导下 这篇文章被编辑了 1 次. 最近一次更新是在 2011/05/28 10:06 |
|
|
||
| 2011/05/29 00:08 |
|
|
|
[1楼] 正点原子
等级:
注册时间:![]() 2010/12/02 10:41 文章: 8097 来自: 湖南 离线 |
回复【楼主位】 tyqhaha :
--------------------------------- 这种要用汇编才准的。 执行while(de--)这样的操作,51估计也要花很多时间。 |
|
|
我的淘宝小店:http://shop62103354.taobao.com |
||
|
||
|
|
||
|
| 前往: |