打印
[疑难问答]

笨鸟先飞的递减法流水灯

[复制链接]
1696|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lpydidi|  楼主 | 2010-4-26 21:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include"AT89x52.h"
#include"intrins.h"

#define uint unsigned int
#define uchar unsigned char

sbit wei=P2^7;      //U2 74HC573的LE端    数码管的位选端
sbit pw=P1^4;       //LED发光管的使能端

unsigned int a;     //定义无符号整行a
void main()
{
while(1)  //死循环
{
  wei=0;   //锁存,让位选的74hc573保持现在的状态不变,也就是一直不显示,如果不写这3行,数码管上就会有干?
  {
  pw=0;  //开LED总使能   
     P0=0xff; //让所有数码管不显示,防止数码管干扰   
  P0=0x7f; //P0口送2进制 01111111 8个二进制对应8个led灯,也就是让为0的数码管亮,为1的不亮
  a=55000;
     while(a--);
     pw=1;
  a=55000;
  while(a--);
  
     pw=0;   
     P0=0xff;
  P0=0xbf;
  a=55000;
     while(a--);
     pw=1;
  a=55000;
  while(a--);

  pw=0;  
     P0=0xff;
  P0=0xdf;
  a=55000;
     while(a--);
     pw=1;
  a=55000;
  while(a--);
  
  pw=0;  
     P0=0xff;
  wei=0;   
  P0=0xef;
  a=55000;
     while(a--);
     pw=1;
  a=55000;
  while(a--);

  pw=0;  
     P0=0xff;
  P0=0xf7;
  a=55000;
     while(a--);
     pw=1;
  a=55000;
  while(a--);

  pw=0;  
     P0=0xff;
  P0=0xfb;
  a=55000;
     while(a--);
     pw=1;
  a=55000;
  while(a--);

  pw=0;  
     P0=0xff;
  P0=0xfd;
  a=55000;
     while(a--);
     pw=1;
  a=55000;
  while(a--);
  
  pw=0;  
     P0=0xff;
  P0=0xfe;
  a=55000;
     while(a--);
     pw=1;
  a=55000;
  while(a--);
  
  }
  
  }
}



不懂得用其他的函数来设计,所以只能递减实现。
沙发
wangwo| | 2010-4-26 22:20 | 只看该作者
这个是干什么

使用特权

评论回复
板凳
tiger2010| | 2010-4-26 23:01 | 只看该作者
那看出来是笨鸟先飞了:lol

使用特权

评论回复
地板
寂寞男孩| | 2010-4-27 13:46 | 只看该作者
这个算法很简单

使用特权

评论回复
5
yidou| | 2010-4-28 23:10 | 只看该作者
还能用什么设计

使用特权

评论回复
6
OLIVERR| | 2010-4-29 08:29 | 只看该作者
呵呵,确实比较简单

使用特权

评论回复
7
五谷道场| | 2010-4-30 23:06 | 只看该作者
为何笨鸟先飞?

使用特权

评论回复
8
lpydidi|  楼主 | 2010-5-7 22:51 | 只看该作者
7# 五谷道场
想表达的是,用比较简单笨拙的办法解决问题

使用特权

评论回复
9
David_ming| | 2010-5-7 23:41 | 只看该作者
可以写个大循环来查表,要是有规律的话还可以用与或非异或之类的实现,代码会比较精简

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

319

帖子

1

粉丝