叨叨游戏网
您的当前位置:首页TLC1549串行AD转换实验程序

TLC1549串行AD转换实验程序

来源:叨叨游戏网


TLC1549串行A/D转换实验程序

#include

#include

#include

#define OSC 11059200

#define BAUDRATE 9600

sbit CLK = P1^0;

sbit DATA = P1^1;

sbit CS = P1^2;

unsigned int ADConvert(void)

{

int i;

unsigned int ad;

ad = 0;

DATA = 1;

CS = 0;

for(i=0;i<10;i++)

{

ad <<= 1;

CLK = 0;

_nop_();

_nop_();

_nop_();

CLK = 1;

if(DATA) ad |= 0x01;

else ad &= 0xFFFE;

}

CS = 1;

return ad;

}

void main(void)

{

unsigned int i,j,ad;

float adf;

TMOD = 0x20;

SCON = 0x50;

PCON |= 0x80;

TL1 = 256 - (OSC/12/16/BAUDRATE);

TH1 = 256 - (OSC/12/16/BAUDRATE);

TR1 = 1;

TI = 1;

printf(\"\\r\\nTLC1549 test starting ...\");

while(1)

{

for(j=0;j<10;j++) for(i=0;i<10000;i++);

ad = ADConvert(); // 取出上次数据,在第三个CLK开始本次取样

ad = ADConvert(); // 取出本次采样数据

adf = (ad*5.0)/1024.0;

printf(\"\\r\Sampled! Data = %04X(X),%u(D) 电压=%4.2fV \

}

}

因篇幅问题不能全部显示,请点此查看更多更全内容