给个示例程序看看
创新互联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;
}