⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 7022.txt

📁 7022和2812的读写, 7022和2812的读写,7022和2812的读写.
💻 TXT
字号:
extern unsigned i_574vol;

/*---------------------7022_a----------------------------*/

#define cs_a_h    i_574vol |= 0x0020;    CsIo574= i_574vol; Wait;                                  
#define cs_a_l    i_574vol &= 0x00df;    CsIo574= i_574vol; Wait;
#define sclk_a_h    i_574vol |= 0x0008;    CsIo574= i_574vol; Wait;
#define sclk_a_l    i_574vol &= 0x00f7;    CsIo574= i_574vol; Wait;
#define data_a_h    i_574vol |= 0x0010;    CsIo574= i_574vol; Wait;
#define data_a_l    i_574vol &= 0x00ef;    CsIo574= i_574vol; Wait; 

/*---------------------7022_b----------------------------*/

#define cs_b_h    i_574vol |= 0x0004;    CsIo574= i_574vol; Wait;                                  
#define cs_b_l    i_574vol &= 0x00fb;    CsIo574= i_574vol; Wait;
#define sclk_b_h    i_574vol |= 0x0001;    CsIo574= i_574vol; Wait;
#define sclk_b_l    i_574vol &= 0x00fe;    CsIo574= i_574vol; Wait;
#define data_b_h    i_574vol |= 0x0002;    CsIo574= i_574vol; Wait;
#define data_b_l    i_574vol &= 0x00fd;    CsIo574= i_574vol; Wait;
/*------------------------------------------------------*/
/*void read7022_a(int com);   
void write7022_a(int com,long data);
void read7022_b(int com);   
void write7022_b(int com,long data); */

/*-------------------------7022_a--------------------------*/

long read7022_a(int com)
{ long data=0;
 long jj=0;
 int i=0;
 int k=0x80;
 reg_aspcr&= 0xfff0; 
 cs_a_h;
 sclk_a_l;
 cs_a_l;
 for (i=0;i<=7;i++)     /*送地址*/
 {
  if (com&k)
  {
      sclk_a_h;
         data_a_h;
      sclk_a_l;
   
   }
   else
   {
       sclk_a_h;
         data_a_l;
      sclk_a_l;
   }
     k=k/2;
    
 }
 Wait;Wait;Wait;
      for (i=23;i>=0;i--) /*读数据*/
         {
          sclk_a_h;
             jj=reg_iosr&0x0001;   
  jj=jj<<i;
  data=jj+data;
  sclk_a_l;
     }
  cs_a_h;
  return(data); 
}  
/*-----------------------------------------------------------*/ 
 
void write7022_a(int com,long data)
{ 
 long jj=0x800000;
 int i=0;
 int k=0x80;
// reg_aspcr&= 0xfff0; 
 cs_a_h;
 sclk_a_l;
 cs_a_l;
 for (i=0;i<=7;i++)     /*送地址*/
 {
  if (com&k)
  {
      sclk_a_h;
         data_a_h;
      sclk_a_l;
   
   }
   else
   {
       sclk_a_h;
         data_a_l;
      sclk_a_l;
   }
     k=k/2;
    
 }

     for (i=0;i<=23;i++)     /*写数据*/
 {
  if (data&jj)
  {
      sclk_a_h;
         data_a_h;
      sclk_a_l;
   
   }
   else
   {
       sclk_a_h;
         data_a_l;
      sclk_a_l;
   }
     jj=jj/2;
    
 }
  cs_a_h;
  
}   

/*====================7022_b===========================*/
long read7022_b(int com)
{ long data=0;
 long jj=0;
 int i=0;
 int k=0x80; 
 reg_aspcr&= 0xfff0;
 cs_b_h;
 sclk_b_l;
 cs_b_l;
 for (i=0;i<=7;i++)     /*送地址*/
 {
  if (com&k)
  {
      sclk_b_h;
         data_b_h;
      sclk_b_l;
   
   }
   else
   {
       sclk_b_h;
         data_b_l;
      sclk_b_l;
   }
     k=k/2;
    
 }
 Wait;Wait;Wait;
      for (i=23;i>=0;i--) /*读数据*/
         {
          sclk_b_h;
             jj=reg_iosr&0x0004;
             jj=jj>>2;   
  jj=jj<<i;
  data=jj+data;
  sclk_b_l;
     }
  cs_b_h;
  return(data); 
}  
/*-----------------------------------------------------------*/ 
 
void write7022_b(int com,long data)
{ 
 long jj=0x800000;
 int i=0;
 int k=0x80;
// reg_aspcr&= 0xfff0; 
 cs_b_h;
 sclk_b_l;
 cs_b_l;
 for (i=0;i<=7;i++)     /*送地址*/
 {
  if (com&k)
  {
      sclk_b_h;
         data_b_h;
      sclk_b_l;
   
   }
   else
   {
       sclk_b_h;
         data_b_l;
      sclk_b_l;
   }
     k=k/2;
    
 }
/* Wait;Wait;Wait;  */
     for (i=0;i<=23;i++)     /*写数据*/
 {
  if (data&jj)
  {
      sclk_b_h;
         data_b_h;
      sclk_b_l;
   
   }
   else
   {
       sclk_b_h;
         data_b_l;
      sclk_b_l;
   }
     jj=jj/2;
    
 }
  cs_b_h;
  
}   

/*-------------------------------------*/
 delaytime(int cishu)
{                      
int ii,i;
 for (ii=0;ii<cishu;ii++)
 {
     for(i=0;i<0xf;i++)
  { 
   asm(" rpt #75");
   asm(" nop") ;
  }
 }
}
/*------------------------------------------------------*/
void reset7022_a()
{
 i_574vol &= 0x00bf;
 CsIo574= i_574vol;
 delaytime(10);
 i_574vol |= 0x0040; 
 CsIo574= i_574vol;
 
 
}
/*------------------------------------------------------*/
void reset7022_b()
{
 i_574vol &= 0x007f;
 CsIo574= i_574vol;
 delaytime(10);
 i_574vol |= 0x0080; 
 CsIo574= i_574vol;
 
 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -