找回密码
 立即注册

QQ登录

只需一步,快速开始

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

用if语句实现数字钟—数码管动态扫描

[复制链接]
跳转到指定楼层
楼主
ID:20559 发表于 2010-3-25 20:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
uchar temp1,temp2,temp3,aa;

uchar code tablewe[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
uchar code tabledu[]={
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0xbf};
sbit p37=P3^7;
sbit p36=P3^6;
sbit p35=P3^5;
sbit p34=P3^4;
sbit p33=P3^3;
sbit p32=P3^2;
sbit p31=P3^1;
sbit p30=P3^0;

void delay(uint);
void main()

 temp1=0;
 temp2=0;
 temp3=0;
 TMOD=0x01;
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%256;
 EA=1;
 ET0=1;
 TR0=1; 
  while(1)
  { 
   if(aa==20)
   {  aa=0;
    temp1++;
    if(temp1==60)
    { temp1=0;
     temp2++;
     if(temp2==60)
     { temp2=0;
      temp3++;
      if(temp3==24)
       {temp1=0;temp2=0;temp3=0;}
     }
    }
   }
   p37=0;
   P0=tabledu[temp1%10];
   delay(1);
   p37=1;
   p36=0;
   P0=tabledu[temp1/10];
   delay(1);
   p36=1;
   p35=0;
   P0=tabledu[10];
   delay(1);
   p35=1;
   
   p34=0;
   P0=tabledu[temp2%10];
   delay(1);
   p34=1;



   p33=0;
   P0=tabledu[temp2/10];
   delay(1);
   p33=1;
   p32=0;
   P0=tabledu[10];
   delay(1);
   p32=1;

   p31=0;
   P0=tabledu[temp3%10];
   delay(1);
   p31=1;
   p30=0;
   P0=tabledu[temp3/10];
   delay(1);
   p30=1;
   
  }
  
 
}

void delay(uint z)
{
 uint x,y;
 for(x=115;x>0;x--)
  for(y=z;y>0;y--);
}


void timer0() interrupt 1
{
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%256;
 aa++;
}

 

 

 

现在还没有完全学会设置时间!先传上去,慢慢学着!



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

使用道具 举报

沙发
ID:79866 发表于 2015-6-3 14:18 | 只看该作者
回复

使用道具 举报

板凳
ID:86421 发表于 2015-10-12 20:33 | 只看该作者
这不是网上买的51板吗
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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