📄 smproc2.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 + -