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

📄 drv_4821.c

📁 该模板使用于周立功公司研发的EasyARM2100系列开发板
💻 C
字号:
#include "system.h"
void daout1(unsigned  int dat)
     {
      unsigned int dat1,TempValue;
      unsigned char i;
      dat1=dat+0x3000;
      IO0SET |= M4821_CS11;              //CS=1;
      IO0CLR |= M4821_CS11;              //CS=0;
      IO1CLR |= M4821_SCK1;              //SCK=0;
      for(i=0;i<16;i++)
         {
          delays(20);                   //delay 10 us
       	  TempValue=(dat1) & 0x8000;
     	  if(TempValue==0x8000)
     	     {
     	      IO0SET|=M4821_SDI1;       //SDI=1;     
     	     }
          else  IO0CLR|=M4821_SDI1;     //SDI=0;
          delays(20);  
         IO1SET |=M4821_SCK1;           //SCK=1;
          delays(20);  
          dat1=(dat1<<1);
         IO1CLR|= M4821_SCK1;           //SCK=0;
         }
      for(i=0;i<12;i++);    
     IO0SET|=M4821_CS11;                //CS=1;
     IO1CLR|=M4821_SCK1;                //SCK=0;
      for(i=0;i<12;i++);
     }

    
    void daout11(unsigned  int dat)//输出电压为4V
     {
      unsigned int dat1,TempValue;
      unsigned char i;
      dat1=dat+0x1000;
      IO0SET |= M4821_CS11;              //CS=1;
      IO0CLR |= M4821_CS11;              //CS=0;
      IO1CLR |= M4821_SCK1;              //SCK=0;
      for(i=0;i<16;i++)
         {
          delays(20);                   //delay 10 us
       	  TempValue=(dat1) & 0x8000;
     	  if(TempValue==0x8000)
     	     {
     	      IO0SET|=M4821_SDI1;       //SDI=1;     
     	     }
          else  IO0CLR|=M4821_SDI1;     //SDI=0;
          delays(20);  
         IO1SET |=M4821_SCK1;           //SCK=1;
          delays(20);  
          dat1=(dat1<<1);
         IO1CLR|= M4821_SCK1;           //SCK=0;
         }
      for(i=0;i<12;i++);    
     IO0SET|=M4821_CS11;                //CS=1;
     IO1CLR|=M4821_SCK1;                //SCK=0;
      for(i=0;i<12;i++);
     }

    
 
   
 

void daout2(unsigned  int dat)
     {
      unsigned int dat1,TempValue;
      unsigned char i;
      dat1=dat+0x3000;
      IO0SET|=M4821_CS12;          //CS=1;
      IO0CLR|=M4821_CS12;          //CS=0;
      IO1CLR|=M4821_SCK2;          //SCK=0;
      for(i=0;i<16;i++)
         {
          delays(20); 
       	  TempValue=(dat1) & 0x8000;
     	  if(TempValue==0x8000)
     	  {
     	  IO0SET|=M4821_SDI2;        // SDI=1;
     	  }
          else IO0CLR|=M4821_SDI2;   //  SDI=0;
          delays(20);  
          IO1SET|=M4821_SCK2;        // SCK=1;
          delays(20);   
          dat1=(dat1<<1);
          IO1CLR|=M4821_SCK2;        // SCK=0;
         }
      for(i=0;i<12;i++);    
        IO0SET|=M4821_CS12;          //  CS=1;
        IO1CLR|=M4821_SCK2;           //  SCK=0;
      for(i=0;i<12;i++);
     }



⌨️ 快捷键说明

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