STC89C52的流水灯代码
时间: 2023-11-04 08:04:36 浏览: 60
STC89C52是一款8051单片机,以下是一个基本的流水灯代码:
```c
#include <REG52.h>
sbit LED1 = P2^0; // LED1连接到P2.0
sbit LED2 = P2^1; // LED2连接到P2.1
sbit LED3 = P2^2; // LED3连接到P2.2
sbit LED4 = P2^3; // LED4连接到P2.3
sbit LED5 = P2^4; // LED5连接到P2.4
sbit LED6 = P2^5; // LED6连接到P2.5
sbit LED7 = P2^6; // LED7连接到P2.6
sbit LED8 = P2^7; // LED8连接到P2.7
void main()
{
while(1)
{
LED1 = 0; // 点亮第一个LED
Delay(200); // 延时200ms
LED1 = 1; // 熄灭第一个LED
LED2 = 0; // 点亮第二个LED
Delay(200); // 延时200ms
LED2 = 1; // 熄灭第二个LED
LED3 = 0; // 点亮第三个LED
Delay(200); // 延时200ms
LED3 = 1; // 熄灭第三个LED
LED4 = 0; // 点亮第四个LED
Delay(200); // 延时200ms
LED4 = 1; // 熄灭第四个LED
LED5 = 0; // 点亮第五个LED
Delay(200); // 延时200ms
LED5 = 1; // 熄灭第五个LED
LED6 = 0; // 点亮第六个LED
Delay(200); // 延时200ms
LED6 = 1; // 熄灭第六个LED
LED7 = 0; // 点亮第七个LED
Delay(200); // 延时200ms
LED7 = 1; // 熄灭第七个LED
LED8 = 0; // 点亮第八个LED
Delay(200); // 延时200ms
LED8 = 1; // 熄灭第八个LED
}
}
void Delay(unsigned int x) // 延时函数
{
unsigned int i,j;
for(i=0;i<x;i++)
{
for(j=0;j<125;j++);
}
}
```
该代码通过循环控制每个LED的点亮和熄灭,使用延时函数实现流水灯效果。可以根据需要修改延时时间和LED连接的IO口。