wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

單片機驅動DS1302時間DS18B20溫度12864液晶顯示完整程序設計

作者:huqin   來源:本站原創   點擊數:  更新時間:2008年08月03日   【字體:

程序說明:這是一個用51單片機驅動DS1302時間模塊+DS18B20溫度傳感器模塊+12864液晶顯示完整程序設計實例,有四個鍵盤KEY0 到KEY3,key0是修改時間的 首先是秒到分到時到年到月到日到星期 key1是加1 key2是減一 在修改時間狀態再按一下key3的時候就出去并修改時間日期,在平時狀態按著key3再按著key2 就會打開lcd 的燈 單單是只按key3那就是把燈關了。

文件一:DS1302驅動.c

#include<reg52.h>

//ds1302
sbit sclk=P0^3;
sbit io=P0^4;
sbit rst=P0^5;
sbit acc0=ACC^0;
sbit acc1=ACC^1;
sbit acc2=ACC^2;
sbit acc3=ACC^3;
sbit acc4=ACC^4;
sbit acc5=ACC^5;
sbit acc6=ACC^6;
sbit acc7=ACC^7;

delay()
{
  unsigned char i;
  i=10;
  i=10;
  i=10;
  i=10;
  i=10;
  i=10;
  i=10;}
w_1302(unsigned char dat,unsigned char shu){//寫一個八位的數去DS1302    //上升效  ;;;選寫地址再寫數據

   ACC=dat;//地址
   sclk=0;
   rst=1;//
   io=acc0;///
   sclk=0;
   delay();
   sclk=1;
    io=acc1;
   sclk=0;
   delay();
   sclk=1;
    io=acc2;
   sclk=0;
   delay();
   sclk=1;
    io=acc3;
   sclk=0;
   delay();
   sclk=1;
    io=acc4;
   sclk=0;
   delay();
   sclk=1;
    io=acc5;
   sclk=0;
   delay();
   sclk=1;
    io=acc6;
   sclk=0;
   delay();
   sclk=1;
    io=acc7;
   sclk=0;
   delay();
   sclk=1;///

 
  //sclk=0;
  ACC=shu;   //數據
    io=acc0;///
   sclk=0;
   delay();
   sclk=1;
    io=acc1;
   sclk=0;
   delay();
   sclk=1;
    io=acc2;
   sclk=0;
   delay();
   sclk=1;
    io=acc3;
   sclk=0;
   delay();
   sclk=1;
    io=acc4;
   sclk=0;
   delay();
   sclk=1;
    io=acc5;
   sclk=0;
   delay();
   sclk=1;
    io=acc6;
   sclk=0;
   delay();
   sclk=1;
    io=acc7;
   sclk=0;
   delay();
   sclk=1;///
 
   rst=0;
   sclk=0;
   } ///寫完畢
unsigned char r_1302(unsigned char ADD){
 
  sclk=0;
  rst=1;
  ACC=ADD;   //地址
    io=acc0;///
   sclk=0;
   delay();
   sclk=1;
    io=acc1;
   sclk=0;
   delay();
   sclk=1;
    io=acc2;
   sclk=0;
   delay();
   sclk=1;
    io=acc3;
   sclk=0;
   delay();
   sclk=1;
    io=acc4;
   sclk=0;
   delay();
   sclk=1;
    io=acc5;
   sclk=0;
   delay();
   sclk=1;
    io=acc6;
   sclk=0;
   delay();
   sclk=1;
    io=acc7;
   sclk=0;/////
  delay();
   sclk=1;
   delay();
   sclk=0;
   acc0=io;
   delay();
     sclk=1;
   delay();
   sclk=0;
   acc1=io;
   delay();
     sclk=1;
   delay();
   sclk=0;
   acc2=io;
   delay();
     sclk=1;
   delay();
   sclk=0;
   acc3=io;
   delay();
     sclk=1;
   delay();
   sclk=0;
   acc4=io;
   delay();
     sclk=1;
   delay();
   sclk=0;
   acc5=io;
   delay();
     sclk=1;
   delay();
   sclk=0;
   acc6=io;
   delay();
     sclk=1;
   delay();
   sclk=0;
   acc7=io;
   delay();

  rst=0;
  sclk=0;
  return(ACC);
  }
ds1302_c()
  {
  w_1302(0x80,0x80);
  w_1302(0x8e,0x00);

  w_1302(0x80,0x50);  //;秒
  w_1302(0x82,0x06);  // 分=0
  w_1302(0x84,0x01);  //時 =0
  w_1302(0x86,0x22); //
  w_1302(0x88,0x11);//
  w_1302(0x8a,0x04);//
  w_1302(0x8b,0x07);//

  w_1302(0x8e,0x80);
  w_1302(0x90,0xa6);
  w_1302(0x80,0x00);
  }
main(){
  rst=0;
  ds1302_c();
 
for(;;){
 P2=r_1302(0x81);
}
  }

---------------------------------------------------------------------------------------------------------------
文件2:完全版 有關燈鍵.c

