电子产业一站式赋能平台

PCB联盟网

搜索
查看: 2024|回复: 2
收起左侧

adc0832制作实物出了问题

[复制链接]

633

主题

1927

帖子

8108

积分

联盟顾问

Rank: 3Rank: 3

积分
8108
发表于 2023-4-22 21:59:54 | 显示全部楼层 |阅读模式
单片机有发时钟信号给0832,但是0832跟51没有通信数据,在proteus上面仿真成功了,但实际上出了问题,一直显示是178

adc0832制作实物出了问题-1.jpg
回复

使用道具 举报

0

主题

875

帖子

675

积分

二级会员

Rank: 2

积分
675
发表于 2023-4-22 22:00:14 | 显示全部楼层
代码:uchar i, dat;
    CS = 1;              //ADC0832未工作时,CS端为高电平,此时芯片禁用
    _nop_;               //对于延时很短的,要求在us级的,采用“_nop_”函数      
    CLK =1;                  
    CS = 0;
    DIDO = 1; CLK = 0; _nop_; CLK = 1; _nop_; //SCLK第一个下降沿来到时,DI = 1启动ADC0832
    DIDO = 1; CLK = 0; _nop_; CLK = 1; _nop_; //SCLK第二个下降沿
    DIDO = 0; CLK = 0; _nop_; CLK = 1; _nop_; //SCLK第三个下降沿,发送1,0选择通道cho
    DIDO = 1;                                //释放总线
    for(i = 0; i < 8; i++)                  //第4个下降沿到第11个下降沿
    {
        CLK = 0;                           //clk处于下降沿,每一个下降沿DO端输入下一个
        _nop_;                              //对于延时很短的,要求在us级的,采用_nop_函数      
        if(DIDO) dat |= 0x01;              // dat = dat | 0x01,dat和0x01做“或”的运算,意思是最低位置1,其它位保持不变。
        CLK = 1; _nop_;                      //clk处于上升沿
        dat <<= 1;                          //数据左移
    }
    return (dat);
    CS = 1;                                  //ADC0832停止工作
回复 支持 反对

使用道具 举报

2

主题

849

帖子

722

积分

二级会员

Rank: 2

积分
722
发表于 2023-4-22 22:00:54 | 显示全部楼层
私聊
回复 支持 反对

使用道具 举报

发表回复

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

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表