/* Main.c file generated by New Project wizard
*
* Created: 周五 五月 5 2017
* Processor: 80C31
* Compiler: Keil for 8051
*/
#include <reg51.h>
#include <stdio.h>
/*
知识点:函数的调用、指针、数组
-----------------------------------传统的方法-----------------------------------
*/
void delay() //延时函数
{
int i;
i=10000;
while(i--);
}
void main(void) //主函数
{
// Write your code here
while (1) //while死循环
{
P2=0xfe; //给P2端口全部赋低电平
delay(); //延时,,制作闪烁效果
P2=0xfd;
delay();
P2=0xfb;
delay();
P2=0xf7;
delay();
P2=0xef;
delay();
P2=0xdf;
delay();
P2=0xbf;
delay();
P2=0x7f;
delay();
P2=0x7f;
delay();
P2=0xbf;
delay();
P2=0xdf;
delay();
P2=0xef;
delay();
P2=0xf7;
delay();
P2=0xfb;
delay();
P2=0xfd;
delay();
P2=0xfe;
delay();
}
}
/*
-------------------------------------数组的方法-------------------------------------------------
*/
unsigned char led[17]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x00,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//先定义一组数组
void main() //主函数
{
while(1) //while()函数作死循环,使流水灯重复闪烁
{
int j; //定义j变量,for循环要用到的变量
for(j=0;j<=17;j++) //for循环
{
//P2 = led[j]; //1、数组的方法
P2 = *(led+j); //2、指针的方法
delay(); //延时函数调用
}
}
}