微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > LPD1109

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();
   }
  
}
请问,为什么,烧进单片机,会没有反应呢,程序哪儿出错了,请教高手

程序本身就有问题~!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top