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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 6416+1302電子鐘.c

?? LED顯示電子鐘
?? C
?? 第 1 頁 / 共 3 頁
字號:
/*****************************************************
       4字LED點陣屏+DS1302萬年歷電子鐘 C 程序
******************************************************
聲明:
     本程序中DS1302讀寫部分是直接引用網上網友提供的共享程序,
	  本程序供大家學習之用,用勿用于商業用途。尊重作者版權。
	 
	 編寫:鄧椿薪
	 時間:2006年6月9日 晚
	 郵箱:love2151@xinhuanet.com
	 網址:www.89s51diy.com
*******************************************************

 DS1302 接線圖

         Vcc2  CLK I/O  /RST 
           
            |   |   |   |
           -------------------
          | 8   7   6   5  |
          |   DS1302       |
          |                |
          | 1   2   3   4  |
           -------------------
            |   |   |   |
         VCC1           GND

1 腳接+5V    2,3腳32768HZ晶振  4腳接地  5腳接S51的P02 6腳接S51的P01 7接S51的P00
8腳接后備電源,可以接老計算機主板上的3.6V電池,也可以通過二級管隔離接一個大容量電解電容
電壓在2.5V以上即可維持


595連級輸出數據,138行驅動。*/



#include <AT89x52.H>
#define uchar unsigned char
#define uint unsigned int

uchar code hanzi[];					    //漢字字模

uchar code timer[11][16];				//0~9數字
uchar code sw[];	                    //138驅動數據

void Show_word();                      //待機顯示按三秒間隔分別顯示年、月日、星期、時分秒。
void Show_pass();			           //不顯示一個字
void Send_data(unsigned char *d);      /*串口發送一行*/



/******************************************/
sbit resget=P0^7;			//時鐘復位
sbit key_moda=P0^6;			//模式轉換
sbit key_up=P0^5;			//時鐘加
sbit key_Down=P0^4;			//時鐘減

sbit T_CLK=P0^2;		    //DS1302引腳連接
sbit T_IO =P0^1;
sbit T_RST=P0^0;

sbit ACC0=ACC^0;           //1bit數據存儲位
sbit ACC7=ACC^7;

uchar starts_time[7]={0x00,0x10,0x22,0x11,0x06,0x07,0x06};	 //初始化后設置
uchar Move,Speed,Flicker,line,Sec,Cent,Hour,Year,Month,Day,Week;  //時間變量
uchar a,b,f,h,msec,id,x;           //標志計數器 a為自動轉換顯示時間,b為手動與自動標志
uint zimuo;		                   //字模計數器
uchar BUFF[10];			           //緩存

void   RTInputByte(uchar);         /* 輸入 1Byte */
uchar  RTOutputByte(void);         /* 輸出 1Byte */
void   W1302(uchar, uchar);        // 向DS1302寫入一個字節
uchar  R1302(uchar);               // 從DS1302讀出一個字節
void   Set1302(uchar *);           // 寫DS1302時間
void   du1302();                   // 讀時間  
void   DelayMs(void);              // 延時
void   Set(uchar,uchar );          // 變量調整
void   in_data();				   // 調整移動數據
void   rxd_data();				   // 串口發送移動數據

