TLC549

[复制链接]
3047|4
 楼主| 464912516 发表于 2009-7-23 10:30 | 显示全部楼层 |阅读模式
我用的是这个程序   为什么读回来的一直是245?
sbit D0=P1^0;
sbit CS=P1^1;
sbit CLK=P1^2; 
uchar n;   全局变量不用带回了
void TLC549 ()           //AD转化
{
   CS=1;
   CLK=0;
   _nop_();
   _nop_();
   CS=0;
   for (i=0;i<8;i++)
    {
      CLK=1;
      if (D0)
      n++;
      n=n<<1;
      CLK=0;
    }
   CS=1;


请高手解释一下啊  ??
lsh505 发表于 2009-7-23 14:14 | 显示全部楼层

TLC549

下面是以前用TLC549时写的程序
uchar TLC549Read(void)
{

    uchar i,DO;

    T549_CS  = 1;
    T549_CLK = 0;
    T549_CS  = 0;
    nop;
    nop;

    for(i=0;i<8;i++)
    {
        if(T549_DO) DO++;
        DO<<=1;
        
        T549_CLK = 0;
        T549_CLK = 1;
        
    }
    T549_CLK = 0;    //第八个下降沿
    T549_CS = 1;
    return(DO);
}
zhaoyu2005 发表于 2009-7-23 19:21 | 显示全部楼层

先看下输入电压范围对不

如果输入电压正常,那么应该是程序的问题,印象中,片选以后,应该先读一位数据,然后再发时钟,也就是下面的程序,如果用上面的程序,好像应该把最后一位数据放到最高位
试下改变输入电压,看取得的数值变化不
 楼主| 464912516 发表于 2009-7-24 16:38 | 显示全部楼层

读回得数步怎么稳定

我改了程序  可以用了   但读回的数为什么不稳定啊?而且只有偶数没有奇数??
zhaoyu2005 发表于 2009-7-30 14:28 | 显示全部楼层

数值不稳定得先看输入稳定不

输入不稳定的话,读出的数值是稳定就有问题了,另外你这个电路的电压基准有问题,造成基准不稳定,基准都不稳定了,输入稳定也不行,读出的数值对不对还得看下程序,最好好好看看datasheet,能看懂时序图以后很有用处
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

24

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部