예제 #1
0
void main(void)
{  
   // setup microcontroller
   PLLCON = 0x00;
   P0 = 0x00;
   P1 &= ~(1<<6);
   P1 &= ~(1<<7);

   // Set up the scheduler
   SCH_Init_T2();

   // init tasks
   init_statemachine();

   // - timings are in ticks (~1 ms tick interval)
   SCH_Add_Task(statemachine, 0, 10);
   SCH_Add_Task(switchStateMachine, 5, 20);

   // Start the scheduler
   SCH_Start();				

   while(1) {
      SCH_Dispatch_Tasks();
   }
}
void main(void)
   {
   // Set up the scheduler 
   SCU_B_SLAVE_Init_T1(9600);

   // Set up the flash LED task (demo purposes)
   LED_Flash_Init();

   // Prepare for the traffic light task
   TRAFFIC_LIGHTS_Init();

   // Add a 'flash LED' task (on for 1000 ms, off for 1000 ms)
   SCH_Add_Task(LED_Flash_Update, 0, 200);

   // Add a 'traffic lights' task
   SCH_Add_Task(TRAFFIC_LIGHTS_Update, 10, 200);

   // Start the scheduler
   SCU_B_SLAVE_Start();

   while(1)
      {
      SCH_Dispatch_Tasks();
      }
   }
void main(void)
   {
   // Set up the scheduler 
   SCH_Init_T2();

   // Set up the display
   BARGRAPH_Init();

   // Set up the switch pin
   SWITCH_MS_Init();

   // Add a 'SWITCH_MS_Update' task, every ~200 ms
   // - timings are in ticks (50 ms tick interval - see Sch 'init' function)
   SCH_Add_Task(SWITCH_MS_Update, 0, 4);

   // Add a 'COUNTER_Update' task every ~1000 ms
   SCH_Add_Task(COUNTER_Update, 0, 20);

   SCH_Start();

   while(1)
      {
      SCH_Dispatch_Tasks();
      }
   }
/* ............................................................... */
void main(void)
   {
   // Initialisation can be problematic with some display / supply
   // combinations.  You may get away with calling this function
   // twice (or once) but - for maximum reliability under a very wide range 
   // of conditions - it is called three times here.
   LCD_Init(0);
   LCD_Init(0);
   LCD_Init(1);

   // Prepare the elapsed time library
   Elapsed_Time_LCD_Init();

   // Prepare the scheduler
   SCH_Init_T2();

   // Add tasks to the scheduler
   //
   // Update the time every second (*** 1ms sched ticks ***)
   SCH_Add_Task(Elapsed_Time_LCD_Update, 100, 1000);

   // Update the whole display ~ every second 
   // - do this by updating a character once every 24 ms
   // (assumes a 40 character display)
   SCH_Add_Task(LCD_Update, 1000, 24);

   // All tasks added: start running the scheduler
   SCH_Start();   

   while(1)
      {
      SCH_Dispatch_Tasks();
      }
   }
void main(void)
   {
   // Set up the scheduler 
   SCC_A_SLAVE_Init_CAN();

   // Set up the flash LED task (demo purposes)
   LED_Flash_Init();

   // Prepare for the traffic light task
   TRAFFIC_LIGHTS_Init();

   // TIMING IS IN TICKS (6 ms tick interval)
   // Add a 'flash LED' task (on for 1002 ms, off for 1002 ms)
   SCH_Add_Task(LED_Flash_Update, 0, 167);

   // Add the traffic-light task
   SCH_Add_Task(TRAFFIC_LIGHTS_Update, 30, 167);

   // Start the scheduler
   SCC_A_SLAVE_Start();

   while(1)
      {
      SCH_Dispatch_Tasks();
      }
   }
void main(void)
   {
   // Set up the scheduler 
   SCU_A_MASTER_Init_T1_T2(9600);       

   // Prepare for the traffic light task
   TRAFFIC_LIGHTS_Init();

   // Prepare for the flash LED task (demo only)
   LED_Flash_Init();

   // Add a 'flash LED' task (on for 1000 ms, off for 1000 ms)
   SCH_Add_Task(LED_Flash_Update, 0, 200);

   // Add a 'traffic light' task
   SCH_Add_Task(TRAFFIC_LIGHTS_Update, 30, 200);
   
   // Start the scheduler
   SCU_A_MASTER_Start();

   while(1)
      {
      SCH_Dispatch_Tasks();
      }
   }
예제 #7
0
void main()
{
	cli();          	// disable INT. during peripheral setting
	Peripheral_Init();
	SCH_Init_T2_1ms();  //初始化systick为1ms
	sei();          	// enable INT.
	
	SCH_Add_Task(UART0_TX,0,10);     
	SCH_Start();
	
	// TODO: add your main code here
	while(1)
	{
		SCH_Dispatch_Tasks();
	}
}
예제 #8
0
파일: main.c 프로젝트: pikipity/snake_8051
void main(){
	SCH_Init_T2();

	led_init();

	SCH_Add_Task(draw1,0,2);
	SCH_Add_Task(draw2,1,2);
	SCH_Add_Task(draw,0,34);

	SCH_Start();
	while(1){
		SCH_Dispatch_Tasks();
		button();
		if(350==count++){
			count=0;
			move();
		}	
	}
}
void main(void)
   {
   // Set up the scheduler
   SCH_Init_T0();

   // Prepare for the 'Flash_LED' task
   LED_Flash_Init();

   // Add the 'Flash LED' task (on for ~1000 ms, off for ~1000 ms)
   // - timings are in ticks (5 ms tick interval)
   // (Max interval / delay is 65535 ticks)
   SCH_Add_Task(LED_Flash_Update, 0, 200);

   // Start the scheduler
   SCH_Start();

   while(1)
      {
      SCH_Dispatch_Tasks();
      }
   }
void main(void)
   {
   // Set up the scheduler
   SCH_Init_T2();

   // Set baud rate to 9600, using internal baud rate generator
   // Generic 8051 version
   PC_LINK_IO_Init_Internal(9600);

   // We have to schedule this task (10x a second is enough here)
   // - this checks if a character has been received by the USART
   // - if so, responds appropriately. 
   //
   // TIMING IS IN TICKS NOT MILLISECONDS (1 ms tick interval)
   SCH_Add_Task(MENU_Command_Processor,100,100);

   SCH_Start();

   while(1)
      {
      SCH_Dispatch_Tasks();
      }
   }
void main(void)
   {
   // Set up the scheduler
   SCH_Init_T2();

   // Add the 'Time Update' task (once per second)
   // - timings are in ticks (1 ms tick interval)
   // (Max interval / delay is 65535 ticks)
   SCH_Add_Task(CLOCK_LED_Time_Update,100,10);

   // Add the 'Display Update' task (once per second)
   // Need to update a 4-segment display every 3 ms (approx)
   // Need to update a 2-segment display every 6 ms (approx)
   SCH_Add_Task(LED_MX4_Display_Update,0,3);

   // Start the scheduler
   SCH_Start();

   while(1)
      {
      SCH_Dispatch_Tasks();
      }
   }