久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1881|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

萬年歷源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:210871 發(fā)表于 2017-6-13 17:05 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]="2013-03-26  Mon";
uchar code table1[]="   00:00:00";
//uchar code table2[][7]={"Mon","Tue","Wes","Thi","Fri","Sat","Sun"};

sbit key1=P3^7;
sbit key2=P3^6;
sbit key3=P3^5;
sbit key4=P3^4;
sbit key5=P3^3;
sbit key6=P3^2;
sbit e=P1^2;
sbit rw=P1^1;
sbit rs=P1^0;
uchar i,sec=0,min=0,hour=0,t=0;
uint year=2013,month=3,day=26;
uchar a=0,m=0;

void writecom(uchar x);
void writedata(uchar date);
void init();
void delay(uchar z);
void write1(uchar dizhi,uint shuju);
void writeyear(uchar dizhi,uint shuju);

void write(uchar dizhi,uchar shuju);
void keyscan();
void xingqi(uchar k);

void main()
{
        init();
                for(i=0;i<15;i++)
     {        writedata(table[i]);
                delay(5);
          }
        writecom(0x80+0x40);
        for(i=0;i<11;i++)
     {
                writedata(table1[i]);
                delay(5);
          }
   while(1)
   {
           keyscan();
    if(key6==0)
        {         
         TR0=1;
                 writecom(0x0c);
        }   
   }
}

void init()
{
    rw=0;
        e=0;
    writecom(0x38);
    writecom(0x0c);
    writecom(0x06);
    writecom(0x01);
        writecom(0x80);       
        TMOD=0x01;
        TCON=0x12;
        EX1=1;
        EA=1;
        ET0=1;
        TR0=1;
    TH0=(65536-50000)/256;
    TL0=(65536-50000)%256;

}
void writecom(uchar x)
{
   rw=0;
   rs=0;
   P0=x;
   delay(5);
   e=1;
   delay(5);
   e=0;
}

void writedata(uchar date)
{
        rs=1;
        rw=0;
    P0=date;
        delay(5);
        e=1;
        delay(5);
        e=0;
}
void write(uchar dizhi,uchar shuju)
{
        uchar ge,shi;
        ge=shuju%10;
        shi=shuju/10;
        writecom(0x80+0x40+dizhi);
        writedata(0x30+shi);
        writedata(0x30+ge);
}

void write1(uchar dizhi,uint shuju)
{
        uchar ge1,shi1;
        ge1=shuju%10;
        shi1=shuju/10;
        writecom(0x80+dizhi);
        writedata(0x30+shi1);
        writedata(0x30+ge1);
}

