timer.c

来自「基于AVRstudio平台对无线传感器编制的测试程序」· C语言 代码 · 共 29 行

C
29
字号
#include <avr/io.h>
#define uchar unsigned char
#define SET_LED PORTA&=0XFE
#define CLR_LED PORTA|=0X01

int main( void )
{
	uchar i,j=0;//设置PA0 口为输出
	DDRA=_BV(PA0);
	PORTA=_BV(PA0);//配置T/C0
	TCNT0=0; // T/C0 开始值
	TCCR0 = _BV(CS02) | _BV(CS01) | _BV(CS00); // 预分频 ck/1024 ,计数允许
	while (1)
	{
		//查询定时器方式等待0.5 秒
		//8000000 /1024 /256 /15 ≈ 2Hz
		for(i=0;i<30;i++)
		{
			loop_until_bit_is_set(TIFR,TOV0);
			//写入逻辑1 清零TOV0 位
			TIFR|=_BV(TOV0);
		}
		if(j) //反向LED 控制脚
			SET_LED,j=0;
		else
			CLR_LED,j=1;
	}
}

⌨️ 快捷键说明

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