51单片机流水灯程序

刚接触单片机不懂 求程序加每句的注释 !
2024-12-01 00:45:47
推荐回答(5个)
回答1:

程序如下:

#include

sbit led1 = P2^0;

sbit led2 = P2^1;

sbit led3 = P2^2;

sbit led4 = P2^3;

sbit led5 = P2^4;

sbit led6 = P2^5;

sbit led7 = P2^6;

sbit led8 = P2^7;


void main()

{

    int i,j;

   //点亮第一个灯

    led1 = 1;

    led2 = 0;

    led3 = 0;

    led4 = 0;

    led5 = 0;

    led6 = 0;

    led7 = 0;

    led8 = 0;

    //延时1秒 

 for(i = 0;i < 110; ++i)

 {

   for(j = 0; j < 1000; ++j)

   {

     ;//什么也不做

   }

 }

    //点亮第二个灯

    led1 = 0;

    led2 = 1;

    led3 = 0;

    led4 = 0;

    led5 = 0;

    led6 = 0;

    led7 = 0;

    led8 = 0;    

    //点亮剩余的灯

    //省略……

    while(1);

}

扩展资料:

流水灯几点说明:

void:因为该延时函数不需要返回值,所以写为void

delay1s:该函数的函数名,命名需要符合C语言的标识符命名规则。

(): 不需要传入参数,所以括号中为空

至此我们可以把流水灯程序写为以下形式:

回答2:

#include //52系列单片机头文件
#include //_crol_ 字符循环左移
#define uint unsigned int //宏定义
#define uchar unsigned char//宏定义
void delayms(uint); //声明子函数
uchar a; //定义uchar类型的变量a
void main() //主函数
{
a=0xfe; //赋初值11111110
while(1) //大循环
{
P1=a;
delayms(500); //延时500毫秒
a=_crol_(a,1); //将a循环左移1位后再赋给a
}
}
void delayms(uint xms) //延时函数
{
uint i,j;
for(i=xms;i>0;i--) //i=xms即延时约xms毫秒
for(j=110;j>0;j--);
}
学习单片机,还需要结合实际硬件电路来编程

回答3:

来自理科生的浪漫,用51单片机制作心形流水灯

回答4:

花样流水灯的玩法,一个51单片机8位端口轮流输出16颗灯珠,

回答5:

推荐你看郭天祥十天学会单片机,回讲实际程序的,讲的挺好的