查看: 5130|回復: 6
打印 上一主題 下一主題

[提問(wèn)] AT89C51電子時(shí)鐘按鍵問(wèn)題

[復制鏈接]
跳轉到指定樓層
樓主
發(fā)表于 2012-12-6 17:14:36 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
關(guān)鍵詞: 電子時(shí)鐘 , AT89C51
實(shí)現電子時(shí)鐘的功能,并可以通過(guò)按鍵調時(shí)間
#include
unsigned char i=20,led0=0,led1=0,led2=0,led3=0,led4=0,led5=0,sec=0,min=0,min1=0,min2=0,hour1=0,hour2,hour=0;unsigned char display[10]={0x3f,0x6,0x5b,0x4f,0x66,0x6d,0x7d,0x7,0x7f,0x6f};                                               
void delay(unsigned char x)         //延時(shí)函數程序
{      
     unsigned char k;   
    while(x--)               
    for(k=0;k<125;k++)
     {}
}
void button()
{  
         switch(P0)        //BUTTON            
     {        
        case 0xfe:P2=0xfc;    P1=led2;  delay(1);          //led2 min1                 
          min1++;                 
         if(min1==10)                  
         {                        
                  min1=0;         
          }         
              led2=display[min1];     break;
                   case 0xfd: P2=0xfb;    P1=led3;  delay(1);         //led3 min2                 
           min2++;                    
   if(min2==10)                    
       {                          
          min2=0;                           
           }                  
      led3=display[min2];     break;      
                  case 0xfb: P2=0xf9;    P1=led4;  delay(1);           //led4 hour1                       
      hour1++;                    
   if(hour1==2)                    
       {                        
         hour1=0;                     
          }               
         led4=display[hour1];  break;              
                case 0xf7:         P2=0xf8;    P1=led5;  delay(1);         //led5 hour2           
                  hour2++;                  
     if(hour2==10)                       
    {                        
         hour2=0;                  
                   }                 
       led5=display[hour2];                break;      
  } }               
void main( )   //主函數
{        
TMOD=0x01;  
                        TH0=0x3c;      
       TL0=0xb0;         
    EA=1;               
              ET0=1;     
                               TR0=1;      
                      while(1) //74LS138選址   
            {         
           button();                        
           P2=0xff;    P1=led0;  delay(1);                 
             P2=0xfe;    P1=led1;  delay(1);
               P2=0xfc;    P1=led2;  delay(1);            
             P2=0xfb;    P1=led3;  delay(1);
               P2=0xf9;    P1=led4;  delay(1);        
             P2=0xf8;    P1=led5;  delay(1);              
               }      
  }        

void  T0_int(void)  interrupt 1  //中斷程序{      
TH0=0x3c;                        
   TL0=0xb0;         
i--;                                 
  if(i<=0)              
  {                       
sec++;                  
      if(sec==60)                 
               {                  
                sec=0;         
                        min++;         
                      }                  
     led0=display[sec%10];         
               led1=display[sec/10];      
                 if(min==60)              
             {                        
    min=0;                       
      hour++;                    
       }                     
  led2=display[min%10];         
              led3=display[min/10];         
               if(hour==24)                    
       {                          
   hour=0;                     
      }                    
    led4=display[hour%10];        
                led5=display[hour/10];      
             i=20;                           
     }}
沙發(fā)
 樓主| 發(fā)表于 2012-12-6 17:18:22 | 只看該作者
可以正常的運行,但就是按鍵不了,求解答
板凳
發(fā)表于 2012-12-10 21:52:10 | 只看該作者
大部分時(shí)間在執行延時(shí)程序。
地板
 樓主| 發(fā)表于 2012-12-11 10:28:05 | 只看該作者
terrysun 發(fā)表于 2012-12-10 21:52
大部分時(shí)間在執行延時(shí)程序。

恩恩額,現在搞定了,謝啦!
地下室
發(fā)表于 2012-12-25 16:34:54 | 只看該作者
又學(xué)了一點(diǎn)。謝謝了。
6
發(fā)表于 2012-12-27 08:47:31 | 只看該作者
學(xué)習了,謝謝
7
 樓主| 發(fā)表于 2012-12-27 09:09:41 | 只看該作者
wuweimang 發(fā)表于 2012-12-27 08:47
學(xué)習了,謝謝

好好努力噢噢噢噢噢噢
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页