void writeyear(uchar dizhi,uint shuju)
{
        uchar ge,shi,bai,qian;
        ge=shuju%10;
        shi=shuju%100/10;
        bai=shuju%1000/100;
        qian=shuju/1000;
        writecom(0x80+dizhi);
        writedata(0x30+qian);
        writedata(0x30+bai);
        writedata(0x30+shi);
        writedata(0x30+ge);
}
void timer0() interrupt 1
{
   TH0=(65536-50000)/256;
   TL0=(65536-50000)%256;
   t++;
           if(t==7)
   {
                t=0;
                sec++;
                if(sec==60)
                {
                        sec=0;
                        min++;
                        if(min==60)
                        {
                                min=0;
                                hour++;
                                if(hour==24)
                                {
                                        hour=0;
                                       
                                        day++;
                                        if(day==30)
                                        {
                                                day=1;
                                                month++;
                                                if(month==12)
                                                {
                                                        month=1;
                                                        year++;
                                                        if(year==9999)
                                                        {
                                                                year=0;
                                                        }
                                                        writeyear(0,year);
                                                        writecom(0x80+0);
                                                }
                                                write1(5,month);
                                                writecom(0x80+6);
                                        }
                                        write1(8,day);
                                        writecom(0x80+9);
                                        writecom(0x80+12);
                                        m++;
                                        if(m==7)
                                                m=0;
                                        xingqi(m);
                                       
                                }
                                write(3,hour);
                                writecom(0x80+0x40+4);
                        }
                        write(6,min);
                        writecom(0x80+0x40+7);
                }
                write(9,sec);
                writecom(0x80+0x40+10);
   }
           if(key6==0)
    {
         EA=1;
         ET0=1;
         TR0=1;
         EX1=1;
        }
}
void keyscan()
{       
       
        if(key1==0)
        {       
                delay(10);
                writecom(0x0f);         
                if(key1==0)
                TR0=0;
                a++;
                while(!key1);
        }                                 
       
        if(a==1)
        {
               
               
                writecom(0x80+0x40+10);
                if(key2==0)
                        {       
                                sec++;
                                if(sec==60)
                                        sec=0;
                                write(9,sec);
                                writecom(0x80+0x40+10);
                                while(!key2);
                        }

        }
        if(a==2)
        {
               
                        writecom(0x80+0x40+7);
                        if(key2==0)
                        {
                                min++;
                                if(min==60)
                                        min=0;
                                write(6,min);
                                writecom(0x80+0x40+7);
                                while(!key2);
                        }
                        if(key3==0)
                        {
                                min--;
                                if(min==-1)
                                        min=59;
                                write(6,min);
                                writecom(0x80+0x40+7);       
                               
                                while(!key3);
                        }
                
         }
        if(a==3)
        {
       
                writecom(0x80+0x40+4);
                if(key2==0)
                {
                        hour++;
                        if(hour==24)
                                hour=0;
                        write(3,hour);
                        writecom(0x80+0x40+4);
                        while(!key2);
                }
                if(key3==0)
                {
                        hour--;
                        if(hour==-1)
                                hour=23;
                        write(3,hour);
                        writecom(0x80+0x40+4);
                       
                        while(!key3);
                }       
         }       
         if(a==4)
         {

                writecom(0x80+9);
                if(key2==0)
                {
                        day++;
                        if(day==31)
                                day=1;
                        write1(8,day);
                        writecom(0x80+9);
                        while(!key2);
                }                
         }
         if(a==5)
         {

                writecom(0x80+6);
                if(key2==0)
                {
                        month++;
                        if(month==13)
                                month=1;
                        write1(5,month);
                        writecom(0x80+6);
                        while(!key2);
                }
                                
         }         
         if(a==6)
         {
                 
                writecom(0x80+3);
                if(key2==0)
                {
                        year++;
                        if(year==9999)
                                year=1;
                        writeyear(0,year);
                        writecom(0x80+0);
                        while(!key2);
                }
                if(key3==0)
                {
                        year--;
                        if(year==0)
                                year=9999;
                        writeyear(0,year);
                        writecom(0x80+0);
                        while(!key3);
                }                
         }
         if(a==7)
         {          
                
                 writecom(0x80+12);
                 if(key2==0)
                {        m++;
                if(m==7)
                        m=0;
                               
                        xingqi(m);
                        while(!key2);
                }
               
         }
         if(a==8)
                a=0;

               
}               

void xingqi(uchar k)
{
        if(k==0)
        {       
                writedata('M');
                writedata('o');               
                writedata('n');
         }
         if(k==1)
          {
                writedata('T');
                writedata('u');
                writedata('e');
          }
         if(k==2)
        {        writedata('W');
                writedata('e');       
                writedata('s');
         }
         if(k==3)
        {
                writedata('T');
                writedata('h');
                writedata('i');
         }
         if(k==4)
        {       
                writedata('F');
                writedata('r');
                writedata('i');
         }
         if(k==5)
        {
                writedata('S');
                writedata('a');
                writedata('t');
        }
         if(k==6)
        {
                writedata('S');
                writedata('u');
                writedata('n');
         }
}
void delay(uchar z)
{
   uchar i;
   while(z--)
    for(i=110;i>0;i--);
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 五月综合激情在线 | 盗摄精品av一区二区三区 | 国产视频福利一区 | 中文字幕在线一区 | av免费观看在线 | 久久精品16 | 久久久久久久国产精品视频 | 日韩电影一区二区三区 | 成人福利电影 | 亚洲成av人影片在线观看 | 欧美一区二区三区在线播放 | 福利二区 | 精品一级 | 国产精品久久久久久久久久 | 全免一级毛片 | 亚洲91 | 黄色一级视频 | 久久久噜噜噜久久中文字幕色伊伊 | 韩国主播午夜大尺度福利 | 亚洲精品国产一区 | 国产精品一区二 | 欧美一级黄色片免费观看 | 久国产视频 | 欧美一区二区三 | 国产一区在线免费观看视频 | 狠狠骚| yiren22综合网成人 | 午夜伦4480yy私人影院 | 精品视频一区二区三区在线观看 | av电影一区 | h视频免费观看 | 亚洲天堂一区二区 | 午夜国产| 午夜精品 | 91久久国产综合久久91精品网站 | 欧美日韩国产一区二区三区 | 亚洲97 | 成年男女免费视频网站 | 逼逼网| 99精品一区二区三区 | 精品一区二区三区视频在线观看 |