希望高手帮我搞定一下。数字钟设计, 需要详细一点电路图 ,电路图发到我的邮箱961571181@qq.com 非常的急

一、 设计任务
利用可编程逻辑器件,设计一个多功能数字钟系统。
二、设计要求
1、能实现小时、分钟和秒计时的显示;
2、能够对数字钟的小时和分钟进行校对设置;

#include<reg51.h>

#define uchar unsigned char

#define uint unsigned int

sbit le=P1^0;

sbit key1=P3^7;

sbit key2=P3^6;

sbit key3=P3^5;

uchar hour,minute,second,t0,a8,a7,a5,a4,a2,a1;

void init();

void display(uchar a8,uchar a7,uchar a5,uchar a4,uchar a2,uchar a1);

uchar discode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67};

void delay(uint z)

{

 uint x,y;

 for(x=0;x<z;x++)

  for(y=0;y<120;y++);

}

void main()

{

 init();

 while(1)

 { 

  if(key1==0) 

        { 

       delay(10);

       if(key1==0) 

         { 

           second++; 

           if(second==60) 

             { 

               second=0; 

             } 

           a1=second%10; 

           a2=second/10;   

         }while(key1==0); 

      } 

  if(key2==0) 

  { 

   delay(10);

   if(key2==0) 

            { 

    minute++; 

    if(minute==60) 

                { 

     minute=0; 

                } 

    a4=minute%10; 

    a5=minute/10; 

            }while(key2==0);

  } 

  if(key3==0)

  { 

   delay(10);

   if(key3==0)

   { 

    hour++; 

    if(hour==24)

    { 

     hour=0; 

    }

    a7=hour%10; 

             a8=hour/10;

   }while(key3==0);

  }

  display(a8,a7,a5,a4,a2,a1);

 }

}

void init()

{

 hour=12;

 TMOD=0x01;

 TH0=(65536-50000)/256;

 TL0=(65536-50000)%256;

 EA=1;

 ET0=1;

 TR0=1;

}

void timer0() interrupt 1

{

 TH0=(65536-50000)/256;

 TL0=(65536-50000)%256;

 t0++;

 if(t0==20)

  {

     t0=0;

   second++;

   if(second==60)

   {

    second=0;

    minute++;

    if(minute==60)

    {

     minute=0;

     hour++;

     if(hour==24)

     {

      hour=0;

     }

    }

   }

   a2=second/10;

   a1=second%10;

   a5=minute/10;

   a4=minute%10;

   a8=hour/10;

   a7=hour%10; 

    } 

}

void display(uchar a8,uchar a7,uchar a5,uchar a4,uchar a2,uchar a1)

{

 P2=0x7f;       

 le=1;

 P0=discode[a8];

 le=0;

 delay(1);

 

 P2=0xbf;

 le=1;

 P0=discode[a7];

 le=0;

 delay(1);

 

 P2=0xdf;

 le=1;

 P0=0x40;

 le=0;

 delay(1);

 

 P2=0xef;       

 le=1;

 P0=discode[a5];

 le=0;

 delay(1);

 

 P2=0xf7;

 le=1;

 P0=discode[a4];

 le=0;

 delay(1);

 

 P2=0xfb;

 le=1;

 P0=0x40;

 le=0;

 delay(1);

 

 P2=0xfd;

 le=1;

 P0=discode[a2];

 le=0;

 delay(1);

 

 P2=0xfe;

 le=1;

 P0=discode[a1];

 le=0;

 delay(1);

 

 

注意:J16接单片机P2口,J12接单片机P0口。

追问

需要什么元器件啊?给我个详细的元器件的清单和元器件的封装名称喔!谢谢你的帮助!

追答

你们是用贴片的还是用直插的呀!型号可以给你封装要你自己定了,因为要根据你买的元器件定封装的。
单片机:STC90C516RD+ 1片
锁存芯片:74HC573D 1片
四位八段共阴极数码管 英寸数自己定 2个
剩下的就是单片机最小控制系统常见的东西了照着书画就可以了。晶振要12MHZ的。

温馨提示:内容为网友见解,仅供参考
无其他回答

Warning: Invalid argument supplied for foreach() in /www/wwwroot/aolonic.com/skin/templets/default/contents.html on line 45
相似回答