找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5234|回复: 1
打印 上一主题 下一主题
收起左侧

笨鸟先飞的递减法流水灯

[复制链接]
跳转到指定楼层
楼主
ID:23261 发表于 2010-4-23 20:01 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

#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--);
  
  }
  
  }
}

 

 

不懂得用其他的函数来设计,所以只能递减实现。还请老师弄个简单的程序带对比的说明指南。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2010-4-23 23:15 | 只看该作者

最好是通过移位来实现

看这个帖子 http://www.51hei.com/bbs/dpj-3009-1.html

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表