使用C51写一段爱心流水灯代码
时间: 2023-07-23 08:10:21 浏览: 102
以下是使用C51单片机写的爱心流水灯代码:
```c
#include <reg51.h>
// 定义LED引脚
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;
unsigned char LED_HEART[8] = { 0x18,0x3C,0x7E,0xFF,0x7E,0x3C,0x18,0x00 };
// 定义LED爱心图案,每个元素表示一个LED灯的亮灭情况,0表示灭,1表示亮
while (1) {
for (i=0; i<8; i++) {
led1 = LED_HEART[i] & 0x01;
led2 = LED_HEART[i] & 0x02;
led3 = LED_HEART[i] & 0x04;
led4 = LED_HEART[i] & 0x08;
led5 = LED_HEART[i] & 0x10;
led6 = LED_HEART[i] & 0x20;
led7 = LED_HEART[i] & 0x40;
led8 = LED_HEART[i] & 0x80;
// 逐个点亮LED灯
DelayMs(500);
// 延时500毫秒
}
}
}
void DelayMs(unsigned int ms) {
unsigned int i, j;
for (i = 0; i < ms; i++) {
for (j = 0; j < 125; j++);
}
}
```
该代码使用了一个LED_HEART数组存储LED爱心图案,每个元素表示一个LED灯的亮灭情况。在主函数中使用for循环逐个点亮LED灯,每次循环结束后延时500毫秒,实现了爱心流水灯的效果。
阅读全文