⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 这是广西大学生设计大赛的源码
💻 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 + -