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

📄 smproc2.c

📁 A Digital Thermometer Using the AT89C2051 MCU
💻 C
字号:
@CODE_TAB = Listing 3.

@CODE_TAB = 

@CODE_TAB = /*  Simple Digital Thermometer using the AT89C2051 <R>
    J. Dybowski - 1995 <R>
*/

@CODE_TAB = 

@CODE_TAB = /* 8051 definitions */ <R>
#include sreg.h <R>
#include sbit.h 

@CODE_TAB = 

@CODE_TAB = /* I/O bits */ <R>
#define Led P3.7

@CODE_TAB = /* Global register (IRAM) data */ <R>
unsigned char register TempData[3];

@CODE_TAB = 

@CODE_TAB = main() <R>
{ <R>
<N>  unsigned char register *p; <R>
<N>  unsigned char c; <R>
<N>  unsigned int i;

@CODE_TAB = 

@CODE_TAB = <N>  serinit(9600);

@CODE_TAB = 

@CODE_TAB = <N>  TempConfigure(); <R>
<N>  TempConvert();

@CODE_TAB = 

@CODE_TAB = <N>  InitLcd(); <R>
<N>  PutString ("Mid-Tech"); <R>
<N>  putstr ("\nMid-Tech\n"); 

@CODE_TAB = 

@CODE_TAB = <N>  i = 0;

@CODE_TAB = 

@CODE_TAB =    for(;;) <R>
<N>  { <R>
<N>      p = TempData; <R>
<N>      c = TempRead(); <R>
<N>      c = (((c/2) * 9/5) + 32);

@CODE_TAB = <N>      if (c >><N>99) <R>
<N>      { <R>
<N>          *p++ = ((c / 100)  | '0'); <R>
<N>          c %= 100; <R>
<N>      } <R>
<N>      else <R>
<N>          *p++ = ('0');

@CODE_TAB = 

@CODE_TAB =        if (c >><N>9)        <R>
       { 

@CODE_TAB = <N>          *p++ = ((c / 10) | '0'); <R>
<N>          c %= 10;     

@CODE_TAB =        } <R>
<N>      else <R>
<N>          *p++ = ('0');

@CODE_TAB = 

@CODE_TAB = <N>      *p++ = (c | '0');

@CODE_TAB = 

@CODE_TAB =        PositionLcd(12);<R>
       for (c = 0; c  3; c++) <R>
<N>      PutChar(TempData[c]); <R>
<N>      PutChar(0xdf);

@CODE_TAB = 

@CODE_TAB = <N>      if (++i == 100) <R>
<N>      { <R>
<N>         i = 0; <R>
<N>         cplbit(Led) 

@CODE_TAB = 

@CODE_TAB = <N>         for (c = 0; c  3; c++) <R>
<N>            putch(TempData[c]); <R>
<N>         putch('\n'); <R>
<N>      }

@CODE_TAB = <N>   }

@CODE_TAB = }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -