📄 main.c
字号:
#include "ds18b20.h"
#include "lcd.h"
#include "uart.h"
#include "datetime.h"
#include "keyboard.h"
#include "os.h"
#include "voice.h"
#include "REGX51.H"
void main(void)
{
BYTE gt;
// uartInit();
dttInit();
lcdInit();
vocInit();
EA = 1;
osBootLogo();
gt = UIGT_DESKTOP;
while (1)
{
switch (gt)
{
case UIGT_DESKTOP:
osDesktop();
gt = UIGT_MENU;
break;
case UIGT_SEL_SER_DEVICE:
osSelectSearchDevice();
gt = UIGT_DESKTOP;
break;
case UIGT_MENU:
gt = osMenu();
break;
case UIGT_SET_DATETIME:
osSetDateTime();
gt = UIGT_DESKTOP;
break;
case UIGT_SET_ALARM:
osSetAlarm();
gt = UIGT_DESKTOP;
break;
case UIGT_SET_VOICE:
osSetVoice();
gt = UIGT_DESKTOP;
break;
default:
gt = UIGT_DESKTOP;
}
}
}
/////////////////////////////////////////////////////////////////////////
void ConvertCtoF(TEMPE* pT)
{
BYTE tmp;
short* pShort;
tmp = pT->th;
pT->th = pT->tl;
pT->tl = tmp;
pShort =(short*) pT;
*pShort *= 9;
*pShort /= 5;
*pShort += (32*16);
tmp = pT->th;
pT->th = pT->tl;
pT->tl = tmp;
}
/*
void ConvertFtoC(TEMPE* pT)
{
short* pShort = pT;
pShort[0] = ((pShort[0] - 32) * 5) / 9;
}
*/
void DelayX1ms(BYTE x1ms)
{
BYTE i,j,k;
for (i=0;i<x1ms;i++)
for (j=0;j<83;j++)
for (k=0;k<2;k++) ;
}
/*
void FormatTempeToStr(TEMPE* pT, char* pBuf)
//buf must great than 7
//-mmm.nn
{
BYTE m,n;
// 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
const BYTE code div[] = { 00, 06, 13, 19, 25, 31, 38, 44, 50, 56, 63, 69, 75, 81, 88, 94, };
// const BYTE -div[] = { 94, 88, 81, 75, 69, 63, 56, 50, 44, 38, 31, 25, 19, 16, 06, 00, }; //正的倒序
m = ((pT->th << 4) & 0xf0) | ((pT->tl >> 4) & 0x0f);
if (pT->th & 0x80)
{
pBuf[0] = '-';
m = ~m;
n = div[(16 - pT->tl) & 0x0f];
}
else
{
pBuf[0] = '+';
n = div[pT->tl & 0x0f];
}
pBuf[1] = '0' + (m/100); m%=100;
pBuf[2] = '0' + (m/10); m%=10;
pBuf[3] = '0' + m;
pBuf[4] = '.';
pBuf[5] = '0' + (n / 10);
pBuf[6] = '0' + (n % 10);
pBuf[7] = 0;
}
BYTE FormatStrToByte(char* pBuf)
{
BYTE rt,i,v;
rt = 0;
i = 0;
while (pBuf[i])
{
v = pBuf[i];
v -= '0';
if (v < 10)
{
rt *= 10;
rt += pBuf[i];
}
else
{
break;
}
i++;
if (i>100) break;
}
return rt;
}
void FormatHexToStr(BYTE n, char* pBuf)
{
pBuf[0] = (n >> 4) & 0x0f;
pBuf[1] = n & 0x0f;
pBuf[2] = 0;
if (pBuf[0] < 0x0a) pBuf[0] += '0';
else pBuf[0] += ('A' - 0x0a);
if (pBuf[1] < 0x0a) pBuf[1] += '0';
else pBuf[1] += ('A' - 0x0a);
}
char* FormatUIntToStr(BYTE n, char* pBuf, BIT bKillZero) //buf must great than 4
{
char* rt;
pBuf[3] = 0;
pBuf[2] = '0' + (n % 10); n /= 10;
pBuf[1] = '0' + (n % 10); n /= 10;
pBuf[0] = '0' + n;
rt = pBuf;
while (bKillZero && rt<pBuf+2)
{
if (rt[0]=='0')
{
rt[0]=' ';
rt++;
}
else
{
break;
}
}
return rt;
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -