//程序用于控制LED漸亮和漸暗;通過改變占空比實現(xiàn)。 #include<reg52.h> void zkb(unsigned char a) //延時改變占空比 ;char為什么不能改成int???? {unsigned int b; while(a--) {for(b=0;b<1;b++); }} void jianlian() //漸亮函數(shù) {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函數(shù)的形參改為 unsigned int a 后程序就不能正確運行,而當形參為 unsigned char a 的時候程序就能正常實現(xiàn)LED的漸亮和漸暗!
請問這是在哪里出了問題?。
不勝感激高手指點。。。! |