/**************************************************************************** “天祥电子” 倾情奉献 www.txmcu.cn www.txmcu.com ***************************************************************************** 程序功能: 演示指针作为函数的参数。 ****************************************************************************/ #include void delay(void) //此延时函数无参数,无返回值。在其后面作了一个有参数的延时函数作为对比 { unsigned char m,n; for(m=0;m<200;m++) for(n=0;n<200;n++); } /*************************************************************** //带参数的延时函数 void delay(unsigned int m) { unsigned int n; unsigned char p; for(n=m;n>0;n--) for(p=0;p<200;p++); } //调用时,可这样调用:delay(200);括弧中的值可自设,但不可大于 //定义时所定的unsigned int的范围。 *****************************************************************/ void led(unsigned char *p) //形参为无符号字符型指针 { unsigned char i; while(1) { i=0; //将i置为0,指向数组第一个元素 while(i!=16) { P1=*(p+i);// 取的指针所指变量(数组元素)的值,送P1口 delay(); //调用延时函数 i++; //指向下一个数组元素 } } } void main(void) { unsigned char code table[16]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F, 0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE}; //流水灯控制码 unsigned char *p; p=table; led(p); }