/*主函數*/
void main()
{
   Move=0;
   zimuo=0;
   TMOD=0x01;	//16位定時
   TH0=0x3c;    //25ms晶振為24M
   TL0=0xb0;
   EA=1;
   TR0=1;
   ET0=1; 
   SCON=0;             //初始化串口為工作方式0(同步通信方式,TxD輸出同步脈沖)

   while(zimuo<512)
    { 
	 while(Move<16)				             //數據移位。
       {
	     for(Speed=0;Speed<10;Speed++)       //移動速度
	      {	
		    for(line=0;line<16;line++)
			  {
		         in_data();				     //調整移動數據
	             rxd_data();
			       P2_4=1;		             //關閉顯示
					 DelayMs();
					 P2_7=1;					 //鎖存為高,595鎖存信號
	             P2=sw[line];				 //輸出行信號
					 DelayMs();	                 //延時,等待一段時間,讓這列顯示的內容在人眼內產生“視覺暫留”現象。*/
	             
	             
				}
		 }
       Move++;				                 //移動一步
   	  }
     Move=0;
	 zimuo=zimuo+32;
    }	
   zimuo=0;
   while(1)             //重復循環顯示
    {
	  if(resget==0)
	     {  DelayMs();
            if(resget==0)
	            Set1302(starts_time);    //初始化 
	        W1302(0x8e,0x00);            //控制命令,WP=0,寫操作                
	        W1302(0x90,0xa5);            //打開充電二級管  一個二級管串聯一個2K電阻 
	    }  
	  du1302();                           //讀取 秒 分 時 日 月 星期 年	  	
 	  if (key_moda==0)	                 //設置和選擇項目鍵
         {  DelayMs();
	        if(key_moda==0)
	           {
	              if(id++==9) {id=0;}
				  h=0;msec=0;            //清閃爍標志
		          while(key_moda==0){ Show_word();}    
               }						   
	     }

	  
      if(id!=0)
	  {
      if (key_up==0)                  //增加
         {
            DelayMs();
            if(key_up==0)
	           {
	   	          while(key_up==0)
						{Show_word();}	 //調用顯示
		          h=0;msec=0;            //清閃爍標志
				 
		          Set(id,0);	         //調用時間調調整
		       }  
         }
   
      if (key_Down==0)  //減少
         {
            DelayMs();
            if(key_Down==0)
	            {
	              while(key_Down==0)
		              {Show_word();}   //調用顯示
		          h=0;msec=0;          //清閃爍標志
		          Set(id,1);		   //調用時間調調整
		        }         
         }
	  }
	  else
	   {
	    if (key_up==0)                  //增加
          {
            DelayMs();
            if(key_up==0)
	           {
	   	          while(key_up==0)
						{Show_word();}	 //調用顯示
		          h=0;msec=0;            //清閃爍標志  
	              if(b!=0)				 //手動調整顯示的內容
		           { 
				     if(f++==3)			 //f為顯示轉換標志
			             f=0;
		           }
              }
	   	 }
	   }

   Show_word();	  //待機顯示按三秒間隔分別顯示年、月日、星期、時分秒。

   }	   
}
/************************************************/
void Show_word()		                 //串行輸出顯示
{  uchar h;		  
   for(h=0;h<16;h++)
      { 
	         if((id==0)&(f==0)|(id==1))			//f為三秒轉換顯示
			   {
		         Send_data(&timer[0][0]);	    //不顯示
				 if((Flicker==1)&(id==1))       //閃爍標志為1時不亮,為零時亮
				    { Show_pass();			    //不顯示一個字
					  Show_pass();
					}
				 else
				   {
			  	      Send_data(&timer[2][h]);        //20年   
		              Send_data(&timer[0][h]);
	                  Send_data(&timer[Year/16][h]);  //年值   
		              Send_data(&timer[Year%16][h]);
				   }
				 Send_data(&hanzi[h*2+641]);          //年字符  
		         Send_data(&hanzi[h*2+640]);
				 Send_data(&timer[0]);	              //不顯示
			   }

		     if((id==0)&(f==1)|(id==2)|(id==3))			      
			  {
			     if((Flicker==1)&(id==2))		//閃爍標志為1時不亮,為零時亮
				    { Show_pass();			    //不顯示一個字
					  
					}
				 else
				    {
					  if(Month/16<1)
					   	Send_data(&timer[0]);	             //月十位為零時不顯示
					  else
				        Send_data(&timer[Month/16][h]);      //月值   
		              Send_data(&timer[Month%16][h]);
					}
				 Send_data(&hanzi[h*2+673]);	             //月字符
		         Send_data(&hanzi[h*2+672]);	
				 if((Flicker==1)&(id==3))		             //閃爍標志為1時不亮,為零時亮 
				    { Show_pass();			                 //不顯示一個字
					  
					}
				 else
				    {				      
			  	      Send_data(&timer[Day/16][h]);          //日值   
		              Send_data(&timer[Day%16][h]);
					}
	             Send_data(&hanzi[h*2+961]);                 //日字符  
		         Send_data(&hanzi[h*2+960]);
			  }

		     if((id==0)&(f==2)|(id==4))			             //f為三秒轉換顯示
			  {
			     Send_data(&timer[0]);	                     //不顯示
				 Send_data(&hanzi[h*2+705]);	             //星字符
		         Send_data(&hanzi[h*2+704]);
				 Send_data(&hanzi[h*2+737]);	             //期字符
		         Send_data(&hanzi[h*2+736]);
				 if((Flicker==1)&(id==4))		             //閃爍標志為1時不亮,為零時亮 
				    { Show_pass();			                 //不顯示一個字
					}
				 else
				    {				 	    
			  	     Send_data(&hanzi[Week%16*32+h*2+737]);       //星期值
				     Send_data(&hanzi[Week%16*32+h*2+736]); 
					}     
		         Send_data(&timer[0][0]);	                 //不顯示
			  }

			if((id==0)&(f==3)|(id>4))			             //f為三秒轉換顯示
			  {
			     if((Flicker==1)&(id==5))		             //閃爍標志為1時不亮,為零時亮 
				    { 
					  Show_pass();			                 //不顯示一個字
					}
				 else
				    { 
					  if(Hour/16<1)
					    Send_data(&timer[0][0]);	           //時十位小于1時不顯示  
			          else
					    Send_data(&timer[Hour/16][h]);         //時值
		              Send_data(&timer[Hour%16][h]);
					}
				 Send_data(&timer[10][h]);	                   //兩個點
		         	
				 if((Flicker==1)&(id==6))		               //閃爍標志為1時不亮,為零時亮 
				    {
					  Show_pass();			                   //不顯示一個字
					}
				 else

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆免费视频| 国产麻豆精品久久一二三| 一本一本久久a久久精品综合麻豆| 中文字幕av一区二区三区高 | 亚洲精品一二三四区| 色婷婷综合久久久久中文| 亚洲精品国产第一综合99久久 | 狠狠久久亚洲欧美| 久久久久久一级片| 99re66热这里只有精品3直播| 亚洲视频每日更新| 欧美日韩电影在线播放| 久久国产视频网| 国产欧美一区二区精品性| 97精品视频在线观看自产线路二| 亚洲香肠在线观看| 精品久久久久久亚洲综合网| 成人国产在线观看| 亚洲国产sm捆绑调教视频| 精品欧美一区二区久久| 成人高清免费观看| 午夜精品久久久久久久久久久| 欧美成人三级在线| 91在线观看视频| 日本免费新一区视频| 国产三级精品三级在线专区| 欧美午夜一区二区| 国内成人免费视频| 亚洲精品日产精品乱码不卡| 欧美一区二区免费视频| 99精品欧美一区二区三区小说 | 国产精品久久久久久久久晋中 | 亚洲www啪成人一区二区麻豆| 日韩欧美三级在线| 色噜噜夜夜夜综合网| 黄色精品一二区| 一区二区三区欧美久久| 久久久久久黄色| 欧美精品tushy高清| 成人黄色一级视频| 极品少妇一区二区| 亚洲福利国产精品| 国产精品三级久久久久三级| 91精品免费在线观看| 日本黄色一区二区| www.日韩精品| 国精品**一区二区三区在线蜜桃| 亚洲一区二区五区| 亚洲欧洲成人精品av97| 精品999在线播放| 欧美日韩成人激情| 色婷婷综合中文久久一本| 国产电影一区二区三区| 日韩不卡一二三区| 亚洲一区二区三区不卡国产欧美| 国产日韩欧美在线一区| 精品伦理精品一区| 欧美一区二区三区在线电影| 欧美色手机在线观看| 色婷婷久久久综合中文字幕| 成a人片国产精品| 国产福利一区在线| 国产呦精品一区二区三区网站| 日韩成人dvd| 日韩精品电影一区亚洲| 午夜久久久影院| 亚洲一卡二卡三卡四卡五卡| 一区二区三区四区在线| 亚洲视频1区2区| 亚洲色图欧美偷拍| 自拍偷在线精品自拍偷无码专区| 国产精品视频一二三区| 国产偷国产偷精品高清尤物| 国产日韩欧美精品一区| 国产婷婷精品av在线| 国产欧美精品一区aⅴ影院| 久久久久久亚洲综合| 久久久精品一品道一区| 久久久久久免费网| 久久精品视频一区二区三区| 久久久久久久电影| 日本一区二区视频在线观看| 国产精品三级视频| 亚洲欧美日韩在线不卡| 亚洲一区二区三区中文字幕| 亚洲一区二区三区免费视频| 视频精品一区二区| 蜜臀av性久久久久av蜜臀妖精| 久久精品免费看| 国产成人久久精品77777最新版本| 国产成人免费xxxxxxxx| 91在线云播放| 7777精品伊人久久久大香线蕉的| 欧美一区二区三区在线视频| 久久婷婷一区二区三区| 国产精品免费aⅴ片在线观看| 亚洲人被黑人高潮完整版| 亚洲在线视频免费观看| 免费av网站大全久久| 国产精品自拍毛片| 色综合视频在线观看| 在线电影院国产精品| 精品国产成人系列| 亚洲欧洲美洲综合色网| 亚洲国产一区在线观看| 精品在线你懂的| av在线免费不卡| 欧美色图激情小说| 久久蜜桃av一区精品变态类天堂| 日韩美女精品在线| 日韩高清电影一区| www.亚洲在线| 欧美一区二区国产| 亚洲色图一区二区三区| 免费成人av资源网| 99精品视频在线观看| 91精品一区二区三区久久久久久| 国产日韩亚洲欧美综合| 亚洲国产视频直播| 国产成人丝袜美腿| 在线观看91av| 成人免费在线视频| 美女视频黄久久| 色八戒一区二区三区| 久久新电视剧免费观看| 亚洲一区二区综合| 国产jizzjizz一区二区| 正在播放一区二区| 亚洲嫩草精品久久| 精品无码三级在线观看视频| 日本高清免费不卡视频| 久久久久国色av免费看影院| 视频一区欧美日韩| 99久久婷婷国产综合精品电影 | 欧美肥妇free| 中文成人综合网| 国产专区综合网| 在线91免费看| 亚洲精品免费电影| 成人开心网精品视频| 日韩一区二区精品葵司在线| 一区二区三区在线免费观看| 国产高清成人在线| 欧美videossexotv100| 五月激情综合色| 在线精品国精品国产尤物884a| 久久久五月婷婷| 韩国视频一区二区| 精品乱人伦一区二区三区| 午夜精品福利视频网站| 在线中文字幕不卡| 亚洲美女电影在线| 99视频一区二区| 国产精品毛片无遮挡高清| 国产成人精品在线看| 久久蜜桃av一区二区天堂| 国产在线精品免费| 日韩欧美国产一区二区三区| 亚洲超碰精品一区二区| 欧日韩精品视频| 夜夜揉揉日日人人青青一国产精品 | 亚洲综合久久久| 色素色在线综合| 亚洲免费观看在线观看| 91同城在线观看| 亚洲男人的天堂av| 91高清视频在线| 亚洲成人免费观看| 欧美日韩在线观看一区二区 | 国产风韵犹存在线视精品| 精品久久久久久亚洲综合网| 韩日精品视频一区| 久久精品在线观看| 成人一区二区三区| 综合精品久久久| 欧美色网一区二区| 偷拍一区二区三区| 日韩无一区二区| 国精产品一区一区三区mba视频| 久久免费视频色| 不卡的av在线播放| 一级做a爱片久久| 91精品国产91久久久久久最新毛片| 日韩在线一二三区| 精品久久免费看| 成人美女视频在线观看18| 有码一区二区三区| 欧美日韩你懂得| 国产一区二区在线影院| 1区2区3区精品视频| 欧美日韩国产区一| 极品美女销魂一区二区三区| 中文字幕欧美激情| 99久久免费精品高清特色大片| 一区二区三区鲁丝不卡| 91麻豆精品国产无毒不卡在线观看 | 色呦呦日韩精品| 爽好多水快深点欧美视频| 久久麻豆一区二区| 欧美综合一区二区三区|