⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 电子钟的设计.c

📁 基于Proteus的51系列单片机设计与仿真
💻 C
字号:
/***************************************************************************************
 电子钟 的设计
****************************************************************************************/
#include"reg51.h"
#define uchar unsigned char
#define uint unsigned int
code uchar d[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
uint second=0,minter=50,hour=11; 
uint sshi,sge,mge,mshi,hshi,hge;
static char court=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;
void delay()  //单个LED延时函数
     {uchar i;
        for(i=0;i<15;i++);
      }
void int1() interrupt 1 using 2                  //定时中断响应  定50MS
            {    TH0=0x4c;    TL0=0x00;  court++; 
			}
void main()             //主函数
{        
          TMOD=0x01; TH0=0x4c;    TL0=0x00;      EA=1;    ET0=1;   	 TR0=1;
           P1=0XFF;
     for(;;)
  {     
		     sshi=second/10;            //求分秒时的个位
             sge=second%10;
	         mshi=minter/10;
	         mge=minter%10;
             hshi=hour/10;
	         hge=hour%10;
              P0=d[sge];                  //时分秒在LED的显示
               P27=1;                   //P0口数据输出;P2口选通信号
	         delay();          
	         P27=0;
     	     P0=d[sshi];
              P26=1;
     	     delay();
	         P26=0;
	         P0=0xbf;
                 P25=1;
     	     delay();
	         P25=0;
             P0=d[mge];
             P24=1;
	         delay();
    	     P24=0;
	         P0=d[mshi];
            P23=1;
	         delay();
	         P23=0;
	         P0=0xbf;
             P22=1;
     	     delay();
	         P22=0;
	        P0=d[hge];
             P21=1;
	         delay();
	         P21=0;
	         P0=d[hshi];
             P20=1;
      	     delay();
	         P20=0;
           if(court==20)            //判断定时1S的时间到了吗  如果到了就执行IF后面的  ;否则就跳转 
	              {court=0;          //执行LED显示程序
	                   second++;
		               if(second==60)
				                    { second=0;minter++;
						                   if(minter==60)
							                    {minter=0;hour++;
								                     if(hour==24)
								                         hour=0;
                                                 }
                                     }
	                }  
   }
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -