c语言循环位移函数跑马灯,c语言移位和循环移位

用c语言实现跑马灯循环亮灭

给个示例程序看看

创新互联2013年开创至今,是专业互联网技术服务公司,拥有项目成都网站设计、做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元巴南做网站,已为上家服务,为巴南各地企业和个人服务,联系电话:18980820575

/*-----------------------------------------------

名称:流水灯

公司:上海浩豚电子科技有限公司

编写:师访

日期:2009.5

修改:无

内容:循环点亮P1口对应的8个LED灯,造成循环流水点亮的效果

------------------------------------------------*/

#includereg52.h

//包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义

/*------------------------------------------------

延时子程序

------------------------------------------------*/

void

delay(unsigned

int

cnt)

{

while(--cnt);

}

/*------------------------------------------------

主函数

------------------------------------------------*/

main()

{

P1=0xfe;

//给初始化值

换算成二进制是1111

1110

while(1)

{

delay(30000);//延时程序

P1=1;

//左移一位

该语句等效于

P1=P11

P1|=0x01;

//最后一位补1,该语句等效于

P1=P1|0x01

符号"|"表示"或"

if(P1==0x7f)

//检测是否移到最左端?"=="表示检测符号2端的值是否相等

{

delay(30000);

P1=0xfe;

//重新赋值

}

}

}

C语言:开机时所有跑马灯全灭,然后跑马灯先循环左移1圈后循环右移一圈,时间间隔1S,此过程一直重复下去

/* 大概这个样子,不知道你的板子怎么连的!最好发个图片,延时不准,自己改一下*/

#includereg52.h

#includeintrins.h

#define uchar unsigned char

#define uint unsigned int

//延时

void DelayMS(uint x)

{

uchar i;

while(x--)

{

for(i=0;i120;i++);

}

}

//主程序

void main()

{

uchar i;

P1=0x01;

while(1)

{

for(i=0;i7;i++)

{

P1=_crol_(P1,1); //P1的值向左循环移动

DelayMS(150);

}

for(i=0;i7;i++)

{

P1=_cror_(P1,1); //P1的值向右循环移动

DelayMS(150);

}

}

}

c语言怎么实现跑马灯循环亮灭

我举个"栗子"

int a[10];

for (i=0; i10; i++) a[i] = 0; // clear

i=-1;

while (1)

{

i++; if (i==10) i=0;

if (i==0) { a[9] = 0; a[0] = 1;}

else { a[i-1] = 0; a[i] = 1;}

cls;

for (i=0; i10; i++) printf("%d" , a[i]);

//put break;

}


新闻名称:c语言循环位移函数跑马灯,c语言移位和循环移位
分享地址:http://scyanting.com/article/heeepe.html