打印
[51单片机]

dac7512 的接口程序如何写,为什么这个输出不对

[复制链接]
1989|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhouyong12|  楼主 | 2013-8-31 21:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include "reg52.h"

//12位数模转化DAC7512的接口程序,由51单片机实现
//函数接口:void DAchange(unsigned int dat)

sbit NSYNC=P0^5; //dac7512 使能端
sbit SCLK=P0^6; //dac7512 时钟端
sbit DIN=P0^7;  //dac7512 数据端

//da驱动程序
void DAchange(unsigned int dat)

{
unsigned char DA,i,j,DAL,DAH;

if(dat>4095)
    {
    dat=0;
    }
else
{
    DAL=dat%256 ;
    DAH=dat/256 ;
    NSYNC=0;
    i=0;
        while(i<2)
        {
            if(i<1)
                {
            DA=DAH;
                }
        else
                {
            DA=DAL;
                }
        for(j=8;j>0;j--)
                {
            DIN=(DA&0x80);
            DA=(DA<<1);
            SCLK=1;
            SCLK=0;
                }
        i=i+1;
        }
    NSYNC=1;
    }
}
void main(void )
{
while(1)
        {

          DAchange(3000) ;
       
       
        }
评论
caogaojian 2020-9-9 10:03 回复TA
楼主这个芯片后续成功了吗 我现在做的是没输出 ,但时序是对的 用逻辑分析仪看过 求回复 

相关帖子

沙发
airwill| | 2013-9-2 09:00 | 只看该作者
不知道怎么个 "不对"?   有误差还是完全没有输出?
有误差估计是时序问题. 完全不输出那就多了, 除了时序, 还有连接信号甚至焊接问题

使用特权

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

本版积分规则

1

主题

3

帖子

0

粉丝