电子产业一站式赋能平台

PCB联盟网

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

单片机C语言实例-299-用数组作函数参数控制流水花样

[复制链接]
发表于 2022-3-23 15:56:09 | 显示全部楼层 |阅读模式
单片机C语言实例-299-用数组作函数参数控制流水花样

//实例32:用指针作函数参数控制P0口8位LED流水点亮
#include<reg51.h>
/*************************************************
函数功能:延时约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_flow(unsigned char *p) //形参为无符号字符型指针
{
  unsigned char i;
  while(1)
   {
          i=0;   //将i置为0,指向数组第一个元素
          while(*(p+i)!='\0') //只要没有指向数组的结束标志
           {
        P0=*(p+i);// 取的指针所指变量(数组元素)的值,送P0口
             delay();   //调用延时函数
                  i++;    //指向下一个数组元素
           }
        }
}


/*************************************************
函数功能:主函数
*************************************************/
void main(void)
{  
  unsigned  char code Tab[ ]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,
                              0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,
                                                                                0xFF,0xFE,0xFC,0xFB,0xF0,0xE0,0xC0,0x80,
                                                                                0x00,0xE7,0xDB,0xBD,0x7E,0xFF,0xFF,0x3C,
                                                                                0x18,0x0,0x81,0xC3,0xE7,0xFF,        0xFF,0x7E};
                                                                                //流水灯控制码
  unsigned char *pointer;
  pointer=Tab;
  led_flow(pointer);

}


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

回复

使用道具 举报

发表回复

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

本版积分规则


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