📄 cewen.c
字号:
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar tplsb,tpmsb;
sbit DQ=P3^7;
void delay(uint t);
void TxReset(void);
void RxWait(void);
bit RdBit(void);
uchar RdByte(void);
void WrByte(uchar b);
void convert(void);
void RdTemp(void);
main()
{
do
{ delay(1);
convert();
delay(1000);
RdTemp();
}
while(1);
}
void delay(uint t)
{
uint i;
while(t--)
{
for(i=0;i<125;i++)
{}
}
}
void TxReset(void)
{
uint i;
DQ=0;
i=100;
while(i>0) i--;
DQ=1;
i=4;
while(i>0) i--;
}
void RxWait(void)
{
uint i;
while(DQ);
while(~DQ);
i=4;
while(i>0) i--;
}
bit RdBit(void)
{ uint i;
bit b;
DQ=0;
i++;
DQ=1;
i++; i++;
b=DQ;
i=8;
while(i>0) i--;
return (b);
}
uchar RdByte(void)
{
uchar i,j,b;
b=0;
for(i=1;i<=8;i++)
{
j=RdBit();
b=(j<<7)|(b>>1);
}
return(b);
}
void WrByte(uchar b)
{
uint i;
uchar j;
bit btmp;
for(j=1;j<=8;j++)
{
btmp=b&0x01;
b=b>>1;
if(btmp)
{
DQ=0;
i++;i++;
DQ=1;
i=8;
while(i>0) i--;
}
else
{
DQ=0;
i=8;
while(i>0) i--;
DQ=1;
i++;
i++;
}
}
}
void convert(void)
{
TxReset();
RxWait();
delay(1);
WrByte(0xcc);
WrByte(0x44);
}
void RdTemp(void)
{ char a,b,c;
TxReset();
RxWait();
delay(1);
WrByte(0xcc);
WrByte(0xbe);
tplsb=RdByte();
tpmsb=RdByte();
a=tplsb<<4;
a>>=4;
b=tplsb>>4;
c=tpmsb<<5;
c>>=5;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -