arduino LGT8F328P SSOP20 and timer1

hi all,
I try to generate frequency out from Arduino LGT8F328P SSOP20 by using Timer1 but it didn't have signal output on pin 9 (OCR1A).

Because I copy this code so I really have no idea what is going on, hence I tried to read a lot but still so silly on control Timer 1

So with this version I'm I right to understand that OCR1A pin is pin 9

void setup() {
  // put your setup code here, to run once:

}


// Set the frequency that we will get on pin OCR1A 
void setFrequency(uint16_t freq)
{
  uint32_t requiredDivisor = (F_CPU / 2) / (uint32_t)freq;

  uint16_t prescalerVal;
  uint8_t prescalerBits;
  if (requiredDivisor < 65536UL)
  {
    prescalerVal = 1;
    prescalerBits = 1;
  }
  else if (requiredDivisor < 8 * 65536UL)
  {
    prescalerVal = 8;
    prescalerBits = 2;
  }
  else if (requiredDivisor < 64 * 65536UL)
  {
    prescalerVal = 64;
    prescalerBits = 3;
  }
  else if (requiredDivisor < 256 * 65536UL)
  {
    prescalerVal = 256;
    prescalerBits = 4;
  }
  else
  {
    prescalerVal = 1024;
    prescalerBits = 5;
  }

  uint16_t top = ((requiredDivisor + (prescalerVal / 2)) / prescalerVal) - 1;
  TCCR1A = 0;
  TCCR1B = (1 << WGM12) | prescalerBits;
  TCCR1C = 0;
  OCR1A = (top & 0xFF);
}

// Turn the frequency on
void on()
{
  TCNT1H = 0;
  TCNT1L = 0;
  TCCR1A |= (1 << COM1A0);

}

// Turn the frequency off and turn of the IR LED
void off()
{
  TCCR1A &= ~(1 << COM1A0);
}


void loop() {
  // put your main code here, to run repeatedly:

}

try a pinMode(9, OUTPUT) in setup.

westfw:
try a pinMode(9, OUTPUT) in setup.

I did but still no respond

void setup() {
  // put your setup code here, to run once:
pinMode(9, OUTPUT);
}


// Set the frequency that we will get on pin OCR1A pin 9
void setFrequency(uint16_t freq)
{
  uint32_t requiredDivisor = (F_CPU / 2) / (uint32_t)freq;

  uint16_t prescalerVal;
  uint8_t prescalerBits;
  if (requiredDivisor < 65536UL)
  {
    prescalerVal = 1;
    prescalerBits = 1;
  }
  else if (requiredDivisor < 8 * 65536UL)
  {
    prescalerVal = 8;
    prescalerBits = 2;
  }
  else if (requiredDivisor < 64 * 65536UL)
  {
    prescalerVal = 64;
    prescalerBits = 3;
  }
  else if (requiredDivisor < 256 * 65536UL)
  {
    prescalerVal = 256;
    prescalerBits = 4;
  }
  else
  {
    prescalerVal = 1024;
    prescalerBits = 5;
  }

  uint16_t top = ((requiredDivisor + (prescalerVal / 2)) / prescalerVal) - 1;
  TCCR1A = 0;
  TCCR1B = (1 << WGM12) | prescalerBits;
  TCCR1C = 0;
  OCR1A = (top & 0xFF);
}

// Turn the frequency on
void on()
{
  TCNT1H = 0;
  TCNT1L = 0;
  TCCR1A |= (1 << COM1A0);

}

// Turn the frequency off and turn of the IR LED
void off()
{
  TCCR1A &= ~(1 << COM1A0);
}


void loop() {
  // put your main code here, to run repeatedly:
setFrequency(1000);
on();
}

Anyone can help me?
I try to read data-sheet of the board and find out that the timer1 pin is pin 12 of the chip and it connects to pin 10 of the pcb. However still no luck to have square wave signal out.

I try to read data-sheet of the board and find out that the timer1 pin is pin 12 of the chip

Really? The chip datasheet I looked at says OC1A is on pin 11 of the chip...
What datasheets are you using (I didn't even find a board-level datasheet.)
It's difficult to help much. It's not an Arduino, it's not an AVR, the definitive datasheets are written in Chinese and are of questionable quality (half the page count of the Atmel datasheet, covering more features), and few people have the board in question (I don't have one.)
You could look at the core source code for initialization and analogWrite() on that timer channel, and see if it has any "interesting differences" from the similar code in the normal AVR core...