#include<REGX52.H>
#include<intrins.h>
#define uchar unsigned char
sbit clk=P3^6;
sbit dq=P3^7;
sbit cs=P3^5;
//static unsigned char count=0;
static unsigned char h;
void initialcom1(void);
uchar readdq(void);
uchar readdq(void)
{
uchar i,DATA=0;
cs=0;
clk=0;
dq=1;
_nop_();
clk=1; //start
_nop_();
clk=0;
_nop_();
clk=1;
_nop_();
clk=0;
dq=1;
_nop_();
clk=1; //channdl
_nop_();
clk=0;
dq=1;
_nop_();
clk=1;
_nop_();
for(i=0;i<100;1++);
for(i=0;i<8;i++)
{
clk=0;
_nop_();
clk=1;
_nop_();
DATA=(DATA<<1)|dq;
_nop_();
}
cs=1;
return(DATA);
}
void initialcom1(void)
{
TMOD=0x20;
TH1=0xe8;
TL1=0xe8;
SCON=0x50;
PCON=0x00;
TR1=1;
//ET1=1;
ES=1;
EA=1;
}
void main(void)
{
intialcom1();
do
{
h=readdq();
SBUF=h;
EA=0;
while(TI==0);
TI=0;
EA=1;
}while(1);
}
评论0