C51 COMPILER V8.02 0 07/03/2010 14:45:43 PAGE 1 C51 COMPILER V8.02, COMPILATION OF MODULE 0 OBJECT MODULE PLACED IN 0.OBJ COMPILER INVOKED BY: D:\处理软件\keil\C51\BIN\C51.EXE 0.c BROWSE DEBUG OBJECTEXTEND line level source 1 /**************************************************************************** 2 “天祥电子” 倾情奉献 3 www.txmcu.cn 4 www.txmcu.com 5 ***************************************************************************** 6 程序功能: 演示指针作为函数的参数。 7 ****************************************************************************/ 8 #include 9 10 void delay(void) //此延时函数无参数,无返回值。在其后面作了一个有参数的延时函数作为对比 11 { 12 1 unsigned char m,n; 13 1 for(m=0;m<200;m++) 14 1 for(n=0;n<200;n++); 15 1 } 16 /*************************************************************** 17 //带参数的延时函数 18 void delay(unsigned int m) 19 { 20 unsigned int n; 21 unsigned char p; 22 for(n=m;n>0;n--) 23 for(p=0;p<200;p++); 24 } 25 //调用时,可这样调用:delay(200);括弧中的值可自设,但不可大于 26 //定义时所定的unsigned int的范围。 27 *****************************************************************/ 28 void led(unsigned char *p) //形参为无符号字符型指针 29 { 30 1 unsigned char i; 31 1 while(1) 32 1 { 33 2 i=0; //将i置为0,指向数组第一个元素 34 2 while(i!=16) 35 2 { 36 3 P1=*(p+i);// 取的指针所指变量(数组元素)的值,送P1口 37 3 delay(); //调用延时函数 38 3 i++; //指向下一个数组元素 39 3 } 40 2 } 41 1 } 42 43 44 void main(void) 45 { 46 1 unsigned char code table[16]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F, 47 1 0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE}; 48 1 //流水灯控制码 49 1 unsigned char *p; 50 1 p=table; 51 1 led(p); 52 1 53 1 } C51 COMPILER V8.02 0 07/03/2010 14:45:43 PAGE 2 MODULE INFORMATION: STATIC OVERLAYABLE CODE SIZE = 55 ---- CONSTANT SIZE = 16 ---- XDATA SIZE = ---- ---- PDATA SIZE = ---- ---- DATA SIZE = ---- 3 IDATA SIZE = ---- ---- BIT SIZE = ---- ---- END OF MODULE INFORMATION. C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)