这前是这样写的LED流水: LED1=1;LED2=1;LED3=1;LED4=1;delay(200); LED1=0;LED2=1;LED3=1;LED4=1;delay(200); LED1=0;LED2=0;LED3=1;LED4=1;delay(200); LED1=0;LED2=0;LED3=0;LED4=1;delay(200); LED1=0;LED2=0;LED3=0;LED4=0;delay(50); LED1=1;LED2=1;LED3=1;LED4=1;delay(200); LED1=0;LED2=1;LED3=1;LED4=1;delay(200); LED1=0;LED2=0;LED3=1;LED4=1;delay(200); LED1=0;LED2=0;LED3=0;LED4=1;delay(200); LED1=0;LED2=0;LED3=0;LED4=0;delay(50); LED1=1;LED2=1;LED3=1;LED4=1;delay(200); LED1=0;LED2=1;LED3=1;LED4=1;delay(200); LED1=0;LED2=0;LED3=1;LED4=1;delay(200); LED1=0;LED2=0;LED3=0;LED4=1;delay(200); LED1=0;LED2=0;LED3=0;LED4=0;delay(50); LED1=1;LED2=1;LED3=1;LED4=1;delay(200); LED1=0;LED2=1;LED3=1;LED4=1;delay(200); LED1=0;LED2=0;LED3=1;LED4=1;delay(200); LED1=0;LED2=0;LED3=0;LED4=1;delay(200); LED1=0;LED2=0;LED3=0;LED4=0;delay(50); 找了个方法可以这样写: void CHG_LED() //LED子程序 { char aa; //变量aa for(aa = 0; aa <= 10; aa ++) //运行10次 { LED1=1;LED2=1;LED3=1;LED4=1;delay(200); LED1=0;LED2=1;LED3=1;LED4=1;delay(200); LED1=0;LED2=0;LED3=1;LED4=1;delay(200); LED1=0;LED2=0;LED3=0;LED4=1;delay(200); LED1=0;LED2=0;LED3=0;LED4=0;delay(50); } } |
wulin 发表于 2022-1-21 09:25 参考了你的方法,申明了一个变量,设置变量值就实现了,多谢! |
glinfei 发表于 2022-1-21 08:35 这个操作是正确的!改后就OK了! |
if(mosi==3) //点焊模式 /**********************************************************/ if(MODE==0) { Delay_ms(10); if(MODE==0) { mosi++; if(mosi==4)//<<<<<<<<<<<<<<<<<<改为4 mosi=0; } |
楼主这代码实在是不......。既然选定用STC15W408AS,建议增加点元件,用数码管显示电池电压、设置脉冲宽度。以便监测电池电量,任意选择点焊时长。并把调节数据保存在EEPROM中。 |
unsigned int mosi=3;//计数变量 把3改成0. |
死循环的现象指的是哪些? |
看到大堆的Delay_ms(9000);Delay_ms(2000);这要是能跑才怪了。 |