资源简介

实现功能如下,代码设计原理图设计论文均已完善并完美通过答辩,完美运行,只需3积分非常实惠,快来下载吧~ 包售后哦~有什么不懂的地方均可以来问我

秒表/时钟计时器要求用六位LED数码管显示时、分、秒,以24h(小时)计时方式。使用按键开关可实现时分调整、秒表/时钟功能转换、省电(关闭显示)等功能。
技术要求:
1、采用AT89C52单片机控制。
2、采用共阳七段LED显示器,动态显示方式。
3、P0口输出段码数据,P2.0~P2.5口作列扫描输出,P1.0~P1.2口扩展按键开关,用以调时及功能设置。
4、使用Proteus完成电路原理图的绘制。
5、采用C51语言或汇编语言编写代码,在keil中完成程序的编辑和调试。

资源截图

代码片段和文件信息

/*
 *title:基于C52单片机的秒表/时钟系统设计
 *Copyright: Copyright (c) 2019
 *Created on 2019-01-02  
 *Author:Wang_pengwei
 *Version 1.5
 *Finally change time:2019-01-07 9.36 
 *All Rights Reserved-保留所有权利
 */
#include
#define uint unsigned int 
#define uchar unsigned char



sbit key1=P1^0;
sbit key2=P1^1;   
sbit key3=P1^2; //P1.0~P1.2口扩展按键开关,用以调时及功能设置。
sbit key4=P3^0; //P3.0作为调整功能开关
uint aabb;
uint countcount1count2count3countkeycount11count22count33countkey1;
uint count4=10;
uchar table[]={ 
0X3F0X060X5B0X4F0X66
0X6D0X7D0X070X7F0X6F
}; 

