cs5550.h

来自「CS5550的驱动程序」· C头文件 代码 · 共 108 行

H
108
字号
/*
The name of softwire :  Ad7753.c
Design by:    Jungle
Design Date:  Feb 18th,2004
*/
#include "pic.h"
#define nop NOP()
#define uint unsigned int
#define uchar unsigned char

#define ioAdCs RC6     
#define ioAdClk RC4
#define ioAdDin RC5
#define ioAdDout RC7
   
#define oAdDin TRISC5    
//------------------------------------------
//Delay the ms*1ms
//------------------------------------------
bank3 uchar AdDataH,AdDataM,AdDataL;
bank3 uint AdData;

void Delay(uchar ms);

void Write5550(uchar Addr)
{
   uchar i;
   ioAdClk=0; ioAdCs=1; nop; nop; nop; nop; ioAdCs=0;
   nop; nop; nop; nop; nop; nop; nop;
   for(i=0; i<8; i++)
   {
      if(Addr&0x80) ioAdDout=1; else ioAdDout=0;
      Addr<<=1;
      ioAdClk=1; nop; nop; ioAdClk=0;
   }
   Addr=AdDataH;
   for(i=0; i<8; i++)
   {
      if(Addr&0x80) ioAdDout=1; else ioAdDout=0;
      Addr<<=1;
      ioAdClk=1; nop; nop; ioAdClk=0;
   }
   Addr=AdDataM;
   for(i=0; i<8; i++)
   {
      if(Addr&0x80) ioAdDout=1; else ioAdDout=0;
      Addr<<=1;
      ioAdClk=1; nop; nop; ioAdClk=0;
   }
   Addr=AdDataL;
   for(i=0; i<8; i++)
   {
      if(Addr&0x80) ioAdDout=1; else ioAdDout=0;
      Addr<<=1;
      ioAdClk=1; nop; nop; ioAdClk=0;
   }
   nop; nop; nop; nop; nop; nop; nop;   
   ioAdCs=1;
}
void Read5550(uchar Addr)
{
   uchar i;
   oAdDin=1; 
   ioAdClk=0; ioAdCs=1; nop; nop; nop; nop; ioAdCs=0;
   nop; nop; nop; nop; nop; nop; nop;
   for(i=0; i<8; i++)
   {
      if(Addr&0x80) ioAdDout=1; else ioAdDout=0;
      Addr<<=1;
      ioAdClk=1; nop; nop; ioAdClk=0;
   }
   ioAdDout=1;
   for(i=0; i<8; i++)
   {
      if(i==7) ioAdDout=0;
      Addr<<=1;
      ioAdClk=1; nop; nop; nop; nop; 
      if(ioAdDin) Addr|=0x01; else Addr&=0xfe;
      ioAdClk=0;
      if(i==7) ioAdDout=1;
   }
   AdDataH=Addr;
   for(i=0; i<8; i++)
   {
      if(i==7) ioAdDout=0;
      Addr<<=1;
      ioAdClk=1; nop; nop; nop; nop; 
      if(ioAdDin) Addr|=0x01; else Addr&=0xfe;
      ioAdClk=0;
      if(i==7) ioAdDout=1; 
   }
   AdDataM=Addr;
   for(i=0; i<8; i++)
   {
      if(i==7) ioAdDout=0;
      Addr<<=1;
      ioAdClk=1; nop; nop; nop; nop; 
      if(ioAdDin) Addr|=0x01; else Addr&=0xfe;
      ioAdClk=0;
      if(i==7) ioAdDout=1;   
   }
   AdDataL=Addr;
   nop; nop; nop; nop; nop; nop; nop;   
   ioAdCs=1;
   AdData=AdDataH; AdData<<=8; AdData+=AdDataM;
}

⌨️ 快捷键说明

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