guyong2012 发表于 2011-8-15 20:24:23

电子课程设计做的一个电子时钟,本人新手,请各位大虾别笑话

#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;
    P27=1;
    delay();
    P27=0;
    P0=GY;
    P26=1;
    delay();
    P26=0;
    P0=0xBF;
    P25=1;
    delay();
    P25=0;
    P0=GY;
    P24=1;
    delay();
    P24=0;
    P0=GY;
    P23=1;
    delay();
    P23=0;
    P0=0xBF;
    P22=1;
    delay();
    P22=0;
    P0=GY;
    P21=1;
    delay();
    P21=0;
    P0=GY;
    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++;
    }

}

}

guyong2012 发表于 2011-8-15 20:26:14

回复【楼主位】guyong2012
-----------------------------------------------------------------------

上图http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_667995CUVJIT.jpg
(原文件名:未命名.jpg)

xiatianzhang 发表于 2011-8-25 11:33:03

lidar 发表于 2011-8-25 13:50:42

这个可以练练手,做电子钟的话,可以用时钟芯片,像DS1302,PCF8563等都可以的。

xmfish 发表于 2011-8-25 17:43:49

必学的东东~

guyong2012 发表于 2011-8-29 20:37:58

回复【楼主位】guyong2012
-----------------------------------------------------------------------

上实物图:http://cache.amobbs.com/bbs_upload782111/files_45/ourdev_672297Y8DRLN.jpg
(原文件名:未命名.jpg)

guyong2012 发表于 2011-8-29 20:39:06

回复【5楼】guyong2012
-----------------------------------------------------------------------

直接用上拉电阻驱动的。。。没有用三极管,锁存器之类的

wzz951 发表于 2011-8-31 14:21:29

这样的一般不准,大概一小时就慢6分钟!!

wocgc 发表于 2012-5-7 11:46:58

mark 大大大
页: [1]
查看完整版本: 电子课程设计做的一个电子时钟,本人新手,请各位大虾别笑话