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

📄 led8.c

📁 mega8L上点亮LED的小程序
💻 C
字号:
#include<avr/io.h>  
#include<stdio.h>
 /*1.2行预编译语句,它们告诉编译器一些重要信息。如单片机的寄存器名称对应的向量等等DDRB、PORTB就在io.h内定 
 /*义的(其实它在本例中是在iom16.h中定义的,io.h是所有AVR单片机)公共定义它 从 makefile中提取单片机类型,
 /*来从include\avr下取出对应的实际 io*.h文件)*/
void delay02s(void)               //延时0.2秒子程序
         {
			unsigned char i,j,k;  
			for(i=20;i>0;i--)     
			for(j=20;j>0;j--)
			for(k=248;k>0;k--);
          }
int main(void)    //avr-gcc的主函数类型必须为int类型。否则warning:return type of 'main' is not 'int'. 
{
	unsigned char i,j,k;
	DDRB=0xFF;    //让PORTB全部为输出口
	PORTB=0xFF;		//在端口PORTB中输出高电平
	for(;;)
	{
		for(k=0;k<8;k++)
		{
			PORTB=~(1<<k);		
			delay02s();		//两个FOR循环构成的延时部分,它可以使LED移动的速度放慢
			delay02s();
			PORTB=0xFF;
		}			//9-21是一个循环。目的是将端口PORTB的某一位置低,让LED点亮
		
	}				//无限循环语句
	
}

/*向端口的某一位(由变量K指定),其中十分重要的是~(1<<K)部分,前面的~是取反,其中的1<<K在C语言中的意思
是将1左移变量K指定的位数*/

⌨️ 快捷键说明

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