迅维网

查看: 993|回复: 0
打印 上一主题 下一主题

旋转LED时钟(数字版)

[复制链接]
跳转到指定楼层
1#
发表于 2016-2-16 16:37:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 来自: 山东 来自 山东

马上注册,获取阅读精华内容及下载权限

您需要 登录 才可以下载或查看,没有帐号?注册

x


主要材料:


电动机,发光二极管,锁存器(74HC573),单片机(89s51),红外发射管,红外接收管,电池。


效果图:


                               
登录/注册后看高清大图


源程序:


  • #include<reg52.h>
  • sbit lan_deng=P3^0;
  • const unsigned char code table[11][6] ={{ 0x3e, 0x41, 0x41, 0x41, 0x3e, 0x00  }, // 0
  •                                       { 0x00, 0x21, 0x7f, 0x01, 0x00, 0x00  }, // 1
  •                                       { 0x21, 0x43, 0x45, 0x49, 0x31, 0x00  }, // 2
  •                                       { 0x42, 0x41, 0x51, 0x69, 0x46, 0x00  }, // 3
  •                                       { 0x0c, 0x14, 0x24, 0x5f, 0x04, 0x00  }, // 4
  •                                       { 0x72, 0x51, 0x51, 0x51, 0x4e, 0x00  }, // 5
  •                                       { 0x1e, 0x29, 0x49, 0x49, 0x06, 0x00  }, // 6
  •                                       { 0x40, 0x47, 0x48, 0x50, 0x60, 0x00  }, // 7
  •                                       { 0x36, 0x49, 0x49, 0x49, 0x36, 0x00  }, // 8
  •                                       { 0x30, 0x49, 0x49, 0x4a, 0x3c, 0x00  }, // 9
  •                                       { 0x00, 0x36, 0x36, 0x00, 0x00, 0x00  }};// :
  •           code table_2[3][7]={{ 0x0e, 0x11, 0x11, 0x11, 0x11, 0x11 ,0x0e }, // 0
  •                     { 0x0f, 0x10, 0x10, 0x08, 0x04, 0x02 ,0x1f }, // 2
  •                     { 0x0e, 0x11, 0x11, 0x0e, 0x11, 0x11 ,0x0e }};// 8
  • char n=0,a[8]={1,2,10,0,0,10,0,0};
  • void delay(unsigned long i)
  • {
  • while(i--);
  • }
  • void main(void)
  • {
  • TMOD=0x11;
  • EA=1;
  • EX0=1;
  • IT0=1;
  • ET0=1;
  • TR0=1;
  • TH0=0x00;
  • TL0=0x00;
  • lan_deng=0;
  • while(1)
  • {
  •   P0=0xff;
  •   P1=0xff;
  •   P2=0xff;
  •   if(a[7]==10)
  •   {
  •    a[7]=0;
  •    a[6]++;
  •   }
  •   if(a[6]==6)
  •   {
  •    a[6]=0;
  •    a[4]++;
  •   }
  •   if(a[4]==10)
  •   {
  •    a[4]=0;
  •    a[3]++;
  •   }
  •   if(a[3]==6)
  •   {
  •    a[3]=0;
  •    a[1]++;
  •   }
  •   if(a[1]==10)
  •   {
  •    a[1]=0;
  •    a[0]++;
  •   }
  •   if(a[1]==4&&a[0]==2)
  •   {
  •    a[1]=0;
  •    a[0]=0;
  •   }
  • }
  • }
  • void i0(void)  interrupt 0
  • {
  • unsigned char i,j,k=15;
  • delay(300);
  • for(i=0;i<7;i++)
  • {
  •   P0=0xff-table_2[1];
  •   P1=0xff-(table_2[0]<<2);
  •   delay(2*k);
  • }
  • P1=0xff;
  • P0=0xff;
  • delay(340);
  • for(j=0;j<8;j++)
  •   for(i=0;i<6;i++)
  •   {
  •    P0=0xff-(table[a[j]]<<1);
  •    delay(k);
  •   }
  • P0=0xff;
  • delay(300);
  • for(i=0;i<7;i++)
  • {
  •   P0=0xff-table_2[2];
  •   P1=0xff-(table_2[0]<<2);
  •   delay(2*k);
  • }
  • P1=0xff;
  • P0=0xff;
  • }
  • void i1(void) interrupt 1
  • {
  • TH0=0x00;
  • TL0=0x00;
  • n++;
  • if(n==30)
  • {
  •   n=0;
  •   a[7]++;
  • }

  • }</font>


复制代码







来源:网络转载

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

本版积分规则

快速回复 返回顶部 返回列表
附近
店铺
微信扫码查看附近店铺
维修
报价
扫码查看手机版报价
信号元
件查询
点位图 AI维修
助手



芯片搜索

快速回复