时钟.c

来自「本文件包含了使用C语言编写单片机的各种入门程序」· C语言 代码 · 共 70 行

C
70
字号
#include<reg51.h>
sbit sda=P0^2;//定义数据线
sbit scl=P0^3;//定义时钟线
//===========================
 int second,minute,hour;//定义变量
//-------------字型码----------------------------
code char led[16]={0x11,0xD7,0x32,0x92, /* 0 1 2 3 4 */
                   0xD4,0x98,0x18,0xD3,0x10,0x90, /* 5 6 7 8 9 */
                   0x50,0x1C,0x39,0x16,0x38,0x78};/* A B C D E F*/
//------------数码管移位子程序---------------------
shift(int t)
{
 int i,ledbulf;//定义二个缓冲变量
 ledbulf=led[t];
 scl=0;
 for(i=0;i<8;i++)
 {
  if(ledbulf&0x80)sda=1;else sda=0;
  scl=1;
 
 
 
 0;
  ledbulf=ledbulf<<1;
 }
}
//---------显示子程序--------------
void display()
{
   shift(second%10);
   shift(second/10);
  // shift(0xff);
   shift(minute%10);
   shift(minute/10);
//   shift(0xff);
   shift(hour%10);
   shift(hour/10);
}
//------------延时子程序--------------------------
void Delay(int i)//延时程序,i是参数
{
 int j;
 for(;i>0;i--)
 for(j=0;j<225;j++);
}
//===================================================
void main()
{
   second=0;minute=0;hour=0;
   while(1)
  {
    if(second>=59)
       {
         second=0;
         if(minute>=59)
           {
             minute=0;
             if(hour>=23)hour=0;
                   else hour=hour+1;
           } 
          else minute=minute+1;
        }
     else  second=second+1;
     Delay(400);
     display();
  }
}


⌨️ 快捷键说明

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