void delay(uint z) //延时函数
{
uint xy;
for(x=z;x>0;x--)
for(y=110;y>0;y--) ;
}
void keyscan1()
{
if(key4==0) 
   {
        delay(5);    
        if(key4==0)
        {   
     while(!key4); 
        count++;
     if(count==3)
     {
        count=0;
    }           
    } 
}
if(count==1)
{if(key2==0)
{count11=0;
 count22=0;
 count33=0;
}
if(key1==0) 
   {
        delay(5);    
        if(key1==0)
        {   
     while(!key1); 
        countkey1++;
     if(countkey1==2)
     {
        countkey1=0;
    }           
     } 
}
if(countkey1==1)
{
TR1=1;
}
if(countkey1==0)
TR1=0;
}

if(count==0)
{if(key1==0) 
   {
        delay(5);    
        if(key1==0)
        {   
     while(!key1); 
        TR0=0;
        countkey++;
     if(countkey==4)
     {
        TR0=1;
        countkey=0;
    }           
     } 
}
if(countkey==1)
   {

   if(key2==0)
   {
      delay(5);
    if(key2==0)
    { 
       while(!key2); 

     count1++;
    }
   } 
      if(key3==0)
   {
      delay(5);
    if(key3==0)
    { 
       while(!key3); 

     count1--;
    }
   } 
}
if(countkey==2)    
{
   if(key2==0)
   {
      delay(15);
    if(key2==0) 
    {
       while(!key2); 
     count2++;
    }
   }
    if(key3==0)
   {
      delay(15);
    if(key3==0) 
    {
       while(!key3); 
     count2--;
    }
   }
}
if(countkey==3)
{
   if(!key2)
   {delay(5);
    if(!key2)
    {
     while(!key2); 
       count3++;
      if(count3==24)
       count3=0;
    }
   }
    if(!key3)
   {delay(5);
    if(!key3)
    {
     while(!key3); 
       count3--;
      if(count3==0)
       count3=24;
    }
   }

if(count4==0)
{
  if(!key2)
   {delay(5);
    if(!key2)
    {
     while(!key2); 
       count4++;

    }
   }
    if(!key3)
   {delay(5);
    if(!key3)
    {
     while(!key3); 
       count4--;
    }
   }
}  
}
}
void display(uint second1uint second10uint minute1uint minute10uint hour1uint hour10) //P0口输出段码数据,P2.0~P2.5口作列扫描输出
{  
 P0=table[hour10];
 P2=0xfe;
     delay(1);
 P2=0xff;
 P0=table[hour1];
 P2=0xfd;
 delay(1);
 P0=0x80;
 delay(1);
 P2=0xff;
 P0=table[minute10];  
 P2=0xfb;
 delay(1);
 P2=0xff;
 P0=table[minute1];
 P2=0xf7;
 delay(1);
 P0=0x80;
 delay(1);
 P2=0xff;
 P0=ta

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件      861184  2019-01-08 17:25  基于C52单片机的秒表时钟计时器\秒表时钟计时器的设计.doc
     目录           0  2019-01-08 17:04  基于C52单片机的秒表时钟计时器\
     文件       19080  2019-01-07 09:51  基于C52单片机的秒表时钟计时器\Backup Of 原理图设计.pdsbak
     文件       19188  2019-01-06 16:45  基于C52单片机的秒表时钟计时器\Last Loaded clock.pdsbak
     文件       17394  2019-01-08 10:59  基于C52单片机的秒表时钟计时器\Last Loaded 原理图设计.pdsbak
     文件        6376  2009-05-07 14:37  基于C52单片机的秒表时钟计时器\STARTUP.A51
     文件       14048  2019-01-06 16:51  基于C52单片机的秒表时钟计时器\STARTUP.LST
     文件         758  2019-01-06 16:51  基于C52单片机的秒表时钟计时器\STARTUP.OBJ
     文件       10440  2019-01-07 09:49  基于C52单片机的秒表时钟计时器\at89c52.PDF
     文件         328  2019-01-06 16:55  基于C52单片机的秒表时钟计时器\clock.pdsprj.KRYO.kryo.workspace
     文件       10488  2019-01-07 10:28  基于C52单片机的秒表时钟计时器\代码.LST
     文件       12456  2019-01-07 10:28  基于C52单片机的秒表时钟计时器\代码.OBJ
     文件          34  2019-01-07 10:28  基于C52单片机的秒表时钟计时器\代码.__i
     文件        4325  2019-01-07 10:27  基于C52单片机的秒表时钟计时器\代码.c
     文件       10696  2019-01-07 10:28  基于C52单片机的秒表时钟计时器\代码设计
     文件       17216  2019-01-07 10:28  基于C52单片机的秒表时钟计时器\代码设计.M51
     文件        3651  2019-01-07 10:28  基于C52单片机的秒表时钟计时器\代码设计.hex
     文件          60  2019-01-07 10:28  基于C52单片机的秒表时钟计时器\代码设计.lnp
     文件         167  2019-01-07 17:25  基于C52单片机的秒表时钟计时器\代码设计.plg
     文件       55832  2019-01-07 17:25  基于C52单片机的秒表时钟计时器\代码设计.uvopt
     文件       13409  2019-01-07 10:25  基于C52单片机的秒表时钟计时器\代码设计.uvproj
     文件       55832  2019-01-07 10:28  基于C52单片机的秒表时钟计时器\代码设计_uvopt.bak
     文件       13405  2019-01-06 16:54  基于C52单片机的秒表时钟计时器\代码设计_uvproj.bak
     文件     2875338  2019-01-07 08:56  基于C52单片机的秒表时钟计时器\原理图设计.BMP
     文件       17034  2019-01-07 09:52  基于C52单片机的秒表时钟计时器\原理图设计.PDF
     文件       19080  2019-01-07 09:51  基于C52单片机的秒表时钟计时器\原理图设计.pdsprj
     文件        2199  2019-01-08 15:27  基于C52单片机的秒表时钟计时器\原理图设计.pdsprj.KRYO.kryo.workspace
     文件       11991  2019-01-07 09:50  基于C52单片机的秒表时钟计时器\最小系统设计.PDF

评论

共有 条评论