查看: 3567|回复: 1
打印 上一主题 下一主题

电子课程设计做的一个电子时钟

[复制链接]
跳转到指定楼层
沙发
发表于 2016-6-23 20:33:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <reg51.h>
#define LaoBai unsigned char
#define Liyuchao unsigned int
LaoBai code GY[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
Liyuchao second=0,minter=0,hour=12;
Liyuchao sshi,sge,mge,mshi,hshi,hge;
static char ji_shu_zhong_duan_ci_shu=0;
sbit P21=P2^1;
sbit P22=P2^2;
sbit P23=P2^3;
sbit P24=P2^4;
sbit P25=P2^5;
sbit P26=P2^6;
sbit P27=P2^7;
sbit P20=P2^0;
sbit P10=P1^0;
sbit P11=P1^1;
void delay()
{
  LaoBai i;
  for(i=0;i<15;i++);
}
void int1()interrupt 1 using 2
{
  TH0=0x4C;
  TL0=0x00;
  ji_shu_zhong_duan_ci_shu++;
   
     if(minter==60)minter=0;
     
        if(hour==24)hour=0;
}
void main()
{
  TMOD=0x01;
  TH0=0x4C;
  TL0=0x00;
  EA=1;
  ET0=1;
  TR0=1;
  
  for(;;)
  {
    sshi=second/10;
    sge=second%10;
    mshi=minter/10;
    mge=minter%10;
    hshi=hour/10;
    hge=hour%10;
    P0=GY[sge];
    P27=1;
    delay();
    P27=0;
    P0=GY[sshi];
    P26=1;
    delay();
    P26=0;
    P0=0xBF;
    P25=1;
    delay();
    P25=0;
    P0=GY[mge];
    P24=1;
    delay();
    P24=0;
    P0=GY[mshi];
    P23=1;
    delay();
    P23=0;
    P0=0xBF;
    P22=1;
    delay();
    P22=0;
    P0=GY[hge];
    P21=1;
    delay();
    P21=0;
    P0=GY[hshi];
    P20=1;
    delay();
    P20=0;
   if(ji_shu_zhong_duan_ci_shu==20)
   { ji_shu_zhong_duan_ci_shu=0;
     second++;
       if(second==60)
         {
          second=0;minter++;
           if(minter==60)
             {
              minter=0;hour++;
              if(hour==24)
                hour=0;
             }
            
         }
      
        else if(P10==0)minter++;
         else if(P11==0)hour++;  
    }

}

}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入中科因仑

本版积分规则

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