一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 4770|回复: 3
收起左侧

[其他综合] 用两片74hc595做的10位 R2R_dac 0.01V步进,有点问题

[复制链接]
发表于 2011-10-8 08:50 | 显示全部楼层 |阅读模式
DAC.jpg
电阻值和接法是按照这上面来的
595是按照我做8位数码的电路应该没有问题
低位接Q0~Q7  高位Q0~Q1  
00 0000 0001 时候0.4左右 再加就可以0.01v左右升高
到1.2V的是突然变成1.4 再加1.8 然后又可以0.01v加,到2.5的时候又变成3v 一直到5V 中间还有两三个跳跃点

我想是不是往595送数的时候10位的是不是要拆开 编程两个8位的 ,结果我拆开了还是这样
于是我还弄成10位的往,里面送。
void hc595out(uint dac_data)//数据输出:高位为位输出,低位为段输出
{
uchar d1;
// data_h=dac_data>>8;
// data_l=dac_data<<2;
  for(d1=0;d1<10;d1++)
{
//CLK=0;
if(dac_data&0x200)  DAT=1;    //如果是一就输出高电平 10 0000 0000 =0x200
else DAT=0;     //否则输出低电平
dac_data<<=1;    //移位
CLK=1;
CLK=0;      //时钟跳变
}

hc595enb();     //数据锁存
delay_1ms(1);
}

// data_h=dac_data>>8;
// data_l=dac_data<<2;
这样拆开可以吗?  我分两次送每次送8个。
发表于 2011-10-8 20:39 | 显示全部楼层
我想应该是凑成2个8位,无数据位补0吧。还有时钟跳变脉冲不知道会不会宽度不够?
发表于 2011-10-8 21:14 | 显示全部楼层
高兄何不先用一片试试,然后再考虑2片
发表于 2011-10-14 01:19 | 显示全部楼层
我直接用单片机IO口试过,试验好像也不是按照16进制数递进电压跟着递进的,后来就不搞了,直接搞pwm的

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-4-27 20:58 , Processed in 0.065140 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表