freescale

来自「Freescale 系列单片机常用模块与综合系统设计」· 代码 · 共 534 行

TXT
534
字号
#include  "Variable.h"
#include  "buzzer.h"
#include  "LCD1602.h"

/*----------------------------------------------------------------------------*
* 函数:  Time_Conver                                                        *
* 功  能:   数据类型转换函数                                             *
*                                                                                            *
*参  数:    无                                                                         *
*返  回:    无                                                                         *
*-----------------------------------------------------------------------------*/ 
void  Time_Conver(void)
{
   time1[0] = time[0] / 10 + 0x30;
   time1[1] = time[0] % 10 + 0x30;
   time1[2] = time[1] / 10 + 0x30;
   time1[3] = time[1] % 10 + 0x30;
   time1[4] = '.';
   
   time1[5] = time[2] / 10 + 0x30;
   time1[6] = time[2] % 10 + 0x30;
   time1[7] = '.';
   
   time1[8] = time[3] / 10 + 0x30;
   time1[9] = time[3] % 10 + 0x30;
   
   time1[10] = time[4] / 10 + 0x30;
   time1[11] = time[4] % 10 + 0x30;
   time1[12] = ':';
   
   time1[13] = time[5] / 10 + 0x30;
   time1[14] = time[5] % 10 + 0x30;
   time1[15] = ':';
   
   time1[16] = time[6] / 10 + 0x30;
   time1[17] = time[6] % 10 + 0x30;
}

/*----------------------------------------------------------------------------*
* 函数:  Alarm_Time                                                           *
* 功  能:   蜂鸣器响函数                                                     *
*                                                                                            *
*参  数:    无                                                                         *
*返  回:    无                                                                         *
*-----------------------------------------------------------------------------*/ 
void  Alarm_Time(Uchar n)
{
  Uchar  i,k;
  
  for(i = 0; i < n; i++)
  {
    buzzer_PutVal(1);
    for(k = 0; k < 150; k++)
    WaitNms(100);
    buzzer_PutVal(0);
    for(k = 0; k < 150; k++)
    WaitNms(100);
  }
}    

