main.c

来自「《AVR单片机GCC程序设计》」· C语言 代码 · 共 86 行

C
86
字号
/*
	.init0 段测试程序 <2313 - 1>
	main.c
	MCU:at90s2313
	
	芯艺 2004-09-12
*/

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


#define SET_LED PORTD=0X10;//PD4接有LED
#define CLR_LED PORTD=0X00;

//unsigned char count=0;
//unsigned char direction=0;

SIGNAL(SIG_OVERFLOW0)
{/*
	if(count++>15)
	{
		if(direction)
		{
			SET_LED;
			direction=0;
		}
		else
		{
			CLR_LED;
			direction=1;
		}
		count=0;

	}
	TCNT0=0;*/
	SET_LED;
	cli();
	while(1);
}

int main(void)
{
	unsigned int i;	

	while(1)
	{
		for(i=0;i<500;i++)
			_delay_loop_2(1000);

		SET_LED;

		for(i=0;i<500;i++)
			_delay_loop_2(1000);

		CLR_LED;
	}
	return 0;
}

 __init()   //重载函数,复位后main前执行
{
	DDRD=0X10;
	PORTD=0X00;
	
	TCCR0=5;
	TIMSK=_BV(TOIE0);
	

//	sei();
/*	while(1)
	{
		for(i=0;i<500;i++)
			_delay_loop_2(1000);

		SET_LED;

		for(i=0;i<500;i++)
			_delay_loop_2(1000);

		CLR_LED;
	}*/
}

⌨️ 快捷键说明

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