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

📄 timer1.c

📁 ATMEGA128的定时器的底层驱动程序,包括C和H文件,定义了充分的宏方便使用
💻 C
字号:
/**********************************************************************
* System Name		DOOR
* Source Name		timer1.c
* Function			定时器1
* Version	Date		Editor		Modification
* 1.0		2007/05/15	周斌		做成
**********************************************************************/

#include <avr/io.h>
#include <avr/interrupt.h>
#include "global.h"
#include "timer1.h"
#include "led.h"
#include "clock.h"

/**********************************************************************
* Function Name		timer1_init
* Function Desc		timer1初始化函数
* Return Value		无
* Parameter         无
* Version	Date		Editor		Modification
* 1.0		2007/05/015	周斌		做成
**********************************************************************/
void timer1_init(void)
{
	TCCR1B = 0x00;//停止定时器
	//
	TIMSK |= (1<<OCIE1A);//中断允许 比较A
	TIMSK &=~(1<<OCIE1B);//中断禁止 比较B
	TIMSK &=~(1<<TICIE1);//中断禁止 捕获
	TIMSK &=~(1<<TOIE1); //中断禁止 溢出
	//
	TCNT1H = 0x00;	//初始值
	TCNT1L = 0x00;	//初始值
	//
	OCR1AH = 0x38;	//匹配A值,1S产生一次比较中断
	OCR1AL = 0x3F;	//匹配A值,1S产生一次比较中断
	//
	OCR1BH = 0x1C;	//匹配B值,无用
	OCR1BL = 0x1F;	//匹配B值,无用
	//
	ICR1H  = 0xFF;	//输入捕捉匹配值,无用
	ICR1L  = 0xFF;	//输入捕捉匹配值,无用
	//
	TCCR1A = 0x00;	//启动定时器,1024分频率,CTC模式
	TCCR1B = 0x0D;	//启动定时器,1024分频率,CTC模式
}



/**********************************************************************
* Function Name		SIGNAL(SIG_OUTPUT_COMPARE1A)
* Function Desc		timer1,比较A中断
* Return Value		无
* Parameter         无
* Version	Date		Editor		Modification
* 1.0		2007/05/15	周斌		做成
**********************************************************************/
SIGNAL(SIG_OUTPUT_COMPARE1A)
{
	//compare occured TCNT1=OCR1A
	LED2NEG();
	
	if(clock_sec < 59)
	{
		clock_sec++;
	}
	else
	{
		clock_sec=0;
		if(clock_min < 59)
		{
			clock_min++;
		}
		else
		{
			clock_min = 0;
			if(clock_hour < 23)
			{
				clock_hour++;
			}
			else
			{
				clock_hour = 0;
			}
		}
	}
	//

}

⌨️ 快捷键说明

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