コード例 #1
0
ファイル: main.c プロジェクト: datsjon13/EGR280
void main(void) {
    
    PLL_init();       // set system clock frequency to 24 MHz
    ad0_enable(); // enable a/d converter 0
    ad1_enable(); // enable a/d converter 1
    led_enable();
    seg7_disable();
    servo54_init();
    lcd_init();        // enable lcd
    motor1_init(); // enable 8-bit pwm1 for computer fan
  
     
         while(1) {
            
            for (width = 3000; width < 14500; width = width + 150) {
                flame = ad0conv(3); 	// read flame sensor output on channel 3 adc0
                range = ad0conv(5); 	// read range sensor output on channel 7 adc1
                
                set_lcd_addr(0x40);
                if (range > 550) {
                    type_lcd("Flame is near!  ");
                } else {
                    type_lcd("Out of range    ");
                }
                set_servo54(width);
                ms_delay(10);
                
                if (flame > 1000) {
                    set_lcd_addr(0x00);
                    ms_delay(10);
                    type_lcd("Flame Detected! ");
                    if (range > 550) {
                          ms_delay(10);
                          //Turn the motor on for 8 seconds
                          set_lcd_addr(0x40);
                          ms_delay(10);
                          type_lcd("Flame is near!  ");
                          ms_delay(10);
                          leds_on(0b11111000);     //Motor is on
                          ms_delay(8000);
                          motor1(speed);
                          ms_delay(10);
                    }
                } else {
                    leds_on(0b11111100);     //Motor is off
                    set_lcd_addr(0x00);
                    type_lcd("No Flame        ");
                }
                ms_delay(10);
            }
    }
}
コード例 #2
0
ファイル: main.c プロジェクト: robopt/RocketMan
////////////////////////////////////////
// Initalize                          //
// Ports, Interrupts, Motor and Servo //
////////////////////////////////////////
void portInit(void){
  PLL_init(); // set system clock frequency to 24 MHz
  
  //Direction registers
  DDRH = 0x00;  // Port H is input       
  DDRB = 0x0F; // Port B starts as output
  PORTB = 0x00; // turn all LED's OFF
  DDRT = 0xFF;  // port T7 is input rest is output

  //motors
  PTT_PTT0 = 0; //default
  PTT_PTT1 = 0; //default
  PTT_PTT2 = 0; //default
  PTT_PTT3 = 0; //default
  motor0_init(); //left motor
  motor1_init(); //right motor
  
  //initialize a/d
  ad0_enable(); //enable a/d converter w/ interrupt with custom values
  RTI_init(); //turn on real time interrupt
}