#define GPD0CON (volatile unsigned int *)0x114000a0
#define TCFG0 (volatile unsigned int *)0x139D0000
#define TCFG1 (volatile unsigned int *)0x139D0004
#define TCNTB0 (volatile unsigned int *)0x139D000c
#define TCMPB0 (volatile unsigned int *)0x139D0010
#define TCON (volatile unsigned int *)0x139D0008
void buzzer_init(void)
{
*GPD0CON = *GPD0CON & ~(0xf) | 0x2; //复用功能 设置为TOUT0
//Timer Input Clock Frequency = PCLK/({prescaler value + 1})/{divider value}
*TCFG0 = 249; //一级分频
*TCFG1 = 3; //二级分频
*TCNTB0 = 500;
*TCMPB0 = 250;
*TCON = 0xa; //auto reload ; update TCNTB0 and TCMPB0 ; stop timer
*TCON = 0x9; //auto reload ; start timer
}
int main(void)
{
buzzer_init();
}