|
單片機(jī)C語言實(shí)例-301-用指針數(shù)組作為函數(shù)的參數(shù)顯示多個(gè)字符串
//實(shí)例34:用指針數(shù)組作為函數(shù)的參數(shù)顯示多個(gè)字符串
#include<reg51.h> //包含51單片機(jī)寄存器定義的頭文件
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個(gè)字符串的字符型指針數(shù)組
/**************************************************************
函數(shù)功能:延時(shí)約150ms
**************************************************************/
void delay(void)
{
unsigned char m,n;
for(m=0;m<200;m++)
for(n=0;n<250;n++)
;
}
/**************************************************************
函數(shù)功能:流水點(diǎn)亮P0口8位LED
**************************************************************/
void led_display(unsigned char *x[ ]) //形參必須為指針數(shù)組
{
unsigned char i,j;
for(i=0;i<4;i++) //有4個(gè)字符串要顯示
{
j=0; //指向待顯字符串的第0號元素
while(*(x+j)!='\0') //只要第i個(gè)字符串的第j號元素不是結(jié)束標(biāo)志
{
P0=*(x+j); //取得該元素值送到P0口顯示
delay(); //調(diào)用延時(shí)函數(shù)
j++; //指向下一個(gè)元素
}
}
}
/**************************************************************
函數(shù)功能:主函數(shù)
**************************************************************/
void main(void)
{
unsigned char i;
while(1)
{
for(i=0;i<4;i++)
led_display(p); //將指針數(shù)組名作實(shí)際參數(shù)傳遞
}
}
更多詳情參考附件文檔
+08:00C376聯(lián)盟網(wǎng)3978.png (11.26 KB, 下載次數(shù): 3)
下載附件
保存到相冊
2022-3-23 16:01 上傳
|
|