微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 求助!发送这条指令哪里出错了?

求助!发送这条指令哪里出错了?

时间:10-02 整理:3721RD 点击:
#include<reg52.h>  
#include<intrins.h>   
#define uint unsigned int   
#define uchar unsigned char
sbit CLK=P1^5;
sbit DATA=P1^6;
sbit FSR=P1^7;
void delay_8us(unsigned int t)
{        while(--t); }           //延时8us  晶振11.0592
void delayms(unsigned int x)    //延时1ms
{  unsigned char j;
while(x--) {for(j=0;j<123;j++){;}}
}
void delay10us()    //延时10us
{  _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
}
void Init()  
{  
   CLK=1;
   DATA=1;
   FSR=1; delay10us();
   FSR=0; delay10us();  
   CLK=0; delay10us();
   DATA=0; delay10us();
   FSR=1;  delayms(4);
}                                                               
void writeOnecom(uchar dat0,uchar dat1,uchar dat2)
{  uchar i,x,j;
   for(i=8;i>0;i--)
   { DATA=dat0&0x01;
         CLK=1;delay_8us(5);
         CLK=0;delay_8us(5);
         dat0>>=1;
         }                             //不用延时
        for(x=8;x>0;x--)
   { DATA=dat1&0x01;
         CLK=1;delay_8us(5);
         CLK=0;delay_8us(5);
         dat1>>=1;
         }                                  //不用延时
         for(j=8;j>0;j--)
   {         
            DATA=dat2&0x01;
         CLK=1;delay_8us(5);
         CLK=0;delay_8us(5);
         dat2>>=1;
         }         delayms(100);         //延时50-100ms
           FSR=0; _nop_();_nop_();_nop_();_nop_();_nop_();  
        CLK=0;_nop_();_nop_();
        DATA=0; delayms(30);
}
void YL_Init()
{                                                                                                           
Init();writeOnecom(0x56,0x64,0xb6);delayms(1000);
}         
void main()            
{               
    while(1){ YL_Init();}
}





delayms(100);         //延时50-100ms
-------------
延时时间太长了

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

网站地图

Top