theetboy 发表于 2016-9-6 14:54:21

我真后悔当年怎么没去学微电子和无线电呢…………

xsfzh 发表于 2016-9-11 13:07:47

这也能做太厉害了

wurenji 发表于 2016-9-11 14:32:56

顶,淡定,淡定,淡定……

WJC00 发表于 2016-9-21 11:55:13

不错,下载试试.

1115608633733 发表于 2016-9-22 18:15:54

明白了

1473496925 发表于 2016-9-29 14:15:55


謝謝樓主 分享

for水坎兄 发表于 2016-10-17 09:53:26

厉害   模友之吧越来越给力了不像5imx他妈的里面东西是好可以不能评论   啥都他妈的权限不足去死吧

MARK_YANG 发表于 2016-10-19 11:49:13

这个不错,稳定吗??

三只熊1959 发表于 2016-10-23 11:42:56

好厉害....................................

hhy19791010 发表于 2016-10-23 13:08:38

请加飞天狼微信ftlzzy,大家一起打造中国最大航模爱好者朋友圈。

哈哈哈哈哈123 发表于 2016-11-4 11:37:57

支持支持

52myzb 发表于 2017-1-16 22:10:52

电阻型号呢?

917840533 发表于 2017-1-25 13:03:36

52myzb 发表于 2017-1-16 22:10
电阻型号呢?

1K到5K之间都没问题,不接也可以但不推荐

10BGI5Hztx 发表于 2017-1-26 10:57:34

楼主真厉害,运费高又贵,路过帮顶,高手。

supercaby 发表于 2017-1-26 15:46:15

这个还是很有用的啊!!

w294714570 发表于 2017-1-26 20:50:44

路过,顶起来!

payne.pan 发表于 2017-1-28 21:17:37

本帖最后由 payne.pan 于 2017-1-28 21:30 编辑

前天刚看到这篇文章,支持楼主,代码我改写了一遍,更方便大家阅读。

========================================

/*      ppm to pwmfor stc15f104w 12Mhz          */
/*from http://www.moz8.com/thread-63467-1-1.html*/
/*original by "917840533", changed by "Payne.Pan" */
/*not allowed for commercial usage                */
/*                2017.1                            */

#include"reg52.h"
#include "intrins.h"
#define u8 unsigned char
#define u16 unsigned int

#define PWM_FrLen 22500

sfr P3M1=0xb1;
sfr P3M0=0xb2;
sfr AUXR=0x8e;
sfr T2H=0xd6;
sfr T2L=0xd7;
sfr IE2=0xaf;

sbit out=P3^4;
sbit k0=P3^0;
sbit k1=P3^1;
sbit k2=P3^2;

u16 ppm,ppms,pwm;

u8 sel_ch=0, read_pos=0;
bit pwm_setting=1, timeout = 0 ;

void ppm_int() interrupt 2 {
      TR0=0;
      /* read data in us */
      ppm=TH0;                  
      ppm=(ppm<<8)|TL0;
      /* clear T0 for next read*/
      TH0=0;
      TL0=0;            
      TR0=1;      

      if(ppm>2500 || timeout) {
                read_pos=0;
                timeout=0;
                return;
      }

      if ( read_pos>7)return;

      ppms = ppm;

}

void T2_int() interrupt 12 {

      pwm=ppms;

      if (pwm_setting) {
                out=0; T2H=(65535-pwm)/256; T2L=(65535-pwm )%256;
      }      else {
                out=1; T2H=(65535-PWM_FrLen+pwm)/256; T2L=(65535-PWM_FrLen+pwm)%256;

      }
      pwm_setting = !pwm_setting;
}


void T0_int() interrupt 1 {   
      timeout=1;               
}

void main()
{
      /* p3.4 as output, p3.3 as input */
      P3M0=0x10; //10000
      P3M1=0x08; //01000

      /* interrupt 1 */
      EX1=1;   // enable INT1
      IT1=1;   // mode
      PX1=1;   // priority

      /* T0 */
      ET0=1;       // enable T0 interrupt
      TMOD=0x01;   // T1 16bit mode

      /* T2 */
      T2H = T2L = 0;
      IE2=0x04;   // enable T2 interrupt
      AUXR=0x10;// T2 start

      EA=1;

      sel_ch=k0;
      sel_ch=(sel_ch<<1)|k1;
      sel_ch=(sel_ch<<1)|k2;

      while(1);
}

玩飞机的小宁宁 发表于 2017-1-31 12:22:12

强!!!!!!

917840533 发表于 2017-2-2 23:43:41

payne.pan 发表于 2017-1-28 21:17
前天刚看到这篇文章,支持楼主,代码我改写了一遍,更方便大家阅读。

================================== ...

感谢整理,一直都是独自写程序独自用,很多写法格式都不懂还请多多指教

payne.pan 发表于 2017-2-3 08:47:50

917840533 发表于 2017-2-2 23:43
感谢整理,一直都是独自写程序独自用,很多写法格式都不懂还请多多指教 ...

恩,多交流,一起进步。
页: 1 2 3 [4] 5 6 7 8 9
查看完整版本: 不到3块钱,极小体积把PPM分离成PWM信号