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

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

?? 4display.c

?? 四位時程序,用于時鐘計數,從1點到12點計時,帶小數點顯示.
?? C
字號:
#include <reg51.h>
unsigned char ComperHourAlarm,ZeroNoDisplay,flashcount,ZeroYesDisplay;
unsigned int TClock;
unsigned int change;
unsigned int plus;
unsigned int TimerCount;
unsigned char temp[8];
unsigned int PLDELAY;

unsigned code DispTab [] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff,0xbf,0x08,0x03,0x06,0xA1,0x91,
0xC7,};
//字形碼0-9,不顯示,-,a,b,c,d,Y,L,
unsigned char DispBuf [4] = {0,6,1,0,};//顯示緩沖區,


/* 以下是對顯示的驅動位作標記*/
 
 sbit Hour1 = P2^1;         //小時顯示第一位.
 sbit Hour2 = P2^2;         //小時顯示第二位.

 sbit Min1 = P2^3;          //分顯示第一位.
 sbit Min2 = P2^4;          //分顯示第二位.
 sbit PL = P1^5;            //電源電壓低.
 sbit Relay = P3^7; 
 

 /*----------以下是對鍵所在位作標志------------*/
 sbit SetKey = P3^3;  //功能鍵所在引腳.
 sbit MoveKey = P3^1;   //位移動鍵所在引腳.
 sbit IncKey = P3^0;  //加一鍵所在引腳.
 unsigned char SetFlag;  //定義調整的數據位置.
 unsigned char Set;     //要設置的數據中間傳送位.
 unsigned char Mi,Max;  //數據要調整的范圍.
 
 /*---------以下是對常量和變量進行定義----------*/
unsigned char DispCount;  //用于顯示中對顯示位數進行計數.
unsigned char ZeroNoDisplay; //用于顯示小時位時如顯示為09,則將其中的零不顯示.
unsigned char flashcount;    //定時0中斷中用到的變量.

/*------------------秒脈沖中斷用--------------*/
unsigned char Year,Month,Date,Hour,Min,Sec,Wek;      //計數器.
unsigned int t;
bit Clock;
bit CheckDy;
/*------------------閃爍程序中用到-------------*/
unsigned char FlashSet;   //閃動延時值.
bit FlashFlag;            //閃動標志位.
unsigned char SetFlag;
 
 /*--------------------延時程序---------------------*/
void mDelay (unsigned int Delay)

     {  unsigned int i;

	     for (; Delay>0; Delay--)       //延時時間很難選折.會產生不希望產生的鬼影.
		   {for (i=0;i<100;i++)
		       {;}
		   }
	 }



/*--------------加一程序--------------------*/
 void inc ( void)

   {
      Set++;                    //對設置位加一.

	  if (Set > Max )           //如果設置數大于規定最大值,則歸位最小值.

	     {Set = Mi;}           //歸位最小值.

	}

	  
	  
/*---------------顯示及緩沖區刷新程序---------------------*/
                 
void Display ()

         
      {   switch ( DispCount )

		       { 
			    case 0:                             //小時十位顯示.
                   
				   Min2 = 1; //關閉年顯示第二位.

                   ZeroNoDisplay =  DispBuf [ DispCount ];  //輸出段碼.

                   
				   if (ZeroNoDisplay==0)
				     
				     {
					    P0 = DispTab [10];             //小時第一位為零時不顯示.
					 }
					 else

					 {
					   P0 = DispTab [ DispBuf [ DispCount ] ];
					 }
             
					Hour1 = 0; //點亮月顯示第一位.

                   break;

                case 1:                              //小時位個位顯示.

				   Hour1 = 1; //關閉月顯示第一位.

				   ZeroNoDisplay =  DispBuf [ DispCount ];  //輸出段碼.
				   
				   if (Clock == 1)

				        {P0 = ( DispTab[ZeroNoDisplay] & 0x7f );}
				   
				     else
				   
					    {P0 = DispTab [ DispBuf [ DispCount ] ];}  //輸出段碼.
                   
				   Hour2 = 0; //點亮月顯示第二位.

                   break;

                case 2:                            //分位十位顯示.

				    Hour2 = 1; //關閉月顯示第二位.
				
				    P0 = DispTab [ DispBuf [ DispCount ] ];
                   
					Min1 = 0;   //點亮日顯示第一位..

                    break;

                 case 3:                          //分位個位顯示.

				   Min1 = 1; //關閉日顯示第二位.
				 
				   P0 = DispTab [ DispBuf [ DispCount ] ];
				   
				   Min2 = 0; //點亮小時顯示第一位.

                   break;


                  
               }

			    mDelay (1);
				 
				 DispCount++;
  
			      if ( DispCount==4 )     //顯示位數計數,以確定下一輪顯示哪一位.

			           { 
				          DispCount = 0;

				       }
			 
				  
	         }

	

