亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 12864萬年歷.c

?? c51的st7920程序 c51的st7920程序
?? C
?? 第 1 頁 / 共 3 頁
字號:
/*******************************************/
/*    LCM128*64萬年歷                      */
/*    硬件:LCM128*64  89s52   晶振:24M     */
/*    制作:hyj                             */
/*    時間:2006.11.3   V0.1                */
/*         2006.12.4   V0.2(修正"三"顯示)  */
/*         2006.12.7   V0.3(增加鬧鐘功能)  */
/*******************************************/




#include<reg51.h>
#include<stdio.h>
#include<intrins.h>
#define uchar unsigned char
#define DELTA 500

bit c_moon;
bit flash,id,alarm_controls,alarm;
unsigned char k,jieqi1,jieqi2;
data uchar year_moon,month_moon,day_moon;
unsigned char year,month,day,week,hour,min,sec;
unsigned char alarm_hour,alarm_min,sec_temp;

uchar mode=0,add=1,ir_data1,ir_data2,ir_data3,ir_data4,ir_enable,count,count2=0,en=0;


code unsigned char shuzi[]={"0123456789:."};
code unsigned char riqi[]= {"年月日農(nóng)歷星期室溫  鬧鐘開關(guān)"};
code unsigned char xingqi[]={"  一二33四五六日"};
code unsigned char rongli[]={"初十廿卅"};
code unsigned char shuzi2[]={"十一二33四五六七八九"};
code unsigned char shuzi3[]={"  十"};
code unsigned char shuzi4[]={"  一二33四五六七八九"};
unsigned char code inittime[]={0x48,0x21,0x15,0x11,0x11,0x06,0x06};        //初始化參數(shù)
//                              秒   分   時    日   月  星期  年 
code uchar san[]={
/*--  文字:  三  --*/
/*--  宋體12;  此字體下對應(yīng)的點陣為:寬x高=16x16   --*/
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
};


code unsigned char jieqi[]=
{
"        "
"小寒大寒" 
"立春雨水"
"驚蟄春分"
"清明谷雨"
"立夏小滿"
"芒種夏至"
"小暑大暑"
"立秋處暑"
"白露秋分"
"寒露霜降"
"立冬小雪"
"大雪冬至"
};


sbit T_CLK=P3^5;
sbit T_IO =P3^6;
sbit T_RST=P3^7;  //引腳定義

sbit DQ =P1^4;
sbit ACC0=ACC^0;
sbit ACC7=ACC^7;
sbit rs = P2^1;
sbit rw = P2^2;
sbit e  = P2^4;
sbit psb = P2^5;
sbit rst = P3^4;

sbit P07=P0^7;
sbit P15=P1^5;

void   RTInputByte(uchar);                                         // 輸入 1Byte 
uchar  RTOutputByte(void);                                         // 輸出 1Byte 
void   W1302(uchar, uchar);                                        // 向DS1302寫入一個字節(jié)
uchar  R1302(uchar);                                               // 從DS1302讀出一個字節(jié)
void   Set1302(unsigned char* );                                   // 設(shè)置初始時間 
ReadTemperature(void);                                             //讀取室溫
void Conversion(bit c,char year,char month,char day);              //計算農(nóng)歷日期
unsigned char calendar_calculate_solar_term_1(void);               //計算當(dāng)月第一個節(jié)氣對應(yīng)的公歷日期
unsigned char calendar_calculate_solar_term_2(void);               //計算當(dāng)月第二個節(jié)氣





mode_set()
 {
  switch(mode)
   {
	 case 0:mode=1;
	        W1302(0x8e,0x00);                   //允許寫操作
	        W1302(0x80,0x80);                   //寫入DS1302 時間停止
			  W1302(0x8e,0x80);                   //寫保護(hù),禁止寫操作  
			  TR0=1;
			  break;
	 case 1:mode=2;
	          break;
	 case 2:mode=3;
             break;
	 case 3:mode=4;
             break;
	 case 4:mode=5;
             break;
	 case 5:mode=6;
             break;
	 case 6:mode=0;
	        W1302(0x8e,0x00);                   //允許寫操作
	        W1302(0x80,0x00);                   //寫入DS1302  時間運行
			  W1302(0x8e,0x80);                   //寫保護(hù),禁止寫操作 
			  TR0=0;
           break;
     }
	if(id==1)
	 {
     switch(mode)
	   {
		 case 7:mode=8;
		         break;
		 case 8:mode=7;
		         break;
		}
	 }
  }

