电子产业一站式赋能平台

PCB联盟网

搜索
查看: 2008|回复: 0
收起左侧

单片机C语言实例-301-用指针数组作为函数的参数显示多个字符串

[复制链接]
发表于 2022-3-23 16:02:36 | 显示全部楼层 |阅读模式
单片机C语言实例-301-用指针数组作为函数的参数显示多个字符串

//实例34:用指针数组作为函数的参数显示多个字符串
#include<reg51.h>   //包含51单片机寄存器定义的头文件
unsigned char code str1[ ]="Temperature is tested by DS18B20";//C语言中,字符串是作为字符数组来处理的
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个字符串的字符型指针数组                                       
/**************************************************************
函数功能:延时约150ms
**************************************************************/
void delay(void)   
{
   unsigned char m,n;
         for(m=0;m<200;m++)
          for(n=0;n<250;n++)          
           ;
}
/**************************************************************
函数功能:流水点亮P0口8位LED
**************************************************************/
void led_display(unsigned char *x[ ])  //形参必须为指针数组
{
        unsigned char i,j;               
          for(i=0;i<4;i++) //有4个字符串要显示
           {
                  j=0;  //指向待显字符串的第0号元素
             while(*(x+j)!='\0') //只要第i个字符串的第j号元素不是结束标志
                   {
                      P0=*(x+j); //取得该元素值送到P0口显示
                                delay();  //调用延时函数
                             j++;   //指向下一个元素
                   }
                }                       
}
/**************************************************************
函数功能:主函数
**************************************************************/
void main(void)
{
   unsigned char i;
   while(1)
         {
          for(i=0;i<4;i++)
                 led_display(p); //将指针数组名作实际参数传递
         }
}


更多详情参考附件文档
+08:00C376联盟网3978.png
游客,如果您要查看本帖隐藏内容请回复

回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表