欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: AVR328 PWM轉PPM源程序 [打印本頁]

作者: zhanguang    時間: 2018-10-13 16:16
標題: AVR328 PWM轉PPM源程序
#define ppm_in_pin   2
#define ppm_pulseIn  4
unsigned  int RC_count = 0;
unsigned  int PPM_HIGH = 0;
void RC_in() {
  RC_count++;
}
void setup()
{

  DDRB = DDRB | 0X1F ;
  DDRD = DDRD | 0XE0 ;
  Serial.begin(57600);
  pinMode(ppm_in_pin, INPUT_PULLUP);
  pinMode(ppm_pulseIn, INPUT);
  attachInterrupt(0, RC_in, RISING); //上升沿觸發中斷
}
void  RC_valout() {
  switch ( RC_count ) {
    //第一通道
    case 0:  {
        PORTD = PORTD & 0X1F; //PD后三位清零
        PORTD = PORTD | 0X20;//PD5輸出高電平
        PORTB = PORTB & 0XE0; //PB前五位清零
      }; break;
    //第二通道PD6
    case 1: {
        PORTD = PORTD & 0X1F; //PD后三位清零
        PORTD = PORTD | 0X40; //PD6輸出高電平
        PORTB = PORTB & 0XE0; //PB前五位清零
      }; break;
    //第三通道PD7
    case 2: {
        PORTD = PORTD & 0X1F; //PD后三位清零
        PORTD = PORTD | 0X80; //PD7輸出高電平
        PORTB = PORTB & 0XE0; //PB前五位清零
      }; break;
    //第四通道PB0
    case 3:  {
        PORTD = PORTD & 0X1F; //PD后三位清零
        PORTB = PORTB & 0XE0; //PB前五位清零
        PORTB = PORTB | 0X01; //PB0輸出高電平
      }; break;
    //第五通道PB1
    case 4:  {
        PORTB = PORTB & 0XE0; //PB前五位清零
        PORTB = PORTB | 0X02; //PB1輸出高電平
      }; break;
    //第六通道PB2
    case 5: {
        PORTB = PORTB & 0XE0; //PB前五位清零
        PORTB = PORTB | 0X04; //PB2輸出高電平
      }; break;
    //第七通道PB3
    case 6: {
        PORTB = PORTB & 0XE0; //PB前五位清零
        PORTB = PORTB | 0X08; //PB3輸出高電平
      }; break;
    //第八通道PB4
    case 7:  {
        PORTB = PORTB & 0XE0; //PB前五位清零
        PORTB = PORTB | 0X10; //PB4輸出高電平
      }; break;
    case 8:  {
        PORTB = PORTB & 0XE0; //PB前五位清零
         PORTD = PORTD & 0X1F; //PD后三位清零
      }; break;
  }
}
void loop()
{
  PPM_HIGH = pulseIn(ppm_pulseIn, HIGH);
  if (PPM_HIGH > 3000) {
    RC_count = 0;
  }
  RC_valout();

}






歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1