单片机流水灯程序第一次亮一个第二次亮两个第三次亮三个以此类推

2024-12-19 16:19:27
推荐回答(1个)
回答1:

#include #include typedef unsigned int u16; typedef unsigned char u8; sbit led=P2;//这里填你LED连接的端口(引脚),不一定是P2,也有可能是P3、P0 void delay(u16 i) { while(i--); } void shan1() { u8 i; led=0x01;//我默认led输入高电平1是亮,具体按照你实际情况,低电平亮就0xfe; for(i=0;i<7;i++)//已经点亮一个了,所以剩7个。 { led=_crol_(led,1);//左移1位 } led=0x00; } void shan2() { u8 i; led=0xc0;//我默认led输入高电平1是亮,具体按照你实际情况 for(i=0;i<6;i++)已经点亮两个个了,所以剩6个。 { led=_cror_(led,1);//右移一位 delay(1000); } led=0x00; } void shan2() { u8 i; led=0xc0;//我默认led输入高电平1是亮,具体按照你实际情况 for(i=0;i<6;i++) { led=_cror_(led,1); delay(1000); } led=0x00; } void main() { while(1) { shan1(); delay(1000); shan2(); } }