2543采集程序.c

来自「tl2543的AD程序仅供参考--KEIL51!」· C语言 代码 · 共 70 行

C
70
字号
#include "reg51.h"
#include "intrins.h"
#include "stdio.h"	
#define   uint unsigned int
#define uchar   unsigned char
bit Address;
sbit CS  =  P1^0;
sbit IOclock  =  P1^1;
sbit Data_OUT =  P1^2;
/*------------------------------------------
函数名称:uint Read2543(uchar port)
函数说明:TLC2543AD采集程序
输入参数:uchar port 第几路
输出参数:uint ADC采集的数字量
-------------------------------------------*/
uint Readad(uchar port)     
{      
       uchar i=0;       
       uint  ad_data= 0;
       CS = 1;
       IOclock = 0;
       _nop_();
       _nop_();
       CS = 0;
       _nop_();
       _nop_();
       port<<=4;
       for(i=0;i<12;i++)
       { 
         Address = (bit)(port&0x80);
         IOclock = 1;
         _nop_();
         _nop_();
         IOclock = 0;
         port<<=1;
       }
       _nop_();
       _nop_();
       CS = 1;
       _nop_();
	   _nop_();
       IOclock = 0;
       _nop_();
       CS = 0;
       _nop_();
       _nop_();
       for(i=0;i<12;i++)
       {
         Data_OUT = 1;
         IOclock  = 1;
         ad_data<<=1;
         if(Data_OUT)
          {
            ad_data |= 0x0001;
          }
         _nop_();
         IOclock = 0;
       }
       CS = 1;
       _nop_();
       _nop_();
       return(ad_data&0x0fff);
}
void main()
{ uint idata y;

   y=Readad(1);
   while(1);
 
}

⌨️ 快捷键说明

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