#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit SER=P1^0;
sbit RCK=P1^1;
sbit SCK=P1^2;
uchar code we[]={0x00};
uchar code du[]={0xff};
void delayms(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void in_data(uchar Hdat,uchar Ldat)
{
uint i,j;
RCK=0;
SCK=0;
for(i=0;i<8;i++)
{
if((Hdat&0x80)==1)
SER=1;
else
SER=0;
RCK=1;
_nop_();
RCK=0;
Hdat<<=1;
}
for(j=0;j<8;j++)
{
if((Ldat&0x80)==1)
SER=1;
else
SER=0;
RCK=1;
_nop_();
RCK=0;
Ldat<<=1;
}
SCK=1;
SCK=0;
}
void main()
{
in_data(du[0],we[0]);
while(1);
}
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit SER=P1^0;
sbit RCK=P1^1;
sbit SCK=P1^2;
uchar code we[]={0x00};
uchar code du[]={0xff};
void delayms(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void in_data(uchar Hdat,uchar Ldat)
{
uint i,j;
RCK=0;
SCK=0;
for(i=0;i<8;i++)
{
if((Hdat&0x80)==1)
SER=1;
else
SER=0;
RCK=1;
_nop_();
RCK=0;
Hdat<<=1;
}
for(j=0;j<8;j++)
{
if((Ldat&0x80)==1)
SER=1;
else
SER=0;
RCK=1;
_nop_();
RCK=0;
Ldat<<=1;
}
SCK=1;
SCK=0;
}
void main()
{
in_data(du[0],we[0]);
while(1);
}