
//linkboyר
//Ƕʽϵͳ - SMOS

unit OS
{
	//С洢߽
	public const uint8 RUN_NUMBER = 0;
	//С洢߽
	public const uint8 RUN100us_NUMBER = 0;
	
	uint8 tick;
	uint16 T;
	
	//---------------------------------------------------
	public void OS_init()
	{
		uint16 MAX = 65535;
		T = MAX - 922; //1000 * 11059200 / 12000000 11.0592MHz
		
		#.MCS_STC89C51.TMOD = 0x01;//öʱ0Ϊʽ1
		#.MCS_STC89C51.TH0 = T.8(uint8);
 		#.MCS_STC89C51.TL0 = T.0(uint8);
		#.MCS_STC89C51.ET0 = 1;//ʱ0ж
		
		tick = 0;
	}
	//---------------------------------------------------
	interrupt [0x000B]
	void OS_run()
	{
		#.MCS_STC89C51.TH0 = T.8(uint8);
 		#.MCS_STC89C51.TL0 = T.0(uint8);
		
		//б,
		#.OS_run();
	}
	
	//С洢߽
	const uint16 TASK_NUMBER = 5;
	
	//---------------------------------------------------
	//ʼ
	public void Start()
	{
		//ʱ0
		#.MCS_STC89C51.TR0 = 1;
		
		//ж
		#.MCS_STC89C51.EA = 1;
	}
}







