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 + -
显示快捷键?