代碼設計的是,一啟動,數碼管顯示的兩串字符就應該按一定頻率交替顯示。但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); //延時
}
}
}
|