#include<reg52.h>
sbit di = P2^7;  ////////定義引腳
sbit rw =  P2^6;
sbit e = P2^5;
sbit cs1 = P2^4;
sbit cs2 = P2^1;
sbit lcd_d = P2^0;
sbit key0 = P2^3;
sbit key1 = P2^2;
sbit key2 = P1^0;
sbit key3 = P1^1;
sbit P07 = P0^7;
sbit P06 = P0^6;
sbit P05 = P0^5;
sbit P04 = P0^4;
sbit P03 = P0^3;
//ds1302
sbit sclk=P1^4;
sbit io=P1^3;
sbit rst=P1^2;
sbit acc0=ACC^0;
sbit acc1=ACC^1;
sbit acc2=ACC^2;
sbit acc3=ACC^3;
sbit acc4=ACC^4;
sbit acc5=ACC^5;
sbit acc6=ACC^6;
sbit acc7=ACC^7;
typedef unsigned char byte;
typedef unsigned int  word;
sbit KEY=P3^7;//根據實際情況定義端口ds1820
unsigned char key_time=0;          //全局變量


//////////////////////////////////溫度
//ds18b20數字溫度傳感器模塊程序

void delay1(word useconds)
{
  for(;useconds>0;useconds--);
}

//復位
byte ow_reset(void)
{
  byte presence;
  KEY = 0; //pull DQ line low
  delay1(29); // leave it low for 480us
  KEY = 1; // allow line to return high
  delay1(3); // wait for presence
  presence = KEY; // get presence signal
  delay1(25); // wait for end of timeslot
  return(presence); // presence signal returned
}  // 0=presence, 1 = no part

//從 1-wire 總線上讀取一個字節
byte read_byte(void)
{
  byte i;
  byte value = 0;
  for (i=8;i>0;i--)
  {
    value>>=1;
    KEY = 0; // pull DQ low to start timeslot
    KEY = 1; // then return high
    delay1(1);  //for (i=0; i<3; i++);
    if(KEY)value|=0x80;
    delay1(6); // wait for rest of timeslot
  }
  return(value);
}

//向 1-WIRE 總線上寫一個字節
void write_byte(char val)
{
  byte i;
  for (i=8; i>0; i--) // writes byte, one bit at a time
  {
    KEY = 0; // pull DQ low to start timeslot
    KEY = val&0x01;
    delay1(5); // hold value for remainder of timeslot
    KEY = 1;
    val=val/2;
  }
  delay1(5);
}

//讀取溫度
float wendu(void)
{
    float tem;
  union{
    byte c[2];
    int x;
  }temp;

  ow_reset();
  write_byte(0xCC); // Skip ROM
  write_byte(0xBE); // Read Scratch Pad
  temp.c[1]=read_byte();    //lsd
  temp.c[0]=read_byte();    //msd
  ow_reset();
  write_byte(0xCC); //Skip ROM
  write_byte(0x44); // Start Conversion

        tem=0.0;      
        if(temp.x & 0x01) tem+=0.0625;temp.x>>=1;
        if(temp.x & 0x01) tem+=0.125;temp.x>>=1;
        if(temp.x & 0x01) tem+=0.25;temp.x>>=1;
        if(temp.x & 0x01) tem+=0.5;temp.x>>=1;
        tem+=temp.x;

    return tem;
}


void cs1_lcd(){  ////////選擇左邊
  bit a=1;
  cs1=a;
  cs2=!a;
  }
void cs2_lcd(){    ////////選擇右邊
  bit a=1;
  cs1=!a;
  cs2=a;
  }
void busy_lcd(){//////判斷忙
  bit a=1;
  di=!a;
  rw=a;
  e=a;
  while(P07==a);
  }
w_lcd(unsigned b){ ///寫a到12864
  bit a=1;
  busy_lcd();
  rw =!a;
  di =a;
  P0=b;
  e=a;
  e=!a;
  }
void dis_lcd(){//打開顯示選擇第一行顯示
  bit a=1;
  busy_lcd();
  rw=!a;
  di=!a;
  P0=0x3f;
  e=a;
  e=!a;
  P0=0xc0;
  e=a;
  e=!a;
  }
y_lcd(unsigned a){///由A確定y軸
  bit b=1;
  busy_lcd();
  rw=!b;
  di=!b;
  P0=a;
  P07=b;
  P06=!b;
  P05=b;
  P04=b;
  P03=b;
  e=b;
  e=!b;
  }
x_lcd(unsigned a){//由a確定X軸
  bit b=1;
  busy_lcd();
  rw=!b;
  di=!b;
  P0=a;
  P07=!b;
  P06=b;
  e=b;
  e=!b;
  }

void clr_lcd(){///清屏
  bit a=0;
  unsigned x,y,date,i;
  cs1_lcd();
  date=0x00;
 for(i=0;i<2;i++){
 for(y=0;y<8;y++)
 for(x=0;x<64;x++){
  x_lcd(x);
  y_lcd(y);
  w_lcd(date);
  }
  cs2_lcd();}
  }

