//程序用于控制LED漸亮和漸暗;通過改變占空比實現。 #include<reg52.h> void zkb(unsigned char a) //延時改變占空比 ;char為什么不能改成int???? {unsigned int b; while(a--) {for(b=0;b<1;b++); }} void jianlian() //漸亮函數 {unsigned int j=0,i=250; P0=0XFF; while(i--) { j++; j=~j; P0=0XFF; zkb(j); j=~j; P0=0x00; zkb(j); } } void jianan() //漸暗 {unsigned int j=0,i=250; P1=0x00; while(i--) {j++; j=~j; P1=0X00; zkb(j); j=~j; P1=0xff; zkb(j); }} void main() {while(1) {jianlian(); jianan(); }}
我的LED接在P0和P1口,當把zkb函數的形參改為 unsigned int a 后程序就不能正確運行,而當形參為 unsigned char a 的時候程序就能正常實現LED的漸亮和漸暗!
請問這是在哪里出了問題?!!
不勝感激高手指點!!!!! |