/*----------------調時中用到的延時---------------------*/

 void lDelay (unsigned int hDelay)

   {   unsigned int i;
        
         for (;hDelay>0; hDelay--)
		   { for (i=0;i<120;i++)
		       {Display ();}
	       }
   }

	 /*--------------緩沖區刷新程序---------------------*/

      void scan()     
           
          {

           DispBuf [1] = Hour%10;

           DispBuf [0] = Hour/10;      //將小時送入緩沖區.

           DispBuf [3] = Min%10;

		   DispBuf [2] = Min/10;       //將分送入緩沖區.   

           
		   }

 /*---------t0中斷執行程序,用于t秒脈沖信號產生,按鍵及定時鳴叫.---------------*/
void t0(void) interrupt 1 using 0  
  {
        t++;

	    if ( t == 2000)          //半秒時指示.

		  {Clock = 0;}           //秒閃指示位.   
		
		if (t ==4000)            //如果計數到1秒,則T清零.

		  {  t=0;
 
	         if ( t == 0)

			   {Clock = 1;}
		  
		     Sec++;
		
	  	     if ( Sec > 59 )     //秒計到59則秒位清零.
		     
		       { CheckDy = 1;
			   
			     Sec = 0;
			   
			     Min++;
			      
				  if ( Min > 59 )  //分計到59則分位清零.
			        
				     { Min = 0 ;
					  
					   Hour++;
					   
					   if ( Hour > 12 )    //小時計到12,則小時位清零.

					     { Hour = 1;
							  
						 }
						 
					 }
			      }
			  }

        }
	
	 

/*----------------t1中斷程序----------------------
/*-----t1中斷執行程序,用于執行調整參數時的數字閃爍,閃爍時間到自動退出調整程序.--------*/
 void t1 (void) interrupt 3 using 2 
   {
     
        TH1=(65536-50000)/256;            //T1重置定時數據.
	
	    TL1=(65536-50000)%256;

		FlashSet--;

		 if ( FlashSet == 0 )
 
		      {  FlashSet = 6 ;

			     FlashFlag = ~ FlashFlag;   //對閃動位取反,以決定下一輪是否閃動.

				  if ( FlashFlag ==1)

				       {  

                          switch (SetFlag)        //看是要哪一位閃爍.
	                            {
		                          case 0:

		                             DispBuf [0] = 10;
					   
		                             DispBuf [1] = 10;     //年位閃爍.

                                     break;
								   
								   case 1:

		                             DispBuf [2] = 10;
					   
		                             DispBuf [3] = 10;     //月位閃爍.

                                     break; 
								   
								   
									}

                             }
                     else 

				    {  DispBuf [1] = Hour%10;      //調整時的緩沖區刷新程序.

                       DispBuf [0] = Hour/10;      //將小時送入緩沖區.

                       DispBuf [3] = Min%10;

					   DispBuf [2] = Min/10;       //將分送入緩沖區.   

                      
					}
         }

   }
			     

	 


/*------外部中斷1用于執行鍵盤中斷,進行參數調整.----------------------*/

 void int1 () interrupt 2 using 2

  {  
      if ( SetKey ==0 )            //Set鍵按下進入中斷程序.
	    { 
		    lDelay (10);            //延時十毫秒.

		     if ( SetKey == 0)     //再次查詢SET鍵有否按下.

		        {
		           TR0 =0;                   //關閉TR0運行.
				
				   ET0 = 0;                  //關閉TR0中斷,以實現調整時的閃爍
				   
				   TR1 = 1;                  //開啟TR1運行.
			  
			       ET1 = 1;                  //開TR1中斷,以實現調整時的閃爍.    
			  
			       EX1 = 0;                  //關閉外部中斷1.

			  //     EX1 = 0;                  //關閉外部中斷1.

			      while ( SetKey == 0 )          //設置鍵按下釋放否,未釋放則等待.
 			        {
				       Display ();
				    } 
			  
			  
			     while ( SetKey == 1 )       //SetKey鍵按下,則進入

			          {   Display ();
				         
					     if ( MoveKey == 0)

					           {SetFlag++;           //需移動到的標志位.
							   
							    if (SetFlag==2)
							      
								  {SetFlag=0;}
							   
								}  
						 
						 while ( MoveKey == 0)     //秒位鍵按下釋放否,未釋放則等待.
					     
						      {Display ();}
						 
						 if ( IncKey == 0 )
   
					          { switch ( SetFlag )

						           {
                                      case  0:  Mi = 1;

							                    Max = 12;

									            Set = Hour;

									            inc ( );

									            Hour = Set;

									            break;

							           case 1:  Mi = 0;

							                    Max = 59;

										        Set = Min;

										        inc ();

										        Min = Set;

										        break;

								 
									  }
									
							while ( IncKey == 0  )
 			                    {
				                   Display ();
			   	                }		  
							}
								 
								 
						}
						   
			  
			  while ( SetKey == 0 )
 			    {
				  Display ();
				}
				  
			  SetFlag = 0;
				
			  TR0 = 1;                  //開啟TR0運行.
				
			  ET0 = 1;                  //開TR0中斷,以實現調整時的閃爍.
			  
			  TR1 = 0;                  //關閉TR1運行.
			  
			  ET1 = 0;                  //開TR1中斷,以實現調整時的閃爍.    
			  
			  EX1 = 1;                  //開啟外部中斷1,響應鍵盤中斷.

		
							  
			               }
						 }
					  }

