DIY编程器网
标题:
求助TLC1543AD转换
[打印本页]
作者:
mycbaobei
时间:
2012-7-24 11:22
标题:
求助TLC1543AD转换
未命名.jpg
(50.28 KB, 下载次数: 19)
下载附件
保存到相册
2012-7-24 11:18 上传
这是电路图(元器件选错啦,别介意)....对不对啊,下面是AD转换程序
uint read_TLC1543(uchar port)
{
uint data ad;uint data i;
uchar data al=0,ah=0;
IOCLK=0;
CS=0;
port<<=4;
_nop_();
_nop_();
_nop_();
_nop_();
for (i=0;i<4;i++) //把通道号打入1543
{
ADDRESS=(bit)(port&0x80);
IOCLK=1;
_nop_();
_nop_();
_nop_();
_nop_();
IOCLK=0;
port<<=1;
}
for (i=0;i<6;i++) //填充6个CLOCK
{
IOCLK=1;
_nop_();
_nop_();
_nop_();
_nop_();
IOCLK=0;
}
// EOC=0;
CS=1;
_nop_();_nop_();_nop_();_nop_();
CS=0; //等待AD转换
_nop_();_nop_();_nop_();
// EOC=1;
for (i=0;i<2;i++) //取D9,D8
{
_nop_();_nop_();_nop_();_nop_();
DATAOUT=1;
IOCLK=1;
ah<<=1;
if (DATAOUT) ah|=0x01;
IOCLK=0;
}
for (i=0;i<8;i++) //取D7--D0
{
_nop_();_nop_();_nop_();_nop_();
DATAOUT=1;
IOCLK=1;
al<<=1;
if (DATAOUT) al|=0x01;
IOCLK=0;
}
// EOC=1;
CS=1;
ad=(uint)ah;
ad<<=8;
ad|=al; //得到AD值
return (ad);
}
到用是read_TLC1543(0x08)是A8口
但是不知道为什么这个值没有,哪位大侠帮忙看看
欢迎光临 DIY编程器网 (http://diybcq.com/)
Powered by Discuz! X3.2