/****************************************Copyright (c)**************************************************** ** Guangzhou ZHIYUAN electronics Co.,LTD. ** ** http://www.embedtools.com ** **--------------File Info--------------------------------------------------------------------------------- ** File name: main.c ** Last modified Date: 2010-02-04 ** Last Version: V1.0 ** Descriptions: The main() function example template ** **-------------------------------------------------------------------------------------------------------- ** Created by: Lanwuqiang ** Created date: 2010-02-05 ** Version: V1.0 ** Descriptions: 添加用户应用程序 ** **-------------------------------------------------------------------------------------------------------- ** Modified by: ZhangNingbo ** Modified date: 2010-02-25 ** Version: V1.0 ** Descriptions: 16位定时器0匹配输出示例程序 ** **-------------------------------------------------------------------------------------------------------- ** Modified by: ** Modified date: ** Version: ** Descriptions: ** ** Rechecked by: *********************************************************************************************************/ #include "..\config.h" /********************************************************************************************************* 宏定义 *********************************************************************************************************/ #define BEEP (1ul << 7) #define BEEPOFF() GPIO2DATA |= BEEP /* 蜂鸣器关 */ #define BEEPON() GPIO2DATA &= ~BEEP /* 蜂鸣器开 */ /********************************************************************************************************* ** Function name: myDelay ** Descriptions: 软件延时 ** input parameters: 无 ** output parameters: 无 ** Returned value: 无 *********************************************************************************************************/ void myDelay (INT32U ulTime) { INT32U i; i = 0; while (ulTime--) { for (i = 0; i < 5000; i++); } } /********************************************************************************************************* ** Function name: timer0Init ** Descriptions: 16位定时器0初始化函数 ** input parameters: 无 ** output parameters: 无 ** Returned value: 无 *********************************************************************************************************/ void timer0Init (void) { SYSAHBCLKCTRL |= (1ul << 7); /* 打开定时器模块 */ TMR16B0PR = 0; /* 设置分频系数 */ TMR16B0MCR = 2; /* 设置MR0匹配后复位TC */ TMR16B0EMR = (0x03 << 4) ; /* MR0匹配后MAT0.0输出翻转 */ TMR16B0MR0 = FAHBCLK / 10000; /* 频率控制,0.0001秒后翻转输出 */ TMR16B0TCR = 0x01; /* 启动定时器 */ } /********************************************************************************************************* ** Function name: main ** Descriptions: 定时器0匹配输出功能。用示波器或逻辑分析仪查看P0.8(JP14)是否输出方波 ** input parameters: 无 ** output parameters: 无 ** Returned value: 无 *********************************************************************************************************/ int main (void) { targetInit(); /* 初始化目标板,切勿删除 */ pinInit(); /* 引脚初始化 */ timer0Init(); while (1); } /********************************************************************************************************* End Of File *********************************************************************************************************/