void set_ratio(unsigned int value);
int ratio_table[] = {100,139,178,217,256,294,332,369,406,442,477,511,544,576,607,637,665,692,718,742,765,786,805,823,839,853,865,876,884,891,896,899,899,899,896,891,884,876,865,853,839,823,805,786,765,742,718,692,665,637,607,576,544,511,477,442,406,369,332,294,256,217,178,139};

__irq __arm void IRQ_Handler()
{
  static int i = 0;
  static int loop = 0;
  if(loop > 0x00004000){
	set_ratio(ratio_table[i]);
	i = (i + 1) & 0x3f;
	loop = 0;
  }else{
	loop = loop + 1;
  }
}