unsigned char code shu[18][16]={///0到9數字
{0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00},//0
{0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00},//1
{0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00},//2
{0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00},//3
{0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00},///4
{0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00},//5
{0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00},//6
{0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00},//7
{0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00},//8
{0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00},//9
{0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00},//  :
{0x00,0x00,0x00,0x00,0x80,0x60,0x18,0x04,0x00,0x60,0x18,0x06,0x01,0x00,0x00,0x00},//  /
};
unsigned char code shu1[9][32]={///
{0x02,0x42,0x42,0xFE,0x42,0x42,0xFE,0x02,0x02,0xFA,0x02,0x02,0xFE,0x00,0x00,0x00,0x08,0x08,0x08,0x07,0x84,0x44,0x23,0x18,0x06,0x01,0x3E,0x40,0x43,0x40,0x78,0x00},//現12
{0x00,0x04,0x04,0xC4,0x64,0x9C,0x87,0x84,0x84,0xE4,0x84,0x84,0x84,0x84,0x04,0x00,0x04,0x02,0x01,0x7F,0x00,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x20,0x00},//在  13
{0x00,0xFC,0x44,0x44,0x44,0xFC,0x10,0x90,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x00,0x00,0x07,0x04,0x04,0x04,0x07,0x00,0x00,0x03,0x40,0x80,0x7F,0x00,0x00,0x00,0x00},//時  14
{0x00,0xF8,0x01,0x06,0x00,0xF0,0x92,0x92,0x92,0x92,0xF2,0x02,0x02,0xFE,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x07,0x04,0x04,0x04,0x04,0x07,0x40,0x80,0x7F,0x00,0x00},//間  15
{0x00,0x00,0x00,0xBE,0x2A,0x2A,0x2A,0xEA,0x2A,0x2A,0x2A,0x2A,0x3E,0x00,0x00,0x00,0x00,0x48,0x46,0x41,0x49,0x49,0x49,0x7F,0x49,0x49,0x49,0x49,0x49,0x41,0x40,0x00},//星  16
{0x00,0x04,0xFF,0x54,0x54,0x54,0xFF,0x04,0x00,0xFE,0x22,0x22,0x22,0xFE,0x00,0x00,0x42,0x22,0x1B,0x02,0x02,0x0A,0x33,0x62,0x18,0x07,0x02,0x22,0x42,0x3F,0x00,0x00},//期  17
{0x10,0x21,0x86,0x70,0x00,0x7E,0x4A,0x4A,0x4A,0x4A,0x4A,0x7E,0x00,0x00,0x00,0x00,0x02,0xFE,0x01,0x40,0x7F,0x41,0x41,0x7F,0x41,0x41,0x7F,0x41,0x41,0x7F,0x40,0x00},//溫18
{0x00,0x00,0xFC,0x04,0x24,0x24,0xFC,0xA5,0xA6,0xA4,0xFC,0x24,0x24,0x24,0x04,0x00,0x80,0x60,0x1F,0x80,0x80,0x42,0x46,0x2A,0x12,0x12,0x2A,0x26,0x42,0xC0,0x40,0x00},//度19
};

unsigned char time1[7]={0x30,0x00,0x16,8,7,2,8};//分別是秒,分,時,日,月,星期,年 次子程序出自http://www.izizhuan.cn hkcd斑竹,已通過測試無誤。
delay()
{
  unsigned char i;
  i=10;
  i=10;
  i=10;
  i=10;
  i=10;
  i=10;
  i=10;}
w_1302(unsigned char dat,unsigned char shu){//寫一個八位的數去DS1302    //上升效  ;;;選寫地址再寫數據

   ACC=dat;//地址
   sclk=0;
   rst=1;//
   io=acc0;///
   sclk=0;
   delay();
   sclk=1;
    io=acc1;
   sclk=0;
   delay();
   sclk=1;
    io=acc2;
   sclk=0;
   delay();
   sclk=1;
    io=acc3;
   sclk=0;
   delay();
   sclk=1;
    io=acc4;
   sclk=0;
   delay();
   sclk=1;
    io=acc5;
   sclk=0;
   delay();
   sclk=1;
    io=acc6;
   sclk=0;
   delay();
   sclk=1;
    io=acc7;
   sclk=0;
   delay();
   sclk=1;///

 
  //sclk=0;
  ACC=shu;   //數據
    io=acc0;///
   sclk=0;
   delay();
   sclk=1;
    io=acc1;
   sclk=0;
   delay();
   sclk=1;
    io=acc2;
   sclk=0;
   delay();
   sclk=1;
    io=acc3;
   sclk=0;
   delay();
   sclk=1;
    io=acc4;
   sclk=0;
   delay();
   sclk=1;
    io=acc5;
   sclk=0;
   delay();
   sclk=1;
    io=acc6;
   sclk=0;
   delay();
   sclk=1;
    io=acc7;
   sclk=0;
   delay();
   sclk=1;///
 
   rst=0;
   sclk=0;
   } ///寫完畢
