单片机做红外解码和PWM输出;解码影响PWM输出
用STC12C系列的单片机;3路PWM输出;
红外遥控器接制PWM输出波形脉宽;
碰到的问题:
红外脉冲时长100多ms;影响PWM占空比输出;
造成PWM输出时波形不稳定;
请问各位支个招;
目前想到的办法:
用两个单片机;一个只做解码;一个只用来产生PWM;两个之间用串口进行通信;
软件怎么处理才能用一个单片机就把这个给搞定 ; 我先顶个; 小定时中断收码,pwm周期控制到到够用就行 shower.xu 发表于 2013-4-19 16:05 static/image/common/back.gif
小定时中断收码,pwm周期控制到到够用就行
如上图:
发码时间固定在一个范围内;
中断收码时间是固定的一个范围;
这个时间远大于20ms;
PWM初值计算方式;20ms/255=78us; 定时器初值设置的是50us;
以前也一直未这个问题纠结 红外解码就很占用资源其他对时间要求精度高的任务就很难办到
不知有没有集成的解码接收芯片 不是让你在中断里整个收码,是在中断里判断信号的高低电平,设置标志位和累加计数,其它在主程序里处理。
或者反过来做:
收码在主函数里,三路pwm用定时器模拟,1ms中断一次,把pwm精度放为5%,频率50HZ,一般的马达看不到抖动。也不会影响收码。
所谓底半部 中断放标志,用主程序判断标志处理状态,不会影响 建议你把红外解码做成一个带点智能型的模块~~~~~~~~~
pwm中断设标志位,利用这个标志位来红外解码,基本上可以解决问题 感谢诸位;问题已经得到解决;
用6楼 shower.xu 的方法;改变PWM的精度;
页:
[1]