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

📄 5045的程序.txt

📁 专用看门狗芯片5045的单片机C语言驱动程序
💻 TXT
字号:
void byte_out(unsigned char d1)
     {
      unsigned char num;
      X_SCK=0;
     for (num=1;num<=8;num++)
          {
           X_SCK=0;
           X_SI=(bit)(_crol_(d1,num) & 0x01);
           X_SCK=1;
          }
      X_SI=0;
      }

unsigned char byte_in()
              {
                unsigned char num,d1,d2;
                void nop(unsigned char x);
                d1=0;
                num=0;
              for (num=0;num<8;num++)
                   {
                   X_SCK=1;X_SCK=0;
                   d2=_crol_(d1,1);
                   d1=(d2 | X_SO);
                   }
                 return(d1);
                }

void write_enable( )   /*写使能*/
        {
        X_SCK=0;X_CS=0;
        byte_out(0x06);
        X_SCK=0; X_CS=1;
        }
void wrsr()                    //X5045状态寄存器.
       { unsigned char numb,d1;
        write_enable();  //先写使能.
        X_SCK=0;
        X_CS=0;
        byte_out(0x01);
        byte_out(0x00); //延时1.4秒.
        X_SCK=0;X_CS=1;
        X_CS=0;
         for(numb=0;numb<30;numb++)
            {
               byte_out(0x05);
               d1=byte_in();
              if (d1 & 0x01) continue;
                  break;
              }
          X_CS=1;
       }
void read_data(unsigned char a8,unsigned char addr,unsigned char
*array,unsigned char number)
         {
          unsigned char d2,numb;

          numb=number;
          X_SCK=0;
          X_CS=0;
          byte_out(0x03 | a8);   //a8=0x08 or =0x00
          byte_out(addr);
          d2=0;
          for (d2=0;d2<numb;d2++)
             {*array++=byte_in(); }
              X_SCK=0;X_CS=1;
         }

void write_data(unsigned char a8,unsigned char addr,unsigned char
*array,unsigned char number)
        {
         unsigned char d1,number1,number2;
         void write_enable();
         void byte_out(unsigned char x);
         unsigned char byte_in();

         write_enable();
         X_SCK=0;
         X_CS=0;
         byte_out((0x02 | a8));
         byte_out(addr);
         number1=0;
         for (number1=0;number1<number;number1++)  //写入数据.
            {
              byte_out(*array++);
             }
            X_CS=1;
            X_SCK=0;
          number2=0;
         for (number2=0;number2<30;number2++)
             {X_SCK=0;X_CS=0;
              byte_out(0x05);
              d1=byte_in();
              X_SCK=0;
              X_CS=1;
              if (d1 & 0x01) continue;
                  break;
              }
        }

⌨️ 快捷键说明

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