/*---------------------主程序-------------------*/
	  void main (void)

	  {  
	  
	     EA = 1;                    //總中斷允許.
	     
	     ET0 = 1;                   //允許定時器0中斷.
		 
		 TR0 = 1;                   //開定時器1中斷.
		 
		 PT1= 1;                    //定時器1為高優先級.
		 
		 EX1 = 1;                   //允許外部1中斷.
		 
		 IT1 = 1;                   //設置外部中斷1為外部觸發中斷.
		 
		 TMOD = 0x12;               //定時器模式.
		 
		 Hour = 8;
		 
		 Min = 18;
		 
		 PLDELAY = 50;
		 
		 Relay = 0;
		 
		 DispCount = 0;
	     
		 SetFlag = 0;
		 
		 FlashSet = 6;               //閃動中用到.
		 
		 TH0=0x06;                   //定時數據.
	
	     TL0=0x06;

	   	TH1=(65536-50000)/256;       //T1重置定時數據.
	
	    TL1=(65536-50000)%256;
	     
		while (1)

		{  

		         Display ();
        
                 scan();

              if ( CheckDy == 1 )      //檢查是否使能電源檢測.
				 
				  { if ( PL == 0 )     //如果電源電壓低則在屏幕上顯示電源電壓低.

				     { for ( ;PLDELAY > 0;PLDELAY--  )            //屏幕上延時顯示電源電壓低.
  
					            { DispBuf [1] = 16;      //調整時的緩沖區刷新程序.

                                  DispBuf [0] = 15;      //  電壓檢測在每分鐘的開始開啟檢測使能,

                                  DispBuf [3] = 17;      //

					              DispBuf [2] = 11;       //
                                 
								  Display ();
								  }
					   }
                
				CheckDy = 0;
	   
                PLDELAY = 50;
			   }
			 }

     }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99热这里都是精品| 欧美一区二区成人6969| 国产欧美一区二区三区鸳鸯浴| 日本成人在线电影网| 91麻豆精品国产91久久久久久久久 | 一区二区三区在线不卡| 色综合天天做天天爱| 亚洲激情自拍视频| 欧美精品aⅴ在线视频| 另类小说一区二区三区| 欧美精品一区二区三区四区| 国产精品白丝jk黑袜喷水| 中文字幕一区二区不卡| 色久优优欧美色久优优| 日日夜夜免费精品| 亚洲精品一区二区三区蜜桃下载 | 国产精品久久久久aaaa樱花| 91蜜桃免费观看视频| 日韩精品成人一区二区三区| 26uuu国产一区二区三区| 国产成人99久久亚洲综合精品| 一区免费观看视频| 欧美一区二区三区在线看| 国产激情视频一区二区三区欧美| 中文字幕在线免费不卡| 7777精品伊人久久久大香线蕉经典版下载 | 成人午夜精品一区二区三区| 夜夜嗨av一区二区三区四季av | 在线亚洲一区观看| av毛片久久久久**hd| 一二三四社区欧美黄| 2019国产精品| 欧美性生活大片视频| 国产一区视频网站| 一个色综合网站| 国产日韩精品视频一区| 欧美日韩性生活| 国产91精品露脸国语对白| 亚洲一区二区三区在线看| 久久综合色天天久久综合图片| 色哟哟国产精品| 狠狠狠色丁香婷婷综合久久五月| 亚洲男人天堂av| 久久午夜电影网| 欧美色视频在线观看| 国产成人一区二区精品非洲| 视频一区视频二区中文字幕| 中文字幕一区二区三区视频| 欧美tk丨vk视频| 欧美日韩日本视频| 成人国产精品免费观看动漫| 久久99国产精品久久| 亚洲成av人片一区二区| 国产精品欧美久久久久一区二区| 日韩欧美成人一区| 欧美日韩一级黄| 色婷婷av一区二区| bt欧美亚洲午夜电影天堂| 国产一区二区三区不卡在线观看 | 成人免费观看av| 狠狠色伊人亚洲综合成人| 午夜精品久久久久久久蜜桃app| 亚洲色图欧洲色图| 中文字幕一区二区三区精华液| 精品国产乱码久久久久久1区2区 | 在线免费观看日韩欧美| 成人一区二区在线观看| 国产资源在线一区| 蜜桃久久久久久| 日韩精品成人一区二区在线| 亚洲狠狠爱一区二区三区| 伊人开心综合网| 一区二区三区在线高清| 亚洲欧美色图小说| 亚洲免费观看高清完整版在线观看| 中文字幕乱码久久午夜不卡| 国产亚洲成aⅴ人片在线观看| www一区二区| 久久久电影一区二区三区| 久久日韩精品一区二区五区| 精品久久久久久最新网址| 精品国产精品网麻豆系列| 欧美videos大乳护士334| 日韩美女主播在线视频一区二区三区| 欧美顶级少妇做爰| 日韩精品中午字幕| 亚洲精品在线观看视频| 久久久国产精品麻豆 | 亚洲摸摸操操av| 亚洲精品欧美在线| 亚洲成人免费在线| 久久国产精品99久久人人澡| 国产综合久久久久久久久久久久 | 一本色道综合亚洲| 欧美在线高清视频| 91精品一区二区三区在线观看| 欧美放荡的少妇| 欧美精品一区二区在线观看| 久久久www成人免费毛片麻豆| 亚洲欧洲国产日韩| 亚洲国产成人av网| 久久66热偷产精品| 成人免费视频免费观看| 91久久奴性调教| 337p亚洲精品色噜噜| 久久久久亚洲蜜桃| 亚洲免费观看视频| 久久成人久久爱| eeuss国产一区二区三区| 欧美日韩国产电影| 久久久天堂av| 亚洲一区二区精品久久av| 老司机午夜精品| 北岛玲一区二区三区四区| 欧美日韩二区三区| 国产日本欧美一区二区| 亚洲国产日韩精品| 国产91丝袜在线播放0| 在线免费观看不卡av| 久久这里只有精品首页| 亚洲卡通欧美制服中文| 久久成人综合网| 色狠狠一区二区| 国产亚洲精品久| 亚洲va欧美va人人爽| 成人手机电影网| 欧美一区二区不卡视频| 亚洲欧洲综合另类| 国内精品国产成人国产三级粉色| 色乱码一区二区三区88| 国产亚洲视频系列| 日本怡春院一区二区| 色综合久久久久久久久久久| 久久精品人人做人人爽97 | 久久精品99国产国产精| 91免费看`日韩一区二区| 精品国产麻豆免费人成网站| 亚洲电影中文字幕在线观看| 不卡电影一区二区三区| 精品美女一区二区| 亚洲高清不卡在线观看| 一本色道久久综合亚洲91| 国产亚洲精品资源在线26u| 日韩国产欧美在线观看| 色婷婷精品久久二区二区蜜臂av| 久久精品无码一区二区三区 | 国产高清不卡二三区| 欧美一区二区三区在线看| 亚洲福利电影网| 在线免费亚洲电影| 樱桃国产成人精品视频| 99国内精品久久| 国产欧美精品一区二区色综合朱莉| 美女视频黄 久久| 制服丝袜日韩国产| 亚洲一卡二卡三卡四卡无卡久久| 91在线国产福利| 国产精品拍天天在线| 国产成人精品亚洲日本在线桃色 | 免费成人美女在线观看| 欧美日韩另类一区| 亚洲在线观看免费视频| 91精品福利视频| 亚洲免费在线看| 色婷婷国产精品久久包臀| 亚洲黄一区二区三区| 91热门视频在线观看| 亚洲欧美日韩综合aⅴ视频| 91小视频免费观看| 自拍偷拍欧美激情| 色av成人天堂桃色av| 亚洲综合av网| 欧美日韩国产在线播放网站| 天天综合天天综合色| 制服丝袜中文字幕一区| 九九精品一区二区| 国产午夜亚洲精品羞羞网站| 成人一二三区视频| 17c精品麻豆一区二区免费| 色哟哟欧美精品| 日韩国产精品大片| 精品国精品国产尤物美女| 精品影院一区二区久久久| 久久久.com| 色综合久久天天| 日韩国产精品久久久久久亚洲| 精品久久久久久久久久久久久久久| 国模冰冰炮一区二区| 亚洲视频电影在线| 欧美日韩视频在线第一区 | 国产.精品.日韩.另类.中文.在线.播放| 久久精品亚洲精品国产欧美 | 国产大陆精品国产| 亚洲欧美偷拍卡通变态| 91精品欧美一区二区三区综合在| 久久国产成人午夜av影院| 国产精品国产三级国产普通话蜜臀 | 精品国产免费人成在线观看| jlzzjlzz亚洲女人18| 亚洲第一福利一区|