功能:
1.可以 年 月 日 时 分 秒显示和闹钟功能 能通过8个按键自由调整 时 分 秒 闹钟响铃时间。
2.带复位按键,要是模块抽风,摁复位按键即可!
3.使用 LCD16020A 屏幕显示 屏幕电路设有电位器,可以调整清自由屏幕晰度。
#include "Buzzer.h"
void Buzzer(unsigned int Xms)
{
unsigned int i;
for (i = 2*Xms; i > 0; i--)
{
BUZZ = !BUZZ;
Delay384us();
// Delay(1);
}
for (i = Xms; i > 0; i--)
{
BUZZ = !BUZZ;
// Delay500us();
Delay500us();
}
}
void Delay769us() //@12.000MHz
{
unsigned char i, j;
_nop_();
i = 2;
j = 123;
do
{
while (--j);
} while (--i);
}
void Delay1ms() //@12.000MHz
{
unsigned char i, j;
i = 2;
j = 239;
do
{
while (--j);
} while (--i);
}
void Delay384ms() //@12.000MHz
{
unsigned char i, j, k;
_nop_();
i = 3;
j = 236;
k = 13;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void Delay500us() //@12.000MHz
{
unsigned char i;
_nop_();
i = 247;
while (--i);
}
void Delay384us() //@12.000MHz
{
unsigned char i;
_nop_();
i = 189;
while (--i);
}
/**
* @brief 独立按键——普中开发板
* @param 无
* @arg
* @retval 按键序号
*/
#include"Key.h"
#include"Delay.h"
unsigned char Key_Scan()
{
unsigned char KeyNum = 0;
if ( 0 == Key1)
{
Delay(10);
if (0 == Key1)
{
KeyNum = 1; //键值编码,赋键值,不直接做按键功能
} while (0 == Key1);
}
if ( 0 == Key2)
{
Delay(10);
if (0 == Key2)
{
KeyNum = 2; //键值编码,赋键值,不直接做按键功能
} while (0 == Key2);
}
if ( 0 == Key3)
{
Delay(10);
if (0 == Key3)
{
KeyNum = 3; //键值编码,赋键值,不直接做按键功能
} while (0 == Key3);
}
if ( 0 == Key4)
{
Delay(10);
if (0 == Key4)
{
KeyNum = 4; //键值编码,赋键值,不直接做按键功能
} while (0 == Key4);
}
if ( 0 == Key5)
{
Delay(10);
if (0 == Key5)
{
KeyNum = 5; //键值编码,赋键值,不直接做按键功能
} while (0 == Key5);
}
if ( 0 == Key6)
{
Delay(10);
if (0 == Key6)
{
KeyNum = 6; //键值编码,赋键值,不直接做按键功能
} while (0 == Key6);
}
if ( 0 == Key7)
{
Delay(10);
if (0 == Key7)
{
KeyNum = 7; //键值编码,赋键值,不直接做按键功能
} while (0 == Key7);
}
if ( 0 == Key8)
{
Delay(10);
if (0 == Key8)
{
KeyNum = 8; //键值编码,赋键值,不直接做按键功能
} while (0 == Key8);
}
return KeyNum;
}
资料借鉴于此 纷传
阅读全文