DAC0832是8分辨率的D/A转换集成芯片。与微处理器完全兼容。这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。

单极性输出:

由运算放大器进行电流→电压转换,使用内部反馈电阻。输出电压值VOUT和输入数字量D的关系:

VOUT = - VREF ×D/256

D = 0~255, VOUT = 0 ~ - VREF ×255/256

比如:

VREF = -5V, VOUT =0~5×(255/256)V

VREF = +5V, VOUT = 0 ~ -5×(255/256)V;

双极性输出:

如果实际应用系统中要求输出模拟电压为双极性,则需要用转换电路实现。

如图双极性电压输出电路

其中 R2=R3=2R1

VOUT= 2×VREF×D/256 -VREF= (2D/256-1)VREF

比如:

D = 0, VOUT= -VREF;

D = 128, VOUT= 0;

D = 255, VOUT= (2×255/256-1)×VREF= (254/255)VREF

即:输入数字为0~255时,输出电压在- VREF ~+ VREF之间变化。

DAC0832 芯片:

* D0~D7:8位数据输入线,TTL电平,有效时间应大于90ns(否则锁存器的数据会出错);
* ILE:数据锁存允许控制信号输入线,高电平有效;
* CS:片选信号输入线(选通数据锁存器),低电平有效;
* WR1:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;
* XFER:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;
* WR2:DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。由WR2、XFER的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。
* IOUT1:电流输出端1,其值随DAC寄存器的内容线性变化;
* IOUT2:电流输出端2,其值与IOUT1值之和为一常数;
* Rfb:反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度;
* Vcc:电源输入端,Vcc的范围为+5V~+15V;
* VREF:基准电压输入线,VREF的范围为-10V~+10V;
* AGND:模拟信号地;
* DGND:数字信号地。

相关仿真电路图:

按照单极性计算公式如下:

VOUT = - VREF ×D/256

D = 0~255, VOUT = 0 ~ - VREF ×255/256

D7---D0 为 0010 1001 =0x29=41 , Vout= - (+2.5)*41/256=-0.400390625 也就是 -0.40 ,实验正确

参考代码

 1 #include<reg52.h>
 2 #define uchar8  unsigned char
 3 #define uint16  unsigned int
 4 #define out P1
 5 sbit   DAC_cs = P2^0;
 6 sbit   DAC_wr = P2^1;
 7 void main(void)
 8 {
 9    uchar8 temp;
10    uint16 i=200;
11    while(1)
12    {
13
14
15           out=temp;
16        DAC_cs=0;     // 选中芯片,低电平有效
17        DAC_wr=0;    // 数据锁存器写选通输入线, 向 DAC0832芯片写入转换的数字量
18
19        DAC_cs=1;    // 为什么要关闭呢,当然换做我写,好像也会关闭
20        DAC_wr=1;    // 我也会关闭,先锁存起来
21        temp++;        // 数字量加1 ,当然也可以 加 其他的,比如2 ,那么 电压一次就会跳 2*256/2.5=0.02 A
22        while(--i);    // 延时吧,有用,不然跳的太快
23
24    }
25
26 }

转载于:https://www.cnblogs.com/shengruxiahua/p/5076476.html

