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

📄 nyr.txt

📁 51单片机的时间显示程序
💻 TXT
字号:
#include <reg52.h>
#include"intrins.h"     //_nop_();延时函数用
#define uchar unsigned char
#define uint unsigned int

sbit RS=P3^5;
sbit E=P3^7;
sbit RW=P3^6;
 
uchar add;

uchar data dis[6]=
{0x00,0x00,0x00,0x00,0x00,0x00};    //存计算结果
uchar data timedata[6]=
{0x00,0x00,0x00,0x00,0x00,0x00};
uchar data nyr[6]=
{0x00,0x00,0x00,0x00,0x00,0x00};



//*********************
void shijian(uchar *p)
{
dis[11]=timedata[0]+0x30;dis[10]=timedata[1]+0x30;
dis[9]=timedata[2]+0x30;dis[8]=timedata[3]+0x30;
dis[7]=timedata[4]+0x30;dis[6]=timedata[5]+0x30;
}
//**********************
void zhuan(uchar *q)
{dis[4]=nyr[0]/10+0x30;dis[5]=nyr[0]%10+0x30;
dis[2]=nyr[1]/10+0x30;dis[3]=nyr[1]%10+0x30;
dis[0]=nyr[2]/10+0x30;dis[1]=nyr[2]%10+0x30;}
/*************延时*************/

   delay1(uint z)
 {
   uint i,j;
   for(i=0;i<z;i++)
     for(j=0;j<120;j++)
    ;
 }

//*****************************
//写指令子程序

   wrcod(uchar i)
 { 
   P1=i;
   RS=0;
   E=0;
   delay1(7);
   E=1;
 }
 //*****************************
//写数据子程序
   wrshu(uchar i)
  {
   P1=i;
   RS=1;
   E=0;
   delay1(2);
   E=1;
  }
//*****************************
//初始化液晶
   chushi()
  {
   uchar coad;
   coad=0x01;           //清屏
   wrcod(coad);
   coad=0x06;
   wrcod(coad);         //输入方式控制
   coad=0x0e;
   wrcod(coad);         //显示开关控制
   coad=0x38;
   wrcod(coad);         //功能设定:设置16x2显示,5x7显示,8位数据接口    
} 
 //****************************  
//显示程序
   xian1()
  {
    uchar i=0; 
    while(i<12)
   {
    wrshu(dis[i]);
    i++;    
   }
  }
//**********************     
  main()
{
uint i,j;
 chushi();
while(1)
{for(i=0;i<=900;i++)
 for(j=0;j<120;j++);
if(i==900)
{i=0;
timedata[0]++;
if(timedata[0]>=10)
 {timedata[0]=0;timedata[1]++;
   if(timedata[1])>=6
    {timedata[1]=0;timedata[2]++;
     if(timedata[2]>=10)
       {timedata[2]=0;timedata[3]++;
        if(timedata[3]>=6)
        {timedata[3]=0;timedata[4]++;
         if(timedata[4]>=10)
         {timedata[4]=0;timedata[5]++;
            }             
          if(timedata[5]==2) 
          {if(timedata[4]==4) 
           {timedata[4]=0;timedata[5]=0;nyr[0]++;
            if(nyr[1]==1||nyr[1]==3||nyr[1]==5||nyr[1]==7||nyr[1]==8||nyr[1]==10||nyr[1]==12) 
             {if(nyr[0]>=32)nyr[1]++
              }
              if(nyr[1]==4||nyr[1]==6||nyr[1]==9||nyr[1]==11)
              {if(nyr[0]>=31)nyr[1]++
               }
               if(nyr[1]==2&&((nyr[2]%4==0&&nyr[2]%100!==0)||nyr[2]%400!==0))
               {if(nyr[0]>=30)nyr[1]++;
                else if(nyr[0]>=29)nyr[1]++}
                if(nyr[1]>=12)nyr[2]++;
                if(nyr[2]>=100)
                {nyr[2]=0}
                }
                }
                }
                }
                }
                }
                }
    shijian(timedata);
    zhuan(nyr)
    add=0xc0;             //显示
    wrcod(add);   
    xian();
    delay1(200);
}
}       

















⌨️ 快捷键说明

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