avr-9_3_5.c

来自「<<AVR C语言的应用>>第九章中的例子 用ATme」· C语言 代码 · 共 80 行

C
80
字号
#include <ioavr.h>
#define BIT(x) (1<<(x));
void delay(unsigned char t)
{
  unsigned char i;
  unsigned char j;
  for (i=0;i<t;i++)
	for (j=1;j;j++);
}
void led_pb(unsigned char t)
{
unsigned char i;
	DDRB=0xff;
		for (i=0;i<8;i++)
		{
			PORTB=~BIT(i);
			delay(t);
		}
	PORTB=0xff;
}
void led_pd(unsigned char t)
{
unsigned char i;
	DDRD=0xff;
		for (i=0;i<8;i++)
		{
			PORTD=~BIT(i);
			delay(t);
		}
	PORTD=0xff;
}
void led_pc(unsigned char t)
{
unsigned char i;
	DDRC=0xff;
		for (i=0;i<8;i++)
		{
			/*PORTC=~BIT(i);*/
                        PORTC=BIT(i);
			delay(t);
		}
	PORTC=0xff;
}
void led_pa(unsigned char t)
{
unsigned char i;
	DDRA=0xff;
		for (i=8;i>0;i--)
		{
			PORTA=~BIT(i-1);
			delay(t);
		}
	PORTA=0xff;
}
void main(void)
{
unsigned char dt;
	while (1)
	{
		for (dt=5;dt<200;dt+=25)
		{
		led_pb(dt);
		led_pd(dt);
		led_pc(dt);
		led_pa(dt);
		}
	}
}











⌨️ 快捷键说明

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