(七)DAC0832 数模转换芯片的应用 以及运算放大器的学习 01相关推荐

  1. 24bit,192KHz 双通道数模转换电路/立体声数模转换芯片MS4344 对标CS4344-CZZR

    24bit,192KHz 双通道数模转换电路/立体声数模转换芯片MS4344 对标CS4344-CZZR MS4344是一款立体声数模转换芯片,内含插值滤波器.multi bit数模转换器.输出模拟滤 ...

  2. 双通道输出数模转换芯片DP4344 无需更改软硬件兼容替代CS4344

    DP4344 是一款完整的 2 通道输出数模转换芯片, 内含插值滤波器.Multi-Bit 数模转换器.输出模 拟滤波器,并支持大部分的音频数据格式. 芯片管脚(封装形式是 MSOP10.) 管脚描述 ...

  3. 二级密勒补偿运算放大器设计学习笔记1

    二级密勒补偿运算放大器设计学习笔记1 单管匹配dc初仿: 目的:已经事先分配好电流,Id8和Id9支路地电流为10uA:由平凡率公式可知,如果决定了过驱动电压Vgst,就可以得到管子的尺寸(W/L). ...

  4. 七分努力二分喜悦一分失望---PMP学习考试总结

    七分努力二分喜悦一分失望 ------PMP学习考试总结 2010年3月27日参加PMP考试,4月20日接到考试通过的邮件,一直想写个学习总结,只是从4月开始备考信息系统监理师,所以一直没有时间写,5 ...

  5. 基于STM32的数模转换芯片AD5328驱动程序

    一个项目中需要输出4路0~5V模拟量,主控芯片为STM32F103单片机,选用了AD5328作为DAC输出: AD5328是ADI的一款DAC芯片,可输出8路模拟量,SPI通讯,自己根据AD5328数 ...

  6. 杰力科创七彩灯雾化器芯片--DLT8P60SC

    简介 一个机械按键 6个RGB, 一个雾化器: 功能 上电RGB红-蓝-绿跑一圈后熄灭 短按开关雾化和切换雾化模式:长喷(定时6小时)-间歇喷(喷3S停3S,定时12小时)-关机: 长按开关灯光和切换 ...

  7. (七)立体标定与立体校正 【计算机视觉学习笔记--双目视觉几何框架系列】

    七.立体标定与立体校正 这篇博文中,让玉米和大家一起了解一下,张氏标定是怎样过渡到立体标定的?在这里主要以双目立体视觉进行分析.对于双目立体视觉,我们有两个摄像头.它们就像人的一双眼睛一样,从不同的方 ...

  8. GPIF II designer使用说明+CYUSB3014芯片基本信息介绍——英文文档学习记录

    这篇文章是基于之前FX3实现FPGA与USB3.0通信的内容.本人新手,写的不好如有错误请原谅.今天来记录一下官方文档的学习. 一.基本信息讲解 1.1 GPIF II Designer和CYUSB3 ...

  9. r5-5600H这颗芯片能满足日常的编程学习吗

    是的,R5 5600H是一颗比较强大的芯片,能满足日常的编程学习需求.它具有较高的处理器频率,可以提供较快的计算速度,并且还拥有较多的线程数,能够更好地处理多任务环境.总的来说,R5 5600H足以满 ...

  10. AI芯片独角兽寒武纪 - 诚聘虚拟化/深度学习框架/系统软件研发工程师

    公司简介 寒武纪是全球智能芯片领域的先行者,公司的使命是打造各类智能云服务器.智能终端以及智能机器人的核心处理器芯片,让机器更好地理解和服务人类. 公司创始人.首席执行官陈天石博士,在处理器架构和人工 ...

最新文章

  1. 天天都会写接口(interface),但它的用途和好处有多少人能说得清楚?
  2. mininet在哪编写python脚本_1 mininet 简介及同时支持python2和python3
  3. php system 返回值127,php system 返回值 1
  4. 对于局部变量_对于SQL常用查询优化方法的整理
  5. C++/C代码审查表
  6. 打包巨慢怎么办?这些工具让你爱不释手
  7. tensorflow 显存 训练_tensorflow手动指定GPU以及显存大小
  8. Google的Java常用类库 Guava
  9. mysql安装 黑马程序员_MySQL数据库安装教程详解
  10. 系统辨识理论及应用_液压系统故障智能诊断方法(2)
  11. WPS Office 2012兼容全部Office格式,为办公带来了很多便利
  12. 小米wifi 苹果驱动安装教程macOS Mojave 10.14,Sierra 10.12测试通过
  13. linux下c语言图形界面实现,「分享」C语言如何编写图形界面
  14. java word jar包_处理word的poi的jar包
  15. STM32学习笔记一:开发环境
  16. JavaFX桌面应用开发-Scene(场景)
  17. JAVA后台实现文件批量下载
  18. 托业单词表part1
  19. LWN:关于preempt_count()的四个小讨论!
  20. 字节跳动高工面试:java高级程序员面试宝典蔡羽豆瓣

热门文章

  1. python设置散点图点的大小_matplotlib - pyplot散点图标记大小
  2. vba 冻结窗格_在VBA中进行调试-2A)代码窗格(F7)
  3. JAVA实现排列组合
  4. 【读书笔记】《谈谈方法》(笛卡尔)
  5. 关于Android P Auto锁屏Global.DEVICE_PROVISIONED
  6. Decorate 模式
  7. Python爬虫之网易云音乐数据爬取(十五)
  8. 飓风“桑迪”的蝴蝶效应:扇起桑迪域名注册潮
  9. 常见web漏洞修复方法
  10. ptp输出内容包含什么_解剖PTP协议