add_set()
 {
  uchar address,item;
  uchar max,min;
  if(alarm==1) {alarm=0;return;}
  if(mode==0)  return;
  if(mode==1)  {address=0x8c; max=99;min=0;}    //年
  if(mode==2)  {address=0x88; max=12;min=1;}    //月
  if(mode==3)  {address=0x86; max=31;min=1;}    //日
  if(mode==4)  {address=0x8a; max=7; min=1;}    //星期
  if(mode==5)  {address=0x84; max=23;min=0;}    //小時
  if(mode==6)  {address=0x82; max=59;min=0;}    //分鐘
  if(mode==7)  {address=0xc0; max=23;min=0;}
  if(mode==8)  {address=0xc2; max=59;min=0;}
	
  item=R1302(address+1);
  item=item/16*10+item%16;
  if(add) 
   item++;  
  else 
   item--;
  if(item<min||item==255) item=max;
  if(item>max) item=min;   
  W1302(0x8e,0x00);                   //允許寫操作
  W1302(address,item/10*16+item%10);  //寫入DS1302 //轉(zhuǎn)成BCD碼
  W1302(0x8e,0x80);                   //寫保護(hù),禁止寫操作  
}
  


ir_key()
 {

  switch(ir_data3)
   {
	 case 0xe2: mode_set();
	                 break;
	 case 0x52: add=1;
	            add_set();
					    break;
	 case 0x78: add=0;
	            add_set();
					    break;
    case 0xb8: id=1;
		         mode=7;
		         TR0=1;
 				   break;
	 case 0x42: id=0;
		         mode=0;
		         TR0=0;
					break;
    case 0xc8:if(id==1)              //設(shè)置鬧鐘 開/關(guān)(必須在鬧鐘調(diào)整狀態(tài)下)
	            {
	             alarm_controls=~alarm_controls;
				}
	            
  }
 }



