1. 单片机流水灯程序怎么写
//上电延时500ms 个人做项目的习惯
//系统初始化部分,io初始化或定时器之类
unsigned int time = 0; //初始化计数
while(1){//大循环
if(s3 == 0 && s5 == 0){//开关3和拨码5同时打开
display(4 - time); //数码管显示
led_write(time ,0); //打开 time对应的 led
delay_ms(100); //延时100ms
if(++time > 4){ //判读计数
led_write_all(1); //关全部灯
delay_ms(100);
led_write_all(0);//开全部灯
delay_ms(500);
led_write_all(1);
}
}else{ //否则 开关3和拨码5 不是同时打开
display(CLOSE) //关闭数码管 设一个常量宏CLOSE == 10
led_write_all(1);
delay_ms(500); //500ms
}
}
注:当中调用的函数,要根据原理图自己封装。这个是驱动部分
2. 怎么写流水灯程序
uint temp,i;
while(1)
{
temp=0xfe;
P1=temp;
for(i=1;i<8;i++)
{
a=temp<<i;
b=temp>>(8-i);
P1=a|b;
delayms(500);
}
temp=0x7f;
P1=temp;
for(i=1;i<8;i++)
{
a=temp>>i;
b=temp<<(8-i);
P1=a|b;
delayms(500);
}
}
3. 单片机扫描灯程序怎么写
#include
4. 蓝牙hc
#include
5. 51单片机流水灯,怎么写程序能达到物理上改变灯连的引脚
当然可以了。
假设你原来操作的时P0口,
灯D0接的是P0.0引脚
灯D1接的是P0.1引脚
灯D2接的是P0.2引脚
灯D7接的是P0.7引脚
为了好布线后,顺序乱掉了,比如
灯D0接的是P0.3引脚【乱了】
灯D1接的是P0.1引脚
灯D2接的是P0.0引脚【乱了】
灯D3接的是P0.2引脚【乱了】
灯D4接的是P0.4引脚
灯D5接的是P0.5引脚
灯D6接的是P0.6引脚
灯D7接的是P0.7引脚
这时候,可以采用一个字节变量比如temp来替代原来P0,然后对这个变量做判断,比如
switch(temp)
{
case 0xfe: P0=0xf7;break;
case 0xfd: P0=0xfd;break;
case 0xfb: P0=0xfe;break;
case 0xf7: P0=0xfb;break;
}