Exemplo n.º 1
0
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);
            }
    }
}
Exemplo n.º 2
0
/**************  MAIN  **************/  
void main(void)
{
  seg7_disable();
  /* Stop Motors on initial load */
  MOTORDDR=0xFF;                    // enable motor port as output
  MOTORPORT=0xFF;                   // turn off all motor ports
  lcd_init();                       // initialize lcd
  set_lcd_addr(0x00);               // set starting lcd address
  
  /* check training or playback mode */
  while(1){
    if(SW2_down()){                 // switch2 starts training mode
      playback=0;
      training=1;
      display_movement(&start_training);
    }
    if(SW3_down()){                 // switch3 stops training mode
      training=0;
      display_movement(&stop_training);
    }
    if(SW4_down()){                 // switch4 starts playback mode
      if(array_length) {
        training=0;
        playback=1;
      } else {
        display_movement(&array_empty);
      }
    }
    if(SW5_down()){                 // switch5 erases array
      playback=0;
      array_length=0;               // reset array counter
        memset(array1, 9, sizeof(array1)); // reset array
      display_movement(&stop_playback);
    }
    get_keypad_input();
    playback_robot();
  }
}
Exemplo n.º 3
0
void main(void) {

  char key;  //key pressed
  Flag *flag = createFlag();
  
  PLL_init();         //set system clock freq to 24MHz
  lcd_init();         //enable lcd display (clear display)
  keypad_enable();    //enable keypad
  led_enable();       //enable leds
  seg7_disable();     //turn off and disable seg7 display
  set_lcd_addr(0x40); //set display on 2nd line
  
 
  while(1){
     
    key = getkey();     //read keypad   
    if(flag->shift == true)  //shift key was pressed  
      shiftMode(key, flag);  //operator input keys
 
    else 
      stdMode(key, flag);   //standard input keys
      
  }  //end while(1)
}  //end main