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); } } }
/************** 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(); } }
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