/**********************************************
  遙控外部中斷程序
   
  接收數(shù)據(jù):ir_data1--ir_data4
  倍數(shù)計數(shù):count
  DELTA   :誤差
/**********************************************/
void int0remoter() interrupt 2
  {
    TR1=0;
    if((TL1+TH1*256)==0)
      {
        count=0;
    	  TL1=0;
		  TH1=0;
		  TR1=1;  //開定時器
		  
		  return;//有遙控信號產(chǎn)生中斷,退出中斷
		}
	 if(!count)
	   {
        if(((TL1+TH1*256)>(27000-DELTA))&&((TL1+TH1*256)<(27000+DELTA)))
		    {
			   count++;
				TH1=0;
				TL1=0;
				TR1=1;
				return;//前導(dǎo)碼正確,準(zhǔn)備接收數(shù)據(jù),退出中斷
			  }
			count=0;
			TR1=0;
			TH1=0;
			TL1=0;
			return;//前導(dǎo)碼錯誤,非遙控信號,退出中斷
		 }
	  if(count<33)
	    {
		   if(count<=8)
			  {
			    if(((TL1+TH1*256)>(2250-DELTA))&&((TL1+TH1*256)<(2250+DELTA)))
				   {
					  ir_data1<<=1;
					  count++;
					  TH1=0;
					  TL1=0;
					  TR1=1;
					  return;  //數(shù)據(jù)為0,退出中斷
					}
			    if(((TL1+TH1*256)>(4500-DELTA))&&((TL1+TH1*256)<(4500+DELTA)))
				   {
					  ir_data1<<=1;
					  ir_data1|=0x01;
					  count++;
					  TH1=0;
					  TL1=0;
					  TR1=1;
					  return;//數(shù)據(jù)為1,退出中斷
					}
				 count=0;
				 TR1=0;
				 TH1=0;
				 TL1=0;
				 return;   //錯誤,清零退出中斷
			  }
		   if(count>8&&count<=16)
			  {
			    if(((TL1+TH1*256)>(2250-DELTA))&&((TL1+TH1*256)<(2250+DELTA)))
				   {
					  ir_data2<<=1;
					  count++;
					  TH1=0;
					  TL1=0;
					  TR1=1;
					  return;  //數(shù)據(jù)為0,退出中斷
					}
			    if(((TL1+TH1*256)>(4500-DELTA))&&((TL1+TH1*256)<(4500+DELTA)))
				   {
					  ir_data2<<=1;
					  ir_data2|=0x01;
					  count++;
					  TH1=0;
					  TL1=0;
					  TR1=1;
					  return;//數(shù)據(jù)為1,退出中斷
					}
				 count=0;
				 TR1=0;
				 TH1=0;
				 TL1=0;
				 return;   //錯誤,清零退出中斷
			  }
		   if(count>16&&count<=24)
			  {
			    if(((TL1+TH1*256)>(2250-DELTA))&&((TL1+TH1*256)<(2250+DELTA)))
				   {
					  ir_data3<<=1;
					  count++;
					  TH1=0;
					  TL1=0;
					  TR1=1;
					  return;  //數(shù)據(jù)為0,退出中斷
					}
			    if(((TL1+TH1*256)>(4500-DELTA))&&((TL1+TH1*256)<(4500+DELTA)))
				   {
					  ir_data3<<=1;
					  ir_data3|=0x01;
					  count++;
					  TH1=0;
					  TL1=0;
					  TR1=1;
					  return;//數(shù)據(jù)為1,退出中斷
					}
				 count=0;
				 TR1=0;
				 TH1=0;
				 TL1=0;
				 return;   //錯誤,清零退出中斷
			  }
		   if(count>24&&count<=32)
			  {
			    if(((TL1+TH1*256)>(2250-DELTA))&&((TL1+TH1*256)<(2250+DELTA)))
				   {
					  ir_data4<<=1;
					  count++;
					  TH1=0;
					  TL1=0;
					  TR1=1;
					  if(count==33)
					    {
					      EX1=0;
						  en=1;
                          ir_enable = 1;
					    }
					  return;  //數(shù)據(jù)為0,退出中斷
					}
			    if(((TL1+TH1*256)>(4500-DELTA))&&((TL1+TH1*256)<(4500+DELTA)))
				   {
					  ir_data4<<=1;
					  ir_data4|=0x01;
					  count++;
					  TH1=0;
					  TL1=0;
					  TR1=1;
					  if(count==33)
					   {
					    EX1=0;
						en=1;
                        ir_enable = 1;
						}
					   
						
					  return;//數(shù)據(jù)為1,退出中斷
					}
				 count=0;
				 TR1=0;
				 TH1=0;
				 TL1=0;
				 return;   //錯誤,清零退出中斷
			  }
			}
		 }

/********定時器中斷***********/
/*     作用:遙控接收         */
/*****************************/
void timer1_int() interrupt 3
  {
   if(en!=0)
	 {
	  en--;
	  TL1=0;
	  TH1=0;
	 }
    
    EX1=1;
    count=0;
	 TR1=0;
	 TH1=0;
	 TL1=0;
  }

/**********定時器中斷***********/
/*    作用:調(diào)時閃動定時        */
/*    閃動時間:50(ms)*20(次)   */
/*******************************/
void timer0_int() interrupt 1
  {
   TH0=0x3c;            //50ms定時
   TL0=0xb0;
	 if(count2++>=20)
	   {
		count2=0;
        flash=~flash;
	   }
  }



/*************************/
/*       延時函數(shù)        */
/*************************/

void delay(unsigned char cnt)
 {
  unsigned char i;
  while(cnt--!=0)
  for(i=10;i!=0;i--);
 }


/***********************/
/*   LCM12864忙檢測    */
/***********************/

void tase_busy()
{
 rs=0;
 _nop_();
 _nop_();
 rw=1;
 _nop_();
 _nop_();
 e=1;
 _nop_();
 _nop_();
 while(P07==1);
 e=0;
}



/***********************/
/*   LCM12864發(fā)送指令  */
/***********************/

void send_dictate(unsigned char interim)
{
 tase_busy();
 rs=0;
 _nop_();
 _nop_();
 rw=0;
 _nop_();
 _nop_();
 P0=interim;
 e=1;
 delay(1);
 e=0;
}


