#include "LPC17xx.h" /* LPC17xx外设寄存器 */
/*********************************************************************************************************
宏定义
*********************************************************************************************************/
#define BEEP (1ul << 11)
uint32_t GulSystick = 0;
uint32_t GucDelay1S = 0;
/*********************************************************************************************************
** Function name: myDelay
** Descriptions: 软件延时
** input parameters: 无
** output parameters: 无
** Returned value: 无
*********************************************************************************************************/
void myDelay (uint32_t ulTime)
{
uint32_t i;
while (ulTime--) {
for (i = 0; i < 5000; i++);
}
}
/*********************************************************************************************************
** Function name: GPIOInit
** Descriptions: GPIO初始化
** input parameters: 无
** output parameters: 无
** Returned value: 无
*********************************************************************************************************/
void GPIOInit( void )
{
LPC_PINCON->PINSEL0 &= ~(0x3 << 22); /* 将P0.11初始化为GPIO功能 */
LPC_GPIO0->FIODIR |= BEEP; /* 将P0.11方向设置为输出 */
LPC_GPIO0->FIOSET |= BEEP; /* 将P0.11初始化输出高电平 */
}
/*********************************************************************************************************
** Function name: SysTick_Handler
** Descriptions: 系统节拍定时器中断服务函数
** input parameters: 无
** output parameters: 无
** Returned value: 无
*********************************************************************************************************/
void SysTick_Handler(void)
{
if (GulSystick++ >= 99) { /* 配置一秒的延时 */
GulSystick = 0;
GucDelay1S = 1;
}
}
/*********************************************************************************************************
** Function name: main
** Descriptions: 系统节拍定时器例程。短接P0.11与BEEP,启动程序,蜂鸣器隔1秒交替鸣叫
** input parameters: 无
** output parameters: 无
** Returned value: 无
*********************************************************************************************************/
int main (void)
{
SystemInit(); /* 系统初始化,切勿删除 */
GPIOInit();
SysTick_Config(SystemFrequency/100);
while (1) {
while(GucDelay1S == 0);
GucDelay1S = 0;
LPC_GPIO0->FIOSET |= BEEP;
while(GucDelay1S == 0);
GucDelay1S = 0;
LPC_GPIO0->FIOCLR |= BEEP;
}
}
/*********************************************************************************************************
End Of File
*********************************************************************************************************/
阅读(2373) | 评论(0) | 转发(0) |