给个示例程序看看
创新互联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;
//重新赋值
}
}
}
/* 大概这个样子,不知道你的板子怎么连的!最好发个图片,延时不准,自己改一下*/
#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);
}
}
}
我举个"栗子"
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语言移位和循环移位
标题路径:https://www.cdcxhl.com/article34/heeepe.html
成都网站建设公司_创新互联,为您提供企业建站、静态网站、用户体验、营销型网站建设、Google、网站营销
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联