unsigned char r_1302(unsigned char ADD){
 
  sclk=0;
  rst=1;
  ACC=ADD;   //地址
    io=acc0;///
   sclk=0;
   delay();
   sclk=1;
    io=acc1;
   sclk=0;
   delay();
   sclk=1;
    io=acc2;
   sclk=0;
   delay();
   sclk=1;
    io=acc3;
   sclk=0;
   delay();
   sclk=1;
    io=acc4;
   sclk=0;
   delay();
   sclk=1;
    io=acc5;
   sclk=0;
   delay();
   sclk=1;
    io=acc6;
   sclk=0;
   delay();
   sclk=1;
    io=acc7;
   sclk=0;/////
  delay();
   sclk=1;

   delay();
   sclk=0;
   acc0=io;
   delay();
     sclk=1;
   delay();
   sclk=0;
   acc1=io;
   delay();
     sclk=1;
   delay();
   sclk=0;
   acc2=io;
   delay();
     sclk=1;
   delay();
   sclk=0;
   acc3=io;
   delay();
     sclk=1;
   delay();
   sclk=0;
   acc4=io;
   delay();
     sclk=1;
   delay();
   sclk=0;
   acc5=io;
   delay();
     sclk=1;
   delay();
   sclk=0;
   acc6=io;
   delay();
     sclk=1;
   delay();
   sclk=0;
   acc7=io;
   delay();

  rst=0;
  sclk=0;
  return(ACC);
  }
ds1302_c()
  {
  w_1302(0x80,0x80);
  w_1302(0x8e,0x00);
  w_1302(0x80,time1[0]);  //;秒
  w_1302(0x82,time1[1]);  // 分=0
  w_1302(0x84,time1[2]);  //時 =0
  w_1302(0x86,time1[3]); // 日
  w_1302(0x88,time1[4]);//  月
  w_1302(0x8a,time1[5]);//星期
  w_1302(0x8c,time1[6]);//年
  w_1302(0x8e,0x80);
  w_1302(0x90,0xb8);
  w_1302(0x80,0x00);
  }

  //x_lcd(unsigned a){//由a確定X軸  //y_lcd(unsigned a){///由A確定y軸
//void dis_lcd(){//打開顯示選擇第一行顯示 //w_lcd(unsigned b){ ///寫a到12864
//void busy_lcd(){//////判斷忙  //void cs1_lcd(){  ////////選擇左邊
//void cs2_lcd(){    ////////選擇右邊
d12864_lcd(unsigned char x,y,k){
  unsigned char ix,iy,i;
  dis_lcd();//打開顯示
  if(x>63){
  x=x-64;
  cs2_lcd();
  }
  else cs1_lcd();
  i=0;
  if(k<12){
  for(iy=0;iy<2;iy++)
  for(ix=0;ix<8;ix++){
  y_lcd(iy+y);
  x_lcd(ix+x);
  w_lcd(shu[k][i]);
  i++;
  }
  }
  else{k-=12;
  for(iy=0;iy<2;iy++)
  for(ix=0;ix<16;ix++){
  y_lcd(iy+y);
  x_lcd(ix+x);
  w_lcd(shu1[k][i]);
  i++;
  }
  }
}

time_lcd(){
  unsigned char y,k,time,add,i,we1,we2;
  add=128;///////必須是小于64-8大于64
  d12864_lcd(0,0,12);//:  北
  d12864_lcd(16,0,13);//:  京
  d12864_lcd(31,0,14);//:  時
  d12864_lcd(47,0,15);//:  間
  k=0x81;
  y=0;    //在第幾行顯示
  for(i=0;i<3;i++){
  time=r_1302(k);
  time1[i]=time;
  add=add-8;;
  time=time&0x0f;
  d12864_lcd(add,y,time);///秒個位
  add=add-8;
  time=r_1302(k);
  time&=0xf0;
  time>>=4;
  d12864_lcd(add,y,time);//秒十位
  add=add-8;;
  k+=2;
  }
  d12864_lcd(40+64,y,10);//:
  d12864_lcd(16+64,y,10);//:  顯示兩點
//
  time1[5]=r_1302(0x8b);
   d12864_lcd(64,4,16);//:  星
   d12864_lcd(64+16,4,17);//:  期
   r_1302(0x8b);//讀星期
   d12864_lcd(64+32,4,r_1302(0x8b));//:  讀星期幾`并顯示
  ////
   y=2;//在第四行顯示
   add=56+16;
   time=r_1302(0x87);
   time1[3]=time;
   d12864_lcd(add,y,time&0x0f);//: 顯示日
   time=r_1302(0x87);
   time&=0xf0;
   time>>=4;
   add-=8;
   d12864_lcd(add,y,time);  //顯示日的十位
   add-=8;
   add-=8;
   time1[4]=time=r_1302(0x89);
   d12864_lcd(add,y,time&0x0f);//: 顯示月
   time=r_1302(0x89);
   time&=0xf0;
   time>>=4;
   add-=8;
   d12864_lcd(add,y,time);  //顯示月的十位
   add-=8;
   add-=8;
   time1[6]=time=r_1302(0x8d);
   d12864_lcd(add,y,time&0x0f);//: 顯示年
   time=r_1302(0x8d);
   time&=0xf0;
   time>>=4;
   add-=8;
   d12864_lcd(add,y,time);  //顯示年的十位
 //////讀完
 
  d12864_lcd(40+16,y,11);//:
  d12864_lcd(16+16,y,11);//:  顯示兩/
  add-=8;
  d12864_lcd(add,y,0);//: 0
  add-=8;
  d12864_lcd(add,y,2);//:  2
 
  d12864_lcd(0,4,18);//:  溫
   d12864_lcd(16,4,19);//: 度
  we1=wendu();
  we2=we1/10;
  d12864_lcd(32,4,we2);//:  2
  we2=we1-we2*10;
  d12864_lcd(40,4,we2);//:  顯示溫度值
  cs1_lcd();
  y_lcd(4);
  x_lcd(50);
  w_lcd(0x18);
  x_lcd(51);
  w_lcd(0x18);
    }
