代码设计的是,一启动,数码管显示的两串字符就应该按一定频率交替显示。但proteus仿真时,一启动,数码管一直在显示初始字符串不变化(放数组内的),等好一会,才按频率交替显示,感觉就是第一轮大循环莫名其妙花费了太多太多时长。代码如下。请大家分析下啥原因呢?
void main(){
int delayChange=0;
char change=1;
char i;
while(1){
delayChange++;
if(delayChange>100){
delayChange=0;
if(change==1){
strcpy(disArray,"12345x");
change=0;
}else{
strcpy(disArray,"happyx");
change=1;
}
}
for(i=0;i<6;i++){
position=0xff; //消影
punlock=1;
punlock=0;
word=wordCode[getWCi(disArray[i])]; //送字码
wunlock=1;
wunlock=0;
position=posiCode[i]; //送位码
punlock=1;
punlock=0;
delay(delayW); //延时
}
}
}
|