TLC0831转换示例程序
#include <reg52.h>
#include <stdio.h>
typedef unsigned int uuint;
typedef unsigned char uchar;
sbit adcdo=P1^0; //定义TLC0831的数据线D0
sbit adCCs=P1^2; //定义TLC0831的时能线CS
sbit adcclk=P1^1; //定义TLC0831的时钟线CLK
void delay(uchar x); //定义延时函数
uchar readadc(void); //定义读数据函数
void adcck(void); //定义时钟函数
void delay1(uchar x)
{
uchar i;
for(i=0;i<x;i++)
{};
}
void adcck(void) //时钟函数
{
adcclk=1;delay1(2);
adcclk=0;delay1(2);
}
uchar readadc(void) //读出TLC0831转换数据函数
{
uchar i;
uchar ch;
adccs=0;adcck();ch=0;
for(;adcdo==1;)adcck();
for(i=0;i<8;i++)
{
adcck();
ch=(ch<<1)|adcdo;
}
adccs=1;
return(ch); //返回值,即转换后的数据
}
void main(void) //主函数
{
uchar a;
a=readadc();
ACC=a;
}