打印

用过TLC2543的看过来

[复制链接]
1660|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mzhang_dhu|  楼主 | 2008-10-28 22:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,一个数据采集系统中的AD部分,仿真时,AD没有反映,还请大虾们帮忙看看程序哪里出了问题。

硬件部分连接比较简单,
CS接P3.5;
CLK接P3.7;
DIN接P3.4;
DOUT接P3.3;

驱动程序为:
uint ad_read()
{uchar i,ADHigh,ADLow;
uint adResult;
 CS=1;
 CLK=0;
 DIN=0;
 DOUT=0;
 adResult=0;
 ADHigh=0;
 ADLow=0;
 CS=0;
 for(i=0;i<=11;i++) /*12位输入控制字,取0通道,12位输出,故均为0*/
   {DIN=0;
    CLK=1;
    CLK=0;
          }
CS=1;
Delay();     /*延时,转换时间*/
CS=0;
for(i=0;i<4;i++)   /*输出高4位*/
{
 CLK=1;
 ADHigh=DOUT;
 ADHigh<<=1;
 if(DOUT)
 ADHigh|=0x01;
 CLK=0;
           }  
for(i=0;i<8;i++)  /*输出低8位*/
{CLK=1;
 ADLow=DOUT;
 ADLow<<=1;
 if(DOUT)
 ADLow|=0x01;
 CLK=0;
           }
 CS=1;
 adResult=(uint)ADHigh;  /*合成16位的转换结果*/
 adResult<<=8;
 adResult|=ADLow;
 return(adResult);
     }
 

相关帖子

沙发
benxiaoyu4| | 2008-10-29 08:45 | 只看该作者

正在学习TLC2543,楼主没有接EOC端吗??

for(i=0;i<=11;i++) /*12位输入控制字,取0通道,12位输出,故均为0*/
   {DIN=0;
    CLK=1;
    CLK=0;
          }
CLK的时钟频率是不是太高了,TLC2543的最高时钟频率是4.1M,在时钟由高到低加个延时试试.

使用特权

评论回复
板凳
djjyi| | 2008-10-29 14:53 | 只看该作者

re

时序不对 

使用特权

评论回复
地板
mzhang_dhu|  楼主 | 2008-10-30 11:52 | 只看该作者

已经把时序改过来了,呵呵

使用特权

评论回复
5
benxiaoyu4| | 2008-10-30 16:27 | 只看该作者

什么问题,没看出来.LZ能说明一下吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

66

帖子

0

粉丝