/////////////////////////顯示時間完畢


hei_lcd(unsigned char x,y){   //全黑用來做閃標用
  char iy,ix,di,i;
  di=0x00;
  if(x>63){
  x=x-64;
  cs2_lcd();
  }
  else cs1_lcd();
  i=0;
  for(iy=0;iy<2;iy++){
  for(ix=0;ix<16;ix++){
  y_lcd(iy+y);
  x_lcd(ix+x);
  w_lcd(di);
  }
  }
  }
key_t(){  //鍵盤key1 加1 key2 減1
 
  if(!key1){
    key_time++;
 delay1(20000);
 while(!key1);
 }
    if(!key2){
    key_time--;
    delay1(20000);
    while(!key2);
  }
  }


void delay11(word useconds)
{
  for(;useconds>0;useconds--)
  key_t();
}

time_key(){
unsigned char keyd,ktime;
unsigned int year;
word kk;
  keyd=0;
  kk=10000;///閃動快慢
 if(!key0){
 for(;;){
   if(!key0){
   keyd=keyd+1;
   delay1(500);
   if(keyd>8)keyd=1;
   key_time=0;//////每設牟換一個就把存設時間清0
   key0=1;
   while(!key0);
   key0=1;
   }
   ////////////////////////閃程序
  if(keyd==1){//=1進入秒閃 同時設置秒時間
   key_time=(time1[0]&0x0f)+((time1[0]&0xf0)>>4)*10; //將數姐里的數度到key_time里  10進制
   hei_lcd(112,0);//x  y
   delay11(kk);//////閃動快慢
   if(key_time>=60)key_time=0; 
   d12864_lcd(112,0,key_time/10);
   d12864_lcd(120,0,key_time-(key_time/10)*10);
   time1[0]=(((key_time/10)<<4)&0xf0)+(key_time-(key_time/10)*10);  //換成BCD碼存到數組里
   delay1(10000);
   }
   if(keyd==2){//=1進入分閃 同時設置秒時間
 key_time=(time1[1]&0x0f)+((time1[1]&0xf0)>>4)*10; //將數姐里的數度到key_time里  10進制
   hei_lcd(88,0);//x  y
   delay11(kk);//////閃動快慢
    if(key_time>=60)key_time=0;
   d12864_lcd(88,0,key_time/10);
   d12864_lcd(96,0,key_time-(key_time/10)*10);
   delay1(10000);
    time1[1]=(((key_time/10)<<4)&0xf0)+(key_time-(key_time/10)*10);  //換成BCD碼存到數組里
   }
   if(keyd==3){//=1進入時閃 同時設置秒時間
  key_time=(time1[2]&0x0f)+((time1[2]&0xf0)>>4)*10; //將數姐里的數度到key_time里  10進制
   hei_lcd(64,0);//x  y
   delay11(kk);//////閃動快慢
    if(key_time>=24)key_time=0;
   d12864_lcd(64,0,key_time/10);
   d12864_lcd(72,0,key_time-(key_time/10)*10);
   time1[2]=(key_time/10)<<4+(key_time-key_time/10);
   delay1(10000);
   time1[2]=(((key_time/10)<<4)&0xf0)+(key_time-(key_time/10)*10);  //換成BCD碼存到數組里
   } 
  if(keyd==4){//=1進入年閃 同時設置秒時間
    key_time=(time1[6]&0x0f)+((time1[6]&0xf0)>>4)*10; //將數姐里的數度到key_time里  10進制
   hei_lcd(16,2);//x  y
   delay11(kk);//////閃動快慢
    if(key_time>99)key_time=0;
   d12864_lcd(16,2,key_time/10);
   d12864_lcd(24,2,key_time-(key_time/10)*10);
   time1[6]=(key_time/10)<<4+(key_time-key_time/10);
   delay1(10000);
   time1[6]=(((key_time/10)<<4)&0xf0)+(key_time-(key_time/10)*10);  //換成BCD碼存到數組里
   }

     if(keyd==5){//=1進入月閃 同時設置秒時間
  key_time=(time1[4]&0x0f)+((time1[4]&0xf0)>>4)*10; //將數姐里的數度到key_time里  10進制
   hei_lcd(40,2);//x  y
   delay11(kk);//////閃動快慢
    if(key_time>=13)key_time=0;
   d12864_lcd(40,2,key_time/10);
   d12864_lcd(48,2,key_time-(key_time/10)*10);
   time1[4]=(key_time/10)<<4+(key_time-key_time/10);
   delay1(10000);
   time1[4]=(((key_time/10)<<4)&0xf0)+(key_time-(key_time/10)*10);  //換成BCD碼存到數組里
   }
  
   if(keyd==6){//=1進入日閃 同時設置秒時間
    key_time=(time1[3]&0x0f)+((time1[3]&0xf0)>>4)*10; //將數姐里的數度到key_time里  10進制
 year=(time1[4]&0x0f)+(((time1[4]&0xf0)>>4)*10)+2000;
   switch(time1[4]){           //計算閏月
     case 1: ktime=31;break;
  case 3: ktime=31;break;
  case 5: ktime=31;break;
  case 7: ktime=31;break;
     case 8: ktime=31;break;
  case 10: ktime=31;break;
  case 12: ktime=31;break;
  case 4: ktime=30;break;
  case 6: ktime=30;break;
  case 9: ktime=30;break;
  case 11: ktime=30;break;
  case 2: if(year%4==0&&year%100!=0||year%400==0) ktime=29;
             else ktime=29;break;
}
   hei_lcd(64,2);//x  y
   delay11(kk);//////閃動快慢
    if(key_time>ktime)key_time=0;
   d12864_lcd(64,2,key_time/10);
   d12864_lcd(72,2,key_time-(key_time/10)*10);
   time1[3]=(key_time/10)<<4+(key_time-key_time/10);
   delay1(10000);
   time1[3]=(((key_time/10)<<4)&0xf0)+(key_time-(key_time/10)*10);  //換成BCD碼存到數組里
   }
 
if(keyd==7){//=1進入星期閃 同時設置秒時
   char iy,ix,di,i;
   key_time=time1[5];
   di=0x00;
   cs2_lcd();
   i=0;
   for(iy=0;iy<2;iy++){
   for(ix=0;ix<8;ix++){
   y_lcd(iy+4);
   x_lcd(ix+96);
    w_lcd(di);
 }
 di=00;
 }
 delay11(kk);//////閃動快慢
  if(key_time>7)key_time=0;
 d12864_lcd(96,4,key_time);
 time1[5]=key_time;
 delay1(10000);
 time1[5]=key_time;  //換成BCD碼存到數組里
   }
   ////////////////////
   if(!key3)break;
}
ds1302_c();   ///更改時間
}
}

