⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timer.c

📁 Lpc2103的小程序
💻 C
字号:
/*************************************** Copyright (c) *************************************************
*
*										POLAR STAR
*								北天星国际贸易(深圳)有限公司
*								http://www.po-star.com
*
*	文 件 名: TIMER.C
*	文件描述:利用RTC的增量功能进行1S的定时,当定时时间到时,取反LED1控制。
*             使用I/O口直接控制LED,采用灌电流方式。
*
*	说    明:将跳线器JP2的LED1短接;
*
********************************************************************************************************/

#include  "config.h"

#define	  LED1CON			1<<18		/* P0.18引脚控制LED1,低电平点亮 */

/********************************************************************************************************
*
* 函数名称:RTCInit(void)
*
* 功能描述:初始化实时时钟。
*
* 入口参数:无
* 出口参数:无
*
* 全局变量: 无
* 调用模块: 无
*
********************************************************************************************************/

void  RTCInit(void)
{
	PREINT  = Fpclk / 32768 - 1;		// 设置基准时钟分频器
	PREFRAC = Fpclk - (Fpclk / 32768) * 32768;
   
	YEAR  = 2004;				   		// 初始化年
	MONTH = 2;				    		// 初始化月
	DOM   = 19;				    		// 初始化日
   
	CIIR  = 0x01;				    	// 设置秒值的增量产生一次中断
   
	CCR   = 0x01;				    	// 启动RTC
}   
                               
/********************************************************************************************************
*
* 函数名称:main()
*
* 功能描述:使用RTC的秒增量中断功能控制LED1闪烁。
*
* 入口参数:无
* 出口参数:无
*
* 全局变量: 无
* 调用模块: 无
*
********************************************************************************************************/

int  main(void)
{
	PINSEL0 = 0x00000000;			// 设置所有管脚连接GPIO
	PINSEL1 = 0x00000000;
   
	IODIR = LED1CON;				// 设置LED1控制口为输出
	
	RTCInit();						// 初始化RTC寄存器
	
	while(1)	
	{
   		IOSET = LED1CON;			// 灭灯
		while( 0==(ILR&0x01) );	    // 等待RTC增量中断标志
		ILR = 0x01;				    // 清除中断标志
		IOCLR = LED1CON;			// 亮灯
		while( 0==(ILR&0x01) );	    // 等待RTC增量中断标志
		ILR = 0x01;				    // 清除中断标志
	}
   
	return(0);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -