Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1972891
  • 博文数量: 356
  • 博客积分: 8284
  • 博客等级: 中将
  • 技术积分: 4580
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-15 20:25
个人简介

天行健,君子以自强不息

文章分类

全部博文(356)

文章存档

2018年(1)

2016年(4)

2015年(13)

2014年(14)

2013年(2)

2012年(25)

2011年(43)

2010年(65)

2009年(189)

分类: C/C++

2011-11-24 19:50:52


#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
*********************************************************************************************************/
阅读(2305) | 评论(0) | 转发(0) |
0

上一篇:LPC1766之DMA

下一篇:STM32时钟控制RCC探究

给主人留下些什么吧!~~