芯片解密,芯片破解,IC解密,单片机解密,MCU解密,STM解密

飞芯科技提供芯片解密,芯片破解,IC解密,单片机解密,MCU解密,STM解密逆向服务

芯片解密STC8G2K32S4单片机的WS2812雪花灯

  1.    芯片解密字节数据发送函数               
  2. 函数原型: void  SendByte(UCHAR c);
  3. 功能:     将数据c发送出去,可以是地址,也可以是数据,发完后等待应答,并对
  4.           此状态位进行操作.(不应答或非应答都使ack=0)     
  5.            发送数据正常,ack=1; ack=0表示被控器无应答或损坏。
  6. ********************************************************************/
  7. void  SendByte(uchar  c)
  8. {
  9. uchar  BitCnt;

  10. for(BitCnt=0;BitCnt<8;BitCnt++)  /*要传送的数据长度为8位*/
  11.     {
  12.      if((c<<BitCnt)&0x80)SDA=1;   /*判断发送位*/
  13.        else  SDA=0;               
  14.      _Nop();
  15.      SCL=1;               /*置时钟线为高,通知被控器开始接收数据位*/
  16.       _Nop();
  17.       _Nop();             /*保证时钟高电平周期大于4μs*/
  18.       _Nop();
  19.       _Nop();
  20.       _Nop();         
  21.      SCL=0;
  22.     }
  23.    
  24.     _Nop();
  25.     _Nop();
  26.     SDA=1;                /*8位发送完后释放数据线,准备接收应答位*/
  27.     _Nop();
  28.     _Nop();   
  29.     SCL=1;
  30.     _Nop();
  31.     _Nop();
  32.     _Nop();
  33.     if(SDA==1)ack=0;     
  34.        else ack=1;        /*判断是否接收到应答信号*/
  35.     SCL=0;
  36.     _Nop();
  37.     _Nop();
  38. }

  39. /*******************************************************************
  40.                  字节数据接收函数               
  41. 函数原型: UCHAR  RcvByte();
  42. 功能:        用来接收从器件传来的数据,并判断总线错误(不发应答信号),
  43.           发完后请用应答函数应答从机。  
  44. ********************************************************************/   
  45. uchar   RcvByte()
  46. {
  47.   uchar  retc;
  48.   uchar  BitCnt;
  49.   
  50.   retc=0;
  51.   SDA=1;                     /*置数据线为输入方式*/
  52.   for(BitCnt=0;BitCnt<8;BitCnt++)
  53.       {
  54.         _Nop();           
  55.         SCL=0;                  /*置时钟线为低,准备接收数据位*/
  56.         _Nop();
  57.         _Nop();                 /*时钟低电平周期大于4.7μs*/
  58.         _Nop();
  59.         _Nop();
  60.         _Nop();
  61.         SCL=1;                  /*置时钟线为高使数据线上数据有效*/
  62.         _Nop();
  63.         _Nop();
  64.         retc=retc<<1;
  65.         if(SDA==1)retc=retc+1;  /*读数据位,接收的数据位放入retc中 */
  66.         _Nop();
  67.         _Nop();
  68.       }
  69.   SCL=0;   
  70.   _Nop();
  71.   _Nop();
  72.   return(retc);
  73. }



联系方式

地址:石家庄市新华区民族路77号华强广场D座2009
电话:0311-88816616/87087811
手机:13315190088
传真:0311-67901001
联系人:张工
网址:www.taihedz.cn
邮箱:feixindz@163.com
微信:xinpianjiemi
QQ:527263666/568069805

在线客服
热线电话

企业微信