/***********************/
/*   LCM12864發(fā)送數(shù)據(jù)  */
/***********************/

void send_data(unsigned char interim)
{
 tase_busy();
 rs=1;
 _nop_();
 _nop_();
 rw=0;
 _nop_();
 _nop_();
 P0=interim;
 e=1;
 _nop_();
 _nop_();
 e=0;
}

/***********************/
/*  讀取DS1302時間并轉(zhuǎn) */
/*     換成10進(jìn)制      */
/***********************/

init()
 {
  alarm_hour=R1302(0xc1);
  alarm_hour=alarm_hour/16*10+alarm_hour%16;
  alarm_min=R1302(0xc3);
  alarm_min=alarm_min/16*10+alarm_min%16;
 
  sec=R1302(0x81);
  sec=sec/16*10+sec%16;
  min=R1302(0x83);
  min=min/16*10+min%16;
  

  hour=R1302(0x85);
  hour=hour/16*10+hour%16;
  
  day=R1302(0x87);
  day=day/16*10+day%16;

  week=R1302(0x8b);

  month=R1302(0x89);
  month=month/16*10+month%16;
  
  year=R1302(0x8d);
  year=year/16*10+year%16;

  Conversion(0,year,month,day);

  jieqi1= calendar_calculate_solar_term_1();
  jieqi2= calendar_calculate_solar_term_2();
  
 }

/***************************/
/*  寫12864_CGROM(未使用)  */
/***************************/

