2017.11.19 C语言基础及流水灯实现


/* 从右往左*/

#include <reg52.h>

sbit ADDR0 = P1^0;

sbit ADDR1 = P1^1;

sbit ADDR2 = P1^2;

sbit ADDR3 = P1^3;

sbit ENLED = P1^4;

void main()

{

  unsigned int count = 0;

  unsigned int cnt = 1;

  ADDR0=0;

  ADDR1=1;

  ADDR2=1;

  ADDR3=1;

  ENLED=0;

  while(1)

  {

  P0=~(0x01<<cnt);

  for(count=0;count<30000;count++);

  cnt++;

    if(cnt>=8)

      {

      cnt=0;

      }

  }

}

/*来回闪烁*/ 自己编写

#include <reg52.h>
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
void main()
{
unsigned int count = 0;
unsigned int cnt = 0;
unsigned int i=0;
ADDR0=0;
ADDR1=1;
ADDR2=1;
ADDR3=1;
ENLED=0;
for(cnt=0;cnt<8;cnt++)
{
P0=~(0x01<<cnt);
for(count=0;count<30000;count++);
}
if(cnt>=7)
{
for(i=0;i<8;i++)
{
P0=~(0x80>>i);
for(count=0;count<30000;count++);
}
}

}

/*来回闪烁*/ 参考

#include <reg52.h>
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
void main()
{
unsigned int i=0;
unsigned int j;
unsigned int k=0x01;
ADDR0=0;
ADDR1=1;
ADDR2=1;
ADDR3=1;
ENLED=0;
while(1)
{
P0=~k;
for(j=0;j<30000;j++);
if(i==0)
{
k=k<<1;
if(k==0x80)
i=1;
}
else
{
k=k>>1;
if(k==0x01)
i=0;
}
}
}

优质内容筛选与推荐>>
1、继承
2、Problems with opening CHM Help files from Network or Internet
3、[1000个苹果分10箱]一道李开复面试题目的证明
4、悟透JavaScript(理解JS面向对象的好文章)
5、图片圆角处理


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号