LPD1109
时间:10-02
整理:3721RD
点击:
#include <REG2051.H>
#define uchar unsigned char
sbit Data_in=P1^0;
sbit Data_clk=P1^1;
void DELAY_xus(uchar dd)
{
while(dd--);
}
void Send_Begin(void)//发同步帧
{
uchar i,PUB_Flage;
Data_clk=0;
Data_in =1;
DELAY_xus(1);
Data_clk=1;
Data_clk=0;
Data_in=0;
for(i=0;i<PUB_Flage;i++)
{
Data_clk = 0;
Data_clk = 1;
}
Data_in =0;
Data_clk =0;
}
void Send_start_bit(void)//发一个高电平的起始位
{
Data_clk = 0;
Data_in = 1;
DELAY_xus(1);
Data_clk = 1;
Data_clk = 0;
//DELAY_xus(1);
}
void Send_Data(uchar *dd,uchar len)// 带同步帧发数据
{
uchar i,j;
Send_Begin();
for(j=0;j<len;j++)
{
if((j%3)==0)Send_start_bit();
for(i=0;i<8;i++)
{
Data_clk=0;
if(dd[j]&0x80)Data_in=1;
else Data_in=0;
DELAY_xus(1);
Data_clk=1;
dd[j]=dd[j]<<1;
}
}
Data_in=0;
Data_clk=0;
}
void Send_Buff(uchar *dd,uchar len)//// 不带同步帧发数据
{
uchar i,j;
uchar cc;
for(j=0;j<len;j++)
{
if((j%3)==0)Send_start_bit();
cc=dd[j];
for(i=0;i<8;i++)
{
Data_clk=0;
if(cc&0x80)Data_in=1;
else Data_in=0;
DELAY_xus(1);
Data_clk=1;
cc=cc<<1;
}
}
Data_in=0;
Data_clk=0;
}
main()
{
while(1)
{
Send_Data();
}
}
请问,为什么,烧进单片机,会没有反应呢,程序哪儿出错了,请教高手
#define uchar unsigned char
sbit Data_in=P1^0;
sbit Data_clk=P1^1;
void DELAY_xus(uchar dd)
{
while(dd--);
}
void Send_Begin(void)//发同步帧
{
uchar i,PUB_Flage;
Data_clk=0;
Data_in =1;
DELAY_xus(1);
Data_clk=1;
Data_clk=0;
Data_in=0;
for(i=0;i<PUB_Flage;i++)
{
Data_clk = 0;
Data_clk = 1;
}
Data_in =0;
Data_clk =0;
}
void Send_start_bit(void)//发一个高电平的起始位
{
Data_clk = 0;
Data_in = 1;
DELAY_xus(1);
Data_clk = 1;
Data_clk = 0;
//DELAY_xus(1);
}
void Send_Data(uchar *dd,uchar len)// 带同步帧发数据
{
uchar i,j;
Send_Begin();
for(j=0;j<len;j++)
{
if((j%3)==0)Send_start_bit();
for(i=0;i<8;i++)
{
Data_clk=0;
if(dd[j]&0x80)Data_in=1;
else Data_in=0;
DELAY_xus(1);
Data_clk=1;
dd[j]=dd[j]<<1;
}
}
Data_in=0;
Data_clk=0;
}
void Send_Buff(uchar *dd,uchar len)//// 不带同步帧发数据
{
uchar i,j;
uchar cc;
for(j=0;j<len;j++)
{
if((j%3)==0)Send_start_bit();
cc=dd[j];
for(i=0;i<8;i++)
{
Data_clk=0;
if(cc&0x80)Data_in=1;
else Data_in=0;
DELAY_xus(1);
Data_clk=1;
cc=cc<<1;
}
}
Data_in=0;
Data_clk=0;
}
main()
{
while(1)
{
Send_Data();
}
}
请问,为什么,烧进单片机,会没有反应呢,程序哪儿出错了,请教高手
程序本身就有问题~!