|
單片機C語言實例-301-用指針數(shù)組作為函數(shù)的參數(shù)顯示多個字符串
//實例34:用指針數(shù)組作為函數(shù)的參數(shù)顯示多個字符串
#include<reg51.h> //包含51單片機寄存器定義的頭文件
unsigned char code str1[ ]="Temperature is tested by DS18B20";//C語言中,字符串是作為字符數(shù)組來處理的
unsigned char code str2[ ]="Now temperature is:"; //所以,字符串的名字就是字符串的首地址
unsigned char code str3[ ]="The Systerm is designed by Zhang San";
unsigned char code str4[ ]="The date is 2008-9-30";
unsigned char *p[ ]={str1,str2,str3,str4}; //定義p[4]為指向4個字符串的字符型指針數(shù)組
/**************************************************************
函數(shù)功能:延時約150ms
**************************************************************/
void delay(void)
{
unsigned char m,n;
for(m=0;m<200;m++)
for(n=0;n<250;n++)
;
}
/**************************************************************
函數(shù)功能:流水點亮P0口8位LED
**************************************************************/
void led_display(unsigned char *x[ ]) //形參必須為指針數(shù)組
{
unsigned char i,j;
for(i=0;i<4;i++) //有4個字符串要顯示
{
j=0; //指向待顯字符串的第0號元素
while(*(x+j)!='\0') //只要第i個字符串的第j號元素不是結(jié)束標志
{
P0=*(x+j); //取得該元素值送到P0口顯示
delay(); //調(diào)用延時函數(shù)
j++; //指向下一個元素
}
}
}
/**************************************************************
函數(shù)功能:主函數(shù)
**************************************************************/
void main(void)
{
unsigned char i;
while(1)
{
for(i=0;i<4;i++)
led_display(p); //將指針數(shù)組名作實際參數(shù)傳遞
}
}
更多詳情參考附件文檔
+08:00C376聯(lián)盟網(wǎng)3978.png (11.26 KB, 下載次數(shù): 2)
下載附件
保存到相冊
2022-3-23 16:01 上傳
|
|