📄 getkey.h
字号:
#include <reg51.h>
#include <absacc.h>
#include <intrins.h>
#include "LCD.h"
sbit yearUp = P0^7;
sbit yearDown = P0^6;
sbit monthUp = P0^5;
sbit monthDown = P0^4;
sbit dayUp = P0^3;
sbit dayDown = P0^2;
void GetCurrentDay()
{
uchar a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; // 每月天数数组
ReadSerial(dataBuf);
currentYear = 2000 + ((dataBuf[6] & 0xf0) >> 4) * 10 + (dataBuf[6] & 0x0f);
currentMonth = ((dataBuf[4] & 0xf0) >> 4) * 10 + (dataBuf[4] & 0x0f);
currentDay = ((dataBuf[3] & 0xf0) >> 4) * 10 + (dataBuf[3] & 0x0f);
n_currentMon = a[currentMonth];
n_lastMon = a[currentMonth - 1];
}
void KeyDelay(uchar i)
{
while(i--);
}
void KeyYearUp()
{
currentYear++;
}
void KeyYearDown()
{
currentYear--;
}
void KeyMonthUp()
{
if (currentMonth == 12)
{
currentYear++;
currentMonth = 1;
}
else
{
currentMonth++;
}
}
void KeyMonthDown()
{
if (currentMonth == 1)
{
currentYear--;
currentMonth = 12;
}
else
{
currentMonth--;
}
}
void KeyDayUp()
{
if (currentDay == 1)
{
if (currentMonth == 1) /*当前天数为1且当前月为1时:*/
{ /*变为上年最后一月最后一天*/
currentYear--;
currentMonth = 12;
currentDay = 31;
}
else /*当前天数为1时:*/
{ /*变为上月最后一天*/
currentMonth--;
currentDay = n_lastMon;
}
}
else
{
currentDay--;
}
}
void KeyDayDown()
{
if (currentDay == n_currentMon)
{
if (currentMonth == 12) /*当前天数为本月最后一天且当前月为本年最后一月时:*/
{ /*变为下年第一月第一天*/
currentYear++;
currentMonth = 1;
currentDay = 1;
} /*当前天数为本月最后一天时:*/
else /*变为下月第一天*/
{
currentMonth++;
currentDay = 1;
}
}
else
{
currentDay++;
}
}
void GetKeyValue(void)
{
EA = 0;
// if ((!yearUp) || (!yearDown) || (!monthUp) || (!monthDown) || (!dayUp) || (!dayDown))
// {
// KeyDelay(2000);
if (!yearUp)
{
while (!yearUp)
{
KeyDelay(1000);
}
KeyYearUp();
}
else if (!yearDown)
{
while (!yearDown)
{
KeyDelay(1000);
}
KeyYearDown();
}
else if (!monthUp)
{
while (!monthUp)
{
KeyDelay(1000);
}
KeyMonthUp();
}
else if (!monthDown)
{
while (!monthDown)
{
KeyDelay(1000);
}
KeyMonthDown();
}
else if (!dayUp)
{
while (!dayUp)
{
KeyDelay(1000);
}
KeyDayUp();
}
else if (!dayDown)
{
while (!dayDown)
{
KeyDelay(1000);
}
KeyDayDown();
}
// }
EA = 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -