main.c

来自「单片机源代码」· C语言 代码 · 共 49 行

C
49
字号
/*
	T/C0中断方式测试程序 
	main.c
	MCU:AT90S2313
	时钟:4MHz
	
	芯艺 2004-09-18
*/

#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>

#define uchar unsigned char

#define SET_LED PORTD&=0XEF //PD4接发光管
#define CLR_LED PORTD|=0X10

static uchar g_bCount=0;	//中断计数器
static uchar g_bDirection=0;

//T/C0中断例程
SIGNAL(SIG_OVERFLOW0)
{
	// 产生中断周期 T = 256 * 1024 / 4MHz 
	if(++g_bCount >14)		//中断15次约一秒
	{
		if(g_bDirection)	//反向LED控制脚
			SET_LED,g_bDirection=0;
		else
			CLR_LED,g_bDirection=1;	
			
		g_bCount=0;
	}
}

int main(void)
{
	DDRD=0X10;
	PORTD=0X10; 

	TCNT0=0; // T/C0开始值 
	TCCR0=5; // 预分频 ck/1024 ,计数允许
	
	TIMSK=_BV(TOIE0);
	sei();
	
	while(1);
}

⌨️ 快捷键说明

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