///////////////
lcd_key(){
  if(!key3){
  if(!key2)lcd_d=1;
  else lcd_d=0;
  }
  }
main(){
 ds1302_c();
 clr_lcd();
for(;;){
  time_lcd();
  time_key();
  lcd_key(); 
}
  }

 

 

 

 

 

關閉窗口
亚洲国产欧美另类| 最新国产成人av网站网址麻豆| 亚洲尤物在线视频| 欧美激情视频免费看| 亚洲精品国精品久久99热 | 天天舔天天干| 欧洲第一无人区观看| 欧美亚洲一区二区三区| 黄免费在线观看| av激情久久| 欧美网站大全在线观看| 妖精视频成人观看www| av免费看在线| 四虎影视最新网址| 噜噜噜在线视频| 青青在线视频一区二区三区| 午夜激情综合网| 一区二区三区福利| 国产成人精品福利| 日本福利在线观看| 国产黄色一区二区| 一二三区视频在线观看| 亚洲999一在线观看www| 337p亚洲精品色噜噜噜| 欧美精产国品一二三区| 国内精品在线观看视频| 国产一级特黄a大片99| 亚洲国产另类久久精品 | 人妻精品一区二区三区| 无码人妻精品一区二区三区温州| 久久国产午夜精品理论片最新版本| 欧美重口另类videos人妖| 亚洲精品一区久久久久久| 久久精品视频一区| 久久国产亚洲| 亚洲欧美视频一区二区| 六月亚洲精品一区| 日韩精品无码一区二区| 中文字幕永久视频| 国产乱码精品一区二区三区卡 | 成年人黄色在线观看| 欧美精品福利在线| 欧美综合久久久| 国产91精品免费| 一本久久青青| av网站在线免费看推荐| 肥婆老bbb肥婆bbbbb| 日韩av免费网址| 亚洲一级二级片| 日韩有码免费视频| 成人午夜电影免费在线观看| 精品国产依人香蕉在线精品| 欧美性生活大片免费观看网址| 国产一区美女在线| 成人激情诱惑| 久久国产三级| 日韩欧美小视频| 国内av一区二区| 1769国产精品| 精品乱人伦一区二区三区| 1024精品合集| 裸体一区二区三区| 欧美黄色录像| 欧美6一10sex性hd| 国产夫妻视频| 欧美色图中文字幕| 在线亚洲精品自拍| 久热精品视频在线播放| 天堂tv亚洲tv日本tv欧美人tv | 成年人视频在线免费观看| 国产黄色免费| 亚洲国产成人精品一区二区三区| 91亚洲精品国偷拍自产在线观看 | 群体交乱之放荡娇妻一区二区| 日本伊人久久| 中国av在线播放| 成人ww免费完整版在线观看| 顶级网黄在线播放| xxxx成人| 国产露出视频在线观看| www.夜夜骑.com| 影音先锋中文在线观看| 在线观看日韩中文字幕| 亚洲午夜福利在线观看| 无码日韩人妻精品久久蜜桃| 亚洲国产欧美不卡在线观看 | 3d动漫精品啪啪| 日韩美女视频一区二区在线观看| 亚洲成人免费观看| 久久日一线二线三线suv| 日韩二区三区在线观看| 久久精品欧美一区| 成人动漫视频| 日韩精品一页| 成人bbav| 日本不卡视频| 校园春色亚洲| 色爱综合区网| 欧美性videos| a√在线中文网新版址在线| 91婷婷韩国| 你懂的网址视频| 蜜桃视频一日韩欧美专区| 99re这里有精品| 精品福利影院| 国产免费视频| 99热99在线| 自拍一级黄色片| 国产精品一国产精品最新章节| 国产一级特黄a大片99| 在线视频91| 亚洲午夜精品一区二区| 日韩国产伦理| 日韩亚洲视频在线| 久草热视频在线观看| 日韩国产成人无码av毛片| 视频一区视频二区视频| 视频在线99re| 国产极品在线视频| 116极品美女午夜一级| 六月丁香婷婷在线| 中文字幕第80页| 久久人人爽人人爽人人片| 久久久久香蕉视频| 中文字幕精品三级久久久| 性一交一乱一伧老太| 无码国产伦一区二区三区视频 | 九九**精品视频免费播放| 亚洲人成人一区二区三区| 午夜视频一区| 影音先锋中文字幕一区| 精品福利av| 成人久久久精品乱码一区二区三区| 成人视屏免费看| 亚洲第一精品在线| 精品偷拍一区二区三区在线看 | 黄网站在线观| 一区二区三区四区在线看| 人禽交欧美网站| 粉嫩一区二区三区性色av| 亚洲一区二区三区四区的| 香港成人在线视频| 亚洲美女中文字幕| 欧美精品在线第一页| 88国产精品欧美一区二区三区| 国产在线精品一区二区三区| 日日碰狠狠丁香久燥| 国产精品成人69xxx免费视频| 亚洲成人77777| gogo高清免费视频| 欧美特大特白屁股xxxx| 狂野欧美xxxx韩国少妇| 要久久爱电视剧全集完整观看 | 久久婷婷国产| 免费视频一区三区| 黄色亚洲精品| 国产一区二区不卡老阿姨| 偷拍日韩校园综合在线| 91精品国产aⅴ一区二区| 国产视频久久久| 精品一区二区三区日韩| 久久99蜜桃精品| 性感美女久久精品| 欧美激情综合色| 亚洲va韩国va欧美va精四季| 中国黄色a级片| 成人免费公开视频| 国产精品午夜剧场| 麻豆视频在线免费观看| 精品视频亚洲| 六月丁香综合在线视频| 色综合久久久久综合体| 亚洲午夜精品视频| 97成人在线视频| 菠萝蜜视频在线观看入口| 亚洲人辣妹窥探嘘嘘| 中文字幕av网址| 天天综合网在线| 97dyy97影院理论片在线| 亚洲黄色免费av| 免费欧美在线| 欧美亚洲综合久久| 久久网站免费观看| 在线一区电影| 成人教育av在线| 亚洲高清视频的网址| 久久成人精品一区二区三区| 91在线视频导航| 国产成人一二三区| 欧美卡一卡二卡三| ririsao中文字幕免费| wwwww在线观看免费视频| 欧美亚洲国产激情| 亚洲免费视频中文字幕| 亚洲精品一区二区三区在线观看| 欧美另类在线观看| 精品综合久久久| 午夜剧场在线免费观看| 日本一级片免费| 一个人看的www视频免费在线观看| 高清国产福利在线观看| 91视频久久| 午夜成人免费视频| 国产精选久久久久久| 阿v天堂2018| 日本黄色中文字幕| 一个人看的www视频免费在线观看 一个人看的www在线免费观看 | 波多野结衣在线一区二区| www久久精品| 欧美三级韩国三级日本三斤| 日韩视频在线免费| 日本午夜激情视频| 一级黄色小视频| 在线视频1区2区| 亚洲少妇一区| 久久精品视频免费| 欧美成人久久久| 亚洲欧美在线精品| 亚洲永久免费网站| 国产51人人成人人人人爽色哟哟| 亚洲成人精品| 在线亚洲高清视频| 久久青青草综合| 少妇饥渴放荡91麻豆| 国产精品白浆视频免费观看| 粉嫩一区二区三区在线观看| 美女视频黄免费的久久| 色噜噜狠狠成人网p站| 2024亚洲男人天堂| 欧美日韩aaa| 91精品一区二区三区久久久久久| 成人在线视频网址| 黑鬼狂亚洲人videos| eeuss鲁片一区| 色135综合网| 欧美日韩精品一区二区三区 | 国产 日韩 欧美 综合 一区| 中文字幕中文在线不卡住| 亚洲久久久久久久久久久| 夜夜爽99久久国产综合精品女不卡| 中文字幕免费在线观看视频| 国产鲁鲁视频在线观看免费| 水蜜桃久久夜色精品一区的特点 | 亚洲在线www| 久久国产在线视频| 美女激情福利视频在线观看| 都市激情亚洲一区| 久久综合影音| 亚洲性猛交xxxxwww| 日韩理论片网站| 亚洲精品一区二区三区不| 日本免费a视频| 高清一区二区三区四区| 欧美特黄色片| 一区二区三区小说| 欧美精品久久久久久久| 欧美日韩一区二区区| 少妇人妻精品一区二区三区| 欧美电影h版| 欧美韩国日本一区| 精品国产一区二区三区在线观看 | 欧美亚洲自偷自偷| 亚洲美女在线观看| 爽爽爽在线观看| 天天做天天摸天天爽天天爱| 亚洲天堂成人| 日韩视频精品在线| 丰满少妇在线观看资源站| 天堂在线看视频| 免费一区二区| 3d动漫精品啪啪1区2区免费 | 91精品啪在线观看麻豆免费| 日韩欧美三级在线观看| 在线视频资源站| 欧美久久影院| 制服.丝袜.亚洲.中文.综合| 欧洲黄色一级视频| 少妇高潮爽到全身痉挛抽搐| 欧美a在线观看| 91久久国产综合久久| 国产av麻豆mag剧集| 国产福利一区二区在线精品| 日韩中文欧美| 在线播放日韩av| 国产最新免费视频| 在线观看wwww| aa国产精品| 久久91精品国产| 国产精品免费在线视频| 羞羞视频在线免费国产| 中文字幕一区二区不卡| 视频一区视频二区视频三区高| 中文字幕第8页| 7777久久香蕉成人影院| 国精品一区二区| 欧美性色aⅴ视频一区日韩精品| 国产综合中文字幕| 黄色片大全在线观看| 久久婷婷激情| 国产精品第一页在线| 久久精品综合视频| 成人77777| 中文字幕在线一区| 99亚洲精品视频| 污视频在线看| 美女视频黄频大全不卡视频在线播放 | www.66久久| 欧美制服第一页| 天天干天天干天天操| 国产一区二区av在线| 精品少妇一区二区三区视频免付费| 国产精品熟女一区二区不卡| 日本中文字幕一区二区有码在线 | 亚洲字幕在线观看| 五月天婷婷在线播放| 亚洲精品国产成人影院| 素人啪啪色综合| 99精品欧美一区二区三区综合在线| 91av在线看| 一级做a爰片久久毛片| 成人国产电影在线观看| 天天色综合成人网| 手机版av在线| 自拍视频在线网| 欧美日韩中文在线观看| 中国一级大黄大黄大色毛片| 日日夜夜精品免费| 中文字幕乱码亚洲无线精品一区 | 在线播放高清视频www| 欧美色精品在线视频| 精品1卡二卡三卡四卡老狼| 成片免费观看视频| 久久久亚洲综合| 国产高清不卡无码视频| 国产网站av| 国产精品国产三级国产aⅴ原创| 日韩中字在线观看| 污网站在线看| 成人看片黄a免费看在线| 丝袜美腿玉足3d专区一区| 先锋av资源色| 免费视频一区二区| 久久艹中文字幕| 免费看岛国视频在线观看| 成人高清免费观看| av在线播放亚洲| 韩国三级在线观看久| 亚洲国产成人午夜在线一区| 久热国产精品视频一区二区三区| 一本色道久久综合熟妇| 成人动态视频| 欧美国产日韩中文字幕在线| 久操视频免费在线观看| 一区二区三区高清在线观看| 亚洲精品在线观| 免费在线一区二区三区| 日韩成人av在线资源| 777精品视频| 一二三四在线观看免费高清中文在线观看| 一个色综合网| 99国产超薄丝袜足j在线观看 | 偷拍一区二区| 亚洲人成网在线播放| 日本一区二区视频在线播放| 人妖欧美1区| 精品国产乱码久久久久久1区2区| 久草中文在线视频| 不卡中文字幕| 亚洲a成v人在线观看| yy111111少妇嫩草影院| 免费看电影在线| 亚洲午夜私人影院| 国产精品无码专区| 国产一区二区三区国产精品| 欧美精品www| 黄网址在线永久免费观看| 成人性生交大合| 色婷婷成人在线| 韩国主播福利视频一区二区三区| 日韩中文娱乐网| 亚洲aaaaaaa| 成人美女在线观看| 国产美女视频免费看| 成人国产综合| 亚洲免费一级电影| 99久久久久成人国产免费 | 日韩欧美一区二区三区久久| 国产精品麻豆一区| 色天使综合视频| 亚洲精品wwwww| 国产毛片一区二区三区va在线| 老司机午夜精品视频| 久久久天堂国产精品| 在线免费观看污| 色综合亚洲精品激情狠狠| 五十路在线观看| 91免费看视频| 日本一级片在线播放| 老色鬼在线视频| 亚洲精品久久久久中文字幕二区|