/*AD 数据转换,通过 LED1~LED4 and LED10~LED13 显示*/
#include
#include
#define uint unsigned int
#define uchar unsigned char
sbit clk=P3^2;
sbit odata=P3^3;
sbit cs=P3^4;
sbit sck=P1^1;
sbit rck=P1^2;
sbit sdi=P1^4;
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=64;y>0;y--);
}
/*****************************/
/*****************************/
uchar AD()
{
uchar i,temp=0x00;
clk=0;
cs=0;
for(i=0;i<8;i++)
{
_nop_();
clk=1;
temp=(temp<<1)|odata;
clk=0;
}
cs=1;
return temp;
}
/*****************************/
/*****************************/
void light_8(uchar i)
{
uchar j,temp=i;
sdi=0;
sck=0;
rck=0;
for(j=0;j<8;j++)
{
temp=temp<<1;
sdi=CY;
sck=1;
_nop_();
sck=0;
}
rck=1;
_nop_();
_nop_();
rck=0;
}
void main()
{
uchar i;
while(1)
{
i=AD();
light_8(i);
delay(200);
}
}