注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

耳朵的博客

做自己想做的人

 
 
 

日志

 
 

旋转LED时钟(指针版)  

2008-12-22 13:51:12|  分类: 单片机 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 

 

旋转LED时钟简介

主要材料:

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

时钟显示原理:

电动机带动焊有一排LED的电路板旋转,单片机通过红外管测得电路板转一圈的时间,然后将时间分割,在每个分割点让不同的发光二极管显示,利用人眼视觉暂留,看上去就像一个时钟。

源程序:

#include<reg51.h>

sbit a1=P2^0;

sbit a2=P2^1;

sbit a3=P2^2;

 

int shi,fen,miao,i=0,ii=0;

unsigned int a=0,th,tl,q=0,aa=0,aaa=0; 

void main(void)

{

      int x,y;

      TMOD=0x11;

      EA=1;

      EX0=1;

      ET0=1;

      ET1=1;

      IT0=1;

      shi=7,fen=20,miao=0;

      while(1)

      {

           for(x=300;x>=0;x--)

                 for(y=150;y>=0;y--)

                 {

                      P1=0xff;

                      P2=0xff;                         

                      P2=0x00;

          

                      P1=0xff;

                      a3=1;

                      P1=0xfc;

                      P1=0xff;   

                      a3=0;

                 }

           miao++;

           if(miao==61)

           {

                 miao=1;

                fen++;

           }

           if(fen==60)

           {

                 fen=0;

                 shi++;

           }

      }

}

 

void i0() interrupt 0

{

      int k;

      unsigned int b,q; 

      TR0=1;

     

 

      q=(TH0*0x100+TL0)/62;

     

      a=q/0x100;

     

      b=q-(q/0x100)*0x100;

      th=0xff-a;

      tl=0xff-b;       

 

/*   a=TH0;

      b=TL0;

      th=0x100-((a*256+b)/49)/256;

      tl=0x100-((a*256+b)/49)%256;          */

     

      TH1=th;               

      TL1=tl;

      TR1=1;

      TH0=0x00;

      TL0=0x00;                            

      i=0;

      P1=0xff;

      P2=0xff;                         

      P2=0x00;

      k=3;

      P1=0xff;

      a1=1;

      P1=0x0f;

      while(k--);

      P1=0xff;   

      a1=0;

}

 

void i1(void) interrupt 1

{

     

      TH0=0x00;

      TL0=0x00;

}

 

void i3(void) interrupt 3

{

      int k=3,q1,q2,q3;

      long chen;

      TH1=th;

      TL1=tl;

     

      i++;

     

      P1=0xff;

      P2=0xff;                         

      P2=0x00;   

      if(i%15==0)

      {

           P1=0xff;                    

           a1=1;

           P1=0x0f;

           while(k--);

           P1=0xff;   

           a1=0;

      }

      else if(i%5==0)

      {

           P1=0xff;

           a1=1;

           P1=0x1f;

           while(k--);

           P1=0xff;   

           a1=0;

      }

      else

      {

           P1=0xff;

           a1=1;

           P1=0x7f;

           while(k--);

           P1=0xff;   

           a1=0;

      }

      k=3;

      if(i==miao)          

      {

           k=3;

           P1=0xff;

           a1=1;

           P1=0xf8;

           while(k--);

           P1=0xff;   

           a1=0;

           k=3;

           P1=0xff;

           a2=1;

           P1=0x00;

           while(k--);

           P1=0xff;   

           a2=0;

           k=3;

           P1=0xff;

           a3=1;

           P1=0x00;

           while(k--);

           P1=0xff;   

           a3=0;

      }

      else if(i==fen)

      {

           k=3;                                                                 

           P1=0xff;

           a2=1;

           P1=0xc0;

           while(k--);

           P1=0xff;   

           a2=0;

           k=3;

           P1=0xff;

           a3=1;

           P1=0x00;

           while(k--);

           P1=0xff;   

           a3=0;

      }

      else if(i==(shi*5)+2     )

      {

           k=3;

           P1=0xff;

           a3=1;

           P1=0x00;

           while(k--);

           P1=0xff;   

           a3=0;

      }

      else if(i==(shi*5)+1||i==(shi*5)+3)

      {

           k=1;

           P1=0xff;

           a3=1;

           P1=0xbf;

           while(k--);

           P1=0xff;   

           a3=0;

      }

}    

效果图:

旋转LED时钟(指针版) - 耳朵 - 耳朵的博客

  评论这张
 
阅读(7385)| 评论(17)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018