/****************************************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: 蜂鸣器鸣叫示例程序 ** **-------------------------------------------------------------------------------------------------------- ** Modified by: ** Modified date: ** Version: ** Descriptions: ** ** Rechecked by: *********************************************************************************************************/ #include "..\config.h" /********************************************************************************************************* 宏定义 *********************************************************************************************************/ #define BEEP (1ul << 7) #define BEEP_INIT() GPIO2DIR |= BEEP /* 蜂鸣器初始化 */ #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 < FAHBCLK/5000; i++); } } /********************************************************************************************************* ** Function name: SysTickIsr ** Descriptions: 系统节拍定时器中断服务函数 ** input parameters: 无 ** output parameters: 无 ** Returned value: 无 *********************************************************************************************************/ void SysTickIsr(void) { if (GPIO2DATA & (1 << 7)) { BEEPON(); } else { BEEPOFF(); } } /********************************************************************************************************* ** Function name: InitSysTick ** Descriptions: 系统节拍定时器初始化 ** input parameters: 无 ** output parameters: 无 ** Returned value: 无 *********************************************************************************************************/ void InitSysTick(uint32 ulMsTime) { STCTRL = (1ul << 0) | (1ul << 1); /* 使能系统节拍定时器并使能中断*/ /* * (FAHBCLK / 2000000* ulMsTime - 1)为us延时 * (FAHBCLK / 2000* ulMsTime - 1)为ms延时 */ STRELOAD = FAHBCLK / 2000* ulMsTime - 1; /* 定时时间设置 */ zyIsrSet(STI, (unsigned long )SysTickIsr, PRIO_ONE ); } /********************************************************************************************************* ** Function name: main ** Descriptions: 系统节拍定时器,定时1us和1ms使P2.7输出翻转 ** 特别注意:计算定时时间为高电平保持时间或低电平保持时间 ** input parameters: 无 ** output parameters: 无 ** Returned value: 无 *********************************************************************************************************/ int main (void) { targetInit(); /* 初始化目标板,切勿删除 */ pinInit(); /* 引脚初始化 */ SYSAHBCLKCTRL |= (1ul << 6); /* 使能GPIO模块时钟 */ BEEP_INIT(); InitSysTick(1); while (1) { myDelay(10); } } /********************************************************************************************************* End Of File *********************************************************************************************************/