有谁用过AD7896?

[复制链接]
4107|2
 楼主| xzhenggen 发表于 2007-1-9 08:38 | 显示全部楼层 |阅读模式
AD, TE, sd, hb, ui
我按照时序电路写了一个子程序测试为什么测不准?请各位大侠出来指点一下.
#include "reg51.h"
#include "absacc.h"
#include "math.h"
#include "intrins.h"
#define uchar unsigned char
#define uint unsigned  int

sbit SCLK=P1^1;
sbit WDI=P1^2;
sbit SDATA=P1^0;

void delay(uchar n)
{
    uchar i;
    for(i=0;i<n;i++)
    {
        _nop_();
    }
}


uint read7896(void)
{
    char i;
    uint result;
    uchar hbyte, lbyte;

    WDI=0;
    delay(3);
    SCLK=0;
    
    WDI=1;
    delay(3);
    WDI=0;
    for(i=0;i<15;i++)
    {
        _nop_();
    }
    SCLK=1;
    SCLK=0;
    
    hbyte=0;
    for(i=0;i<4;i++)
    {
        SDATA=1;
        SCLK=1;
        if(SDATA) hbyte=0x01;
        SCLK=0;
        if(i!=3) hbyte<<=1;
    }
    lbyte=0;
    for(i=0;i<8;i++)
    {
        SDATA=1;
        SCLK=1;
        if(SDATA) lbyte=0x01;
        SCLK=0;
        if(i!=7) lbyte<<=1;
        
    }
    _nop_();
    _nop_();
    
    WDI=1;
    result=0;
    result=hbyte;
    result<<=8;
        result|=lbyte;
    return (result);
}


void main(void)
{
    uint ad;
        while(1){
    ad=read7896();
         }    
    
    
}
 楼主| xzhenggen 发表于 2007-1-16 10:13 | 显示全部楼层

求救!有哪位高手能出一份源代码给我。

我总觉得我这个子程序有问题,但就是不知错在哪里?有哪位高手出来指点一下,在此多谢了。!!
 楼主| xzhenggen 发表于 2007-1-16 14:03 | 显示全部楼层

楼主真是高手啊!居然有得负分,呵呵。。。。。。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

55

主题

529

帖子

1

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