/*----------------------------------------------------------------------------*
* 函数:  Init_Time                                                              *
* 功  能:   时间变量初始化函数                                         *
*                                                                                            *
*参  数:    无                                                                         *
*返  回:    无                                                                         *
*-----------------------------------------------------------------------------*/ 
void Init_Time(void)
 {
   time[0] = 20;
   time[1] = 8;
   time[2] = 6;
   time[3] = 18;
   time[4] = 23;
   time[5] = 59;
   time[6] = 54;
 }
 
 /*----------------------------------------------------------------------------*
* 函数:  Set_Time                                                              *
* 功  能:   时间设置函数                                                     *
*                                                                                            *
*参  数:    无                                                                         *
*返  回:    无                                                                         *
*-----------------------------------------------------------------------------*/ 
 void Set_Time(void)
 {
   Uchar  a[11] = "input date:";
   Uchar  b[11] = "input time:";
   Uchar y[2];

   begin:
   Lcd_Show_Line1((unsigned char *)a, 11); 
   
   while( KB_valve != 0xff )           //松开跳出
   {
      KB_valve = KB_Scan(); 
   }  
   while( KB_valve == 0xff)        //有按键跳出
   {
      KB_valve = KB_Scan(); 
    } 
    
   KB_valve = KB_Def(KB_valve);  //键值转化为定义值
   y[0] = KB_valve - 0x30;
   Lcd_Show_Line2(KB_valve);
   
   while(KB_valve != 0xff)       
   {
      KB_valve = KB_Scan(); 
    }  
   while(KB_valve == 0xff)     
   {
      KB_valve = KB_Scan(); 
   } 
   KB_valve = KB_Def(KB_valve);  
   y[1] = KB_valve - 0x30;
   Lcd_Show_Line2(KB_valve);
     
   time[0] = y[0] * 10 + y[1];
   
   while(KB_valve != 0xff)       
   {
      KB_valve = KB_Scan(); 
   } 
   while(KB_valve == 0xff)      
   {
      KB_valve = KB_Scan(); 
   } 
   KB_valve = KB_Def(KB_valve);  
   y[0] = KB_valve - 0x30;
   Lcd_Show_Line2(KB_valve);
   
   while(KB_valve != 0xff)
   {
      KB_valve = KB_Scan(); 
   }  
   while(KB_valve == 0xff)
   {
      KB_valve = KB_Scan(); 
   } 
   KB_valve = KB_Def(KB_valve);  
   y[1] = KB_valve - 0x30;
   Lcd_Show_Line2(KB_valve);
   
   time[1] = y[0] * 10 + y[1];
   
   Lcd_Show_Line2('.');
   
   while(KB_valve != 0xff)
   {
      KB_valve = KB_Scan(); 
   }  
   while(KB_valve == 0xff)
   {
      KB_valve = KB_Scan(); 
   } 
   KB_valve = KB_Def(KB_valve);  
   y[0] = KB_valve - 0x30;
   if ( y[0] > 1)
   {
         goto begin;
   }
   Lcd_Show_Line2(KB_valve);
   
   while ( KB_valve != 0xff)
   {
      KB_valve=KB_Scan(); 
   }  
   while ( KB_valve == 0xff)
   {
      KB_valve = KB_Scan(); 
   } 
   KB_valve = KB_Def(KB_valve);  
   y[1] = KB_valve - 0x30;
   Lcd_Show_Line2(KB_valve);
     
   time[2] = y[0] * 10 + y[1];
   Lcd_Show_Line2('.');

   while ( KB_valve != 0xff)
   {
      KB_valve = KB_Scan(); 
   } 
   while ( KB_valve == 0xff)
   {
      KB_valve = KB_Scan(); 
   } 
   KB_valve = KB_Def(KB_valve);  
   y[0] = KB_valve - 0x30;
   if ( y[0] > 3)
   {
      goto begin;
   }
   Lcd_Show_Line2(KB_valve);
      
   while( KB_valve != 0xff)
   {
      KB_valve = KB_Scan(); 
   } 
   while(KB_valve == 0xff)
   {
      KB_valve = KB_Scan(); 
   } 
   KB_valve = KB_Def(KB_valve);  
   y[1] = KB_valve - 0x30;
   Lcd_Show_Line2(KB_valve);
   
   time[3] = y[0] * 10 + y[1];
   
   Lcd_Show_Line1((unsigned char *)b, 11);
     
   while(KB_valve != 0xff)
   {
      KB_valve = KB_Scan(); 
   }  
   while(KB_valve == 0xff)
   {
      KB_valve = KB_Scan(); 
   } 
   KB_valve = KB_Def(KB_valve);  
   y[0] = KB_valve - 0x30;
   if( y[0] > 2)
   {
      goto begin;
   }
   Lcd_Show_Line2(KB_valve);
   
   while(KB_valve != 0xff)
   {
      KB_valve = KB_Scan(); 
   }  
   while(KB_valve == 0xff)
   {
      KB_valve = KB_Scan(); 
   } 
   KB_valve = KB_Def(KB_valve);  
   y[1] = KB_valve - 0x30;
   Lcd_Show_Line2(KB_valve);
   
   time[4] = y[0] * 10 + y[1];
   Lcd_Show_Line2(':');

   
   while(KB_valve != 0xff)
   {
      KB_valve = KB_Scan(); 
   }  
   while(KB_valve == 0xff)
   {
      KB_valve = KB_Scan(); 
   } 
   KB_valve = KB_Def(KB_valve);  
   y[0] = KB_valve - 0x30;
   if( y[0] > 6)
   {
      goto begin;
   }
    Lcd_Show_Line2(KB_valve);
   
   while(KB_valve != 0xff)
   {
      KB_valve = KB_Scan(); 
   }  
   while(KB_valve == 0xff)
   {
      KB_valve = KB_Scan();
   } 
   KB_valve = KB_Def(KB_valve);  
   y[1] = KB_valve - 0x30;
   Lcd_Show_Line2(KB_valve);
   
   time[5] = y[0] * 10 + y[1];
   Lcd_Show_Line2(':');

   
   while(KB_valve != 0xff)
   {
      KB_valve = KB_Scan(); 
   }
   while(KB_valve == 0xff)
   {
      KB_valve = KB_Scan(); 
   } 
   KB_valve = KB_Def(KB_valve); 
   y[0] = KB_valve - 0x30;
   if( y[0] > 9)
   {
     goto begin;
   }
   Lcd_Show_Line2(KB_valve);
   
   while(KB_valve != 0xff)
   {
      KB_valve = KB_Scan(); 
   } 
   while(KB_valve == 0xff)
   {
      KB_valve = KB_Scan(); 
   } 
   KB_valve = KB_Def(KB_valve); 
   y[1] = KB_valve-0x30;
  Lcd_Show_Line2(KB_valve);
   
   time[6] = y[0] * 10 + y[1];
   
   Time_Conver();
   Lcd_Show((unsigned char *)time1);
}

 /*----------------------------------------------------------------------------*
* 函数:  Set_Alarm_Clock                                                  *
* 功  能:   报警时间设置函数                                             *
*                                                                                            *
*参  数:    无                                                                         *
*返  回:    无                                                                         *
*-----------------------------------------------------------------------------*/    
void  Set_Alarm_Clock(void)
{
   Uchar  y[2];
   Uchar  a[] = "alarm date:";
   Uchar  b[] = "alarm time:";
 
   begin:
   Lcd_Show_Line1((unsigned char *)a,11);
   
   while(KB_valve != 0xff)     //松开跳出
   {
      KB_valve = KB_Scan(); 
   }  
   while(KB_valve == 0xff)     //有按键跳出
   {
      KB_valve = KB_Scan(); 
   }
   KB_valve = KB_Def(KB_valve);  //键值转化为定义值
   y[0] = KB_valve - 0x30;
   Lcd_Show_Line2(KB_valve);
   
   while(KB_valve != 0xff)
   {
      KB_valve = KB_Scan(); 
   }  
   while(KB_valve == 0xff)
   {
      KB_valve = KB_Scan(); 
   } 
   KB_valve = KB_Def(KB_valve);  
   y[1] = KB_valve-0x30;
   Lcd_Show_Line2(KB_valve);

   time2[0] = y[0] * 10 + y[1];
   
   while(KB_valve != 0xff)
   {
      KB_valve = KB_Scan(); 
   } 
   while(KB_valve == 0xff)
   {
      KB_valve = KB_Scan(); 
   } 
   KB_valve = KB_Def(KB_valve);  
   y[0] = KB_valve - 0x30;
   Lcd_Show_Line2(KB_valve);
   
   while(KB_valve != 0xff)
   {
      KB_valve = KB_Scan(); 
   } 
   while(KB_valve == 0xff)
   {
      KB_valve = KB_Scan(); 
   } 
   KB_valve = KB_Def(KB_valve);  
   y[1] = KB_valve - 0x30;
   Lcd_Show_Line2(KB_valve);
   
   time2[1] = y[0] * 10 + y[1];
   
   Lcd_Show_Line2('.');
    
   while(KB_valve != 0xff)
   {
      KB_valve = KB_Scan(); 
   } 
   while(KB_valve == 0xff)
   {
      KB_valve = KB_Scan(); 
   } 
   KB_valve = KB_Def(KB_valve);  
   y[0] = KB_valve - 0x30;
   if( y[0] > 1)
   {
      goto begin;
   }
   Lcd_Show_Line2(KB_valve);
   
   while(KB_valve != 0xff)
   {
      KB_valve = KB_Scan(); 
   }  
   while(KB_valve == 0xff)
   {
      KB_valve = KB_Scan(); 
   } 
   KB_valve =KB_Def(KB_valve);  
   y[1] = KB_valve - 0x30;
   Lcd_Show_Line2(KB_valve);
   
   time2[2] = y[0] * 10 + y[1];
   Lcd_Show_Line2('.');
   
   while(KB_valve != 0xff)
   {
      KB_valve = KB_Scan(); 
   }  
   while(KB_valve == 0xff)
   {
      KB_valve = KB_Scan(); 
   } 
   KB_valve = KB_Def(KB_valve);  
   y[0] = KB_valve - 0x30;
   if( y[0] > 3)
   {
      goto begin;
   }
   Lcd_Show_Line2(KB_valve);
   
   while(KB_valve != 0xff)
   {
      KB_valve = KB_Scan(); 
   }  
   while(KB_valve == 0xff)
   {
      KB_valve = KB_Scan(); 
   } 
   KB_valve =KB_Def(KB_valve);  
   y[1] = KB_valve - 0x30;
   Lcd_Show_Line2(KB_valve);
   
   time2[3] = y[0] * 10 + y[1]; 
   Lcd_Show_Line1((unsigned char *)b, 11);
   
   while(KB_valve != 0xff)
   {
      KB_valve = KB_Scan(); 
   }  
   while(KB_valve == 0xff)
   {
      KB_valve = KB_Scan(); 
   } 
   KB_valve = KB_Def(KB_valve);  
   y[0] = KB_valve - 0x30;
   if(y[0] > 2)
   {
     goto begin;
   }
   Lcd_Show_Line2(KB_valve);
   
   while(KB_valve != 0xff)
   {
      KB_valve = KB_Scan(); 
   }  
   while(KB_valve == 0xff)
   {
      KB_valve = KB_Scan(); 
   } 
   KB_valve = KB_Def(KB_valve);  
   y[1] = KB_valve - 0x30;
   Lcd_Show_Line2(KB_valve);
   
   time2[4] = y[0] * 10 + y[1];
   Lcd_Show_Line2(':');
   
   while(KB_valve != 0xff)
   {
      KB_valve = KB_Scan(); 
   } 
   while(KB_valve == 0xff)
   {
      KB_valve = KB_Scan(); 
   } 
   KB_valve = KB_Def(KB_valve);  
   y[0] = KB_valve - 0x30;
   if( y[0] > 6)
   {
     goto begin;
   }
   Lcd_Show_Line2(KB_valve);
   
   while(KB_valve != 0xff)
   {  
      KB_valve = KB_Scan();
   }  
   while(KB_valve == 0xff)
   {
      KB_valve = KB_Scan(); 
   } 
   KB_valve =KB_Def(KB_valve);  
   y[1] = KB_valve - 0x30;
   Lcd_Show_Line2(KB_valve);
   
   time2[5] = y[0] * 10 + y[1];
   Lcd_Show_Line2(':');
   
   while(KB_valve != 0xff)
   {
      KB_valve=KB_Scan(); 
   }  
   while(KB_valve == 0xff)
   {
      KB_valve = KB_Scan(); 
   } 
   KB_valve = KB_Def(KB_valve);  
   y[0] = KB_valve - 0x30;
   if(y[0] > 6)
   {
     goto begin;
   }
   Lcd_Show_Line2(KB_valve);
   
   while(KB_valve != 0xff)
   {
      KB_valve = KB_Scan(); 
   }  
   while(KB_valve == 0xff)
   {
      KB_valve = KB_Scan(); 
   } 
   KB_valve = KB_Def(KB_valve);  
   y[1] = KB_valve - 0x30;
   Lcd_Show_Line2(KB_valve);
   time2[6] = y[0] * 10 + y[1]; 
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?