void cgram()
 {
  uchar addr=0x40;
  uchar k;
  for(k=1;k<32;k+=2)
   {
    send_dictate(addr);
    send_data(san[k]);
    send_data(san[k-1]);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级搡bbbb搡bbbb| 成人免费观看视频| 91精品视频网| 免费高清不卡av| 精品国产3级a| 国产盗摄视频一区二区三区| 欧美激情资源网| 成人av片在线观看| 香港成人在线视频| 欧美不卡一区二区三区四区| 国产aⅴ综合色| 亚洲国产色一区| 日韩一本二本av| 国产成人综合网| 亚洲激情图片一区| 日韩一区二区在线播放| 国产九九视频一区二区三区| 综合久久综合久久| 欧美疯狂做受xxxx富婆| 国产一区二区三区| 亚洲视频一区在线| 欧美一区二区美女| 风间由美一区二区三区在线观看 | 国产一区二区伦理| 中文无字幕一区二区三区| 99精品国产热久久91蜜凸| 亚洲成人av中文| 久久久亚洲欧洲日产国码αv| 99re这里只有精品6| 视频一区二区三区中文字幕| 久久久精品tv| 欧美午夜精品久久久| 久久99国产精品免费| 亚洲欧美区自拍先锋| 欧美成人r级一区二区三区| 成人激情小说乱人伦| 日日夜夜精品免费视频| 国产精品九色蝌蚪自拍| 日韩一区二区三区三四区视频在线观看| 国产精品主播直播| 天天色综合天天| 国产精品电影一区二区| 日韩视频免费观看高清完整版在线观看 | 日本精品裸体写真集在线观看| 免费xxxx性欧美18vr| 一区二区三区在线播放| 久久久天堂av| 日韩一区二区免费在线电影| 91精彩视频在线观看| 国产ts人妖一区二区| 亚洲成av人片www| 日韩毛片在线免费观看| 久久亚洲一区二区三区四区| 欧美精品久久99| 在线观看免费成人| av亚洲产国偷v产偷v自拍| 精品一区二区三区在线视频| 亚洲高清视频在线| 国产精品久久看| 国产欧美一二三区| 久久久久久久久一| 精品久久国产字幕高潮| 在线不卡一区二区| 欧美日韩一区二区三区免费看| 91色在线porny| 波多野结衣在线一区| 国产激情偷乱视频一区二区三区| 人人精品人人爱| 秋霞午夜av一区二区三区| 日韩在线卡一卡二| 丝袜美腿一区二区三区| 性做久久久久久| 亚洲国产日韩一区二区| 亚洲成人一二三| 性欧美大战久久久久久久久| 亚洲成人午夜影院| 午夜一区二区三区视频| 午夜免费欧美电影| 天堂va蜜桃一区二区三区 | 国产成人av一区| 国产精品99久久久| 国产宾馆实践打屁股91| 风流少妇一区二区| 色妞www精品视频| 日本久久电影网| 欧美老人xxxx18| 日韩一级免费观看| 精品国产乱码久久久久久浪潮| 精品欧美黑人一区二区三区| 久久夜色精品一区| 国产精品色哟哟| 日韩码欧中文字| 亚洲成a人v欧美综合天堂下载| 婷婷丁香激情综合| 国产一区999| 99国产精品国产精品毛片| 91福利视频久久久久| 欧美绝品在线观看成人午夜影视| 91精品国产综合久久久久久| 日韩美女天天操| 中文字幕 久热精品 视频在线| 自拍偷拍亚洲欧美日韩| 亚洲第一成人在线| 精品一区二区免费| a级高清视频欧美日韩| 欧美视频完全免费看| 日韩美女主播在线视频一区二区三区| 国产丝袜美腿一区二区三区| 136国产福利精品导航| 午夜精品久久久久久久| 国产一区视频导航| 91蝌蚪porny成人天涯| 欧美一区二区免费| 国产精品久久久久久久久图文区| 亚洲一区二区黄色| 国产又黄又大久久| 色欧美日韩亚洲| 一区二区三区四区在线免费观看| 日韩有码一区二区三区| 国产精品538一区二区在线| 欧洲在线/亚洲| 久久先锋资源网| 亚洲香蕉伊在人在线观| 国产精品亚洲专一区二区三区 | av影院午夜一区| 91精品国产91久久久久久一区二区 | 国产精品国产三级国产普通话三级| 一二三区精品福利视频| 国产在线精品免费av| 欧美男人的天堂一二区| 中文字幕精品一区| 美女免费视频一区二区| 91久久久免费一区二区| 久久人人爽人人爽| 日韩精品乱码av一区二区| 99re热视频精品| 久久精子c满五个校花| 日本不卡免费在线视频| 91国产免费看| 国产精品丝袜一区| 精品一二三四区| 欧美日本一区二区三区| 一区二区三区在线免费视频| 懂色av中文一区二区三区| 日韩欧美亚洲国产另类| 亚洲午夜久久久久久久久电影院| 国产**成人网毛片九色| 欧美一区二区三区免费大片| 一个色综合av| 色婷婷久久一区二区三区麻豆| 国产欧美在线观看一区| 久久成人免费网| 4438x成人网最大色成网站| 亚洲一区精品在线| 91网站在线播放| 国产精品传媒入口麻豆| 国产99久久久国产精品潘金网站| 精品剧情v国产在线观看在线| 日本中文字幕一区二区有限公司| 91福利在线导航| 亚洲一二三四久久| 在线观看国产一区二区| 亚洲乱码精品一二三四区日韩在线 | 色av一区二区| 亚洲综合另类小说| 欧美午夜精品免费| 天堂久久一区二区三区| 欧美日韩性生活| 香蕉成人伊视频在线观看| 欧美精品成人一区二区三区四区| 亚洲国产婷婷综合在线精品| 欧美天天综合网| 午夜电影网一区| 日韩一区二区高清| 狠狠色丁香久久婷婷综合丁香| 欧美精品一区二区三区在线 | 蜜桃视频在线观看一区二区| 欧美一级高清大全免费观看| 日本成人中文字幕在线视频| 日韩一级在线观看| 国产精品亚洲一区二区三区在线| 亚洲国产成人午夜在线一区| 不卡视频一二三| 亚洲免费av网站| 欧美日韩免费在线视频| 美腿丝袜亚洲色图| 国产欧美日韩综合| 91视频观看视频| 日韩av在线播放中文字幕| 欧美一区二区三区视频在线观看| 另类小说综合欧美亚洲| 国产欧美日韩视频在线观看| 99久久综合99久久综合网站| 视频一区二区欧美| 国产日韩视频一区二区三区| 91在线你懂得| 免费不卡在线视频| 中文字幕一区在线观看视频| 欧美久久免费观看| 国产乱码字幕精品高清av|