您现在的位置:机电论文网>> 机床加工>> 正文内容

可编程双路12位数模转换器tlc5618及其c51高级语言编程

作者: 来源: 发布时间:2018/2/11 16:12:47  点击数:574
1概述
1.1一般说明
tlc5618是美国texasinstruments公司生产的带有缓冲基准输入的可编程双路12位数/模转换器。dac输出电压范围为基准电压的两倍,且其输出是单调变化的。该器件使用简单,用5v单电源工作,并包含上电复位功能以确保可重复启动。
通过cmos兼容的3线串行总线可对tlc5618实现数字控制。器件接收用于编程的16位字产生模拟输出。数字输入端的特点是带有斯密特触发器,因而具有高的噪声抑制能力。
1.2特点
(1)可编程至0.5lsb的建立时间;
(2)两个12位的cmos电压输出dac;
(3)单电源工作;
(4)3线串行接口;
(5)高阻抗基准输入;
(6)电压输出范围为基准电压的两倍;
(7)软件断电方式;
(8)内部上电复位;
(9)低功耗,慢速方式为3mw,快速方式为8mw;
(10)1.21mhz输入数据更新速率;
(11)在工作温度范围内单调变化。
1.3引脚排列与引脚功能
tlc5618的引脚排列如图1所示,各个引脚的功能如下所述:
(1)din(1):数据输入;
(2)sclk(2):串行时钟输入;
(3)cs(3):芯片选择,低电平有效;
(4)outa(4):daca模拟输出;
(5)agnd(5):模拟地;
(6)refin(6):基准电压输入;
(7)outb(7):dacb模拟输出;
(8)vdd(8):正电源。

图1tlc5618的引脚排列

图2tlc5618的典型运用电路

图3tlc5618与单片机的三线串行接口
2应用介绍
2.1一般功能
tlc5618使用由运放缓冲的电阻串网络把12位数字数据转换为模拟电压电平(见图2),其输出极性与基准电压输入相同(见表1)。
表1二进制代码表(0v至2vrefin输出,增益=2)
输入+输出
1111111111112(vrefin)4095/4096
1000000000012(vrefin)2049/4096
1000000000002(vrefin)2048/4096=vrefin
0111111111112(vrefin)4097/4096
0000000000012(vrefin)1/4096
0000000000000v
输出电压由下式给出:2(vrefin)code/4096。
上电时内部电路把dac寄存器复位至0。
输出缓冲器具有可达电源电压幅度的输出,它带有短路保护并能驱动具有100pf负载电容器的2kω负载。
基准电压输入经过缓冲,它使dac输入电阻与代码无关。
tlc5618的最大串行时钟速率为:
f(sclk)max=1/[tw(ch)min+tw(cl)min]=20mhz
2.2串行接口
当片选(cs)为低电平时,输入数据由时钟定时,以最高有效位在前的方式读入16位移位寄存器,其中前4位为编程位,后12位为数据位。sclk的下降沿把数据移入输入寄存器,然后cs的上升沿把数据送到dac寄存器。所有cs的跳变应当发生在sclk输入为低电平时。可编程位d15-d12的功能见表2所示。
表2可编程位d15-d12的功能
编程位器件功能
d15d14d13d12
1xxx把串行接口寄存器的数据写入锁存器a并用缓冲器锁存数据更新锁存器b
0xx0写锁存器b和双缓冲锁存器
0xx1仅写双缓冲锁存器
x1xx14μs建立时间
x0xx3μs建立时间
xx0x上电(power-up)操作
xx1x断电(power-down)方式
3tlc5618与单片机的接口
tlc5618与8031单片机的接口见图3。
串行数据通过p2.1口输入tlc5618,串行时钟通过p2.2输入,p2.3接片选端。
4tlc5618d/a转换的c51高级语言编程
c语言是一种通用的计算机程序设计语言,在国际上十分流行,它既可以用来编写计算机系统程序,也可用来编写一般的应用程序。对单片机应用系统来说,虽然用汇编语言编写的程序生成的目标代码效率最高,但其可读性和移植性都较差,而且程序编写周期长,调试和排错困难。而c语言既具有一般高级语言的特点,又能直接对计算机的硬件进行操作,并且采用c语言编写的程序比较简洁,能够很容易地在不同类型的计算机之间进行移植,因此,用c语言开发单片机应用系统已经获得长足的发展。用基于51系列单片机的高级语言工具c51编写的tlc5618程序如下。
#include
intvcon;输出电压变量
sbitdin=0x91;定义p2.1为串行数据口
sbitclk=0x92;p2.2为串行时钟端
sbitcs=0x93;p2.3为片选端
voiddac5618(intvcon)tlc5618dac子程序,三线串行方式
{
chari;
intsvcon;
svcon=vcon|0x8000;vcon最高位置1,选择
tlc5618的a通道
cs=0;置5618的cs=0,允许片选
for(i=0;i<16;i++)
{
din=svcon&0x8000;串行方式送16位
数据
svcon<<=1;
clk=0;
clk=1;
}
cs=1;禁止片选
return;
}
voidmain0
{
dac5618(0x7ff)
}
采用2.048v的参考电压,可获得0~4.096v的模拟电压输出。当系统不使用dac时,应当把dac寄存器设置为全0,以便使基准电阻器阵列和输出负载所消耗的功率最小。
5结束语
由于tlc5618的体积小、功耗低,控制简单,因而可以方便地用于电池供电测试仪表、移动电话、数字失调与增量调整、机器和机械控制等领域。

更多
字体:【】-【】-【】【关闭此页

上一篇:要从更高更全面的角度认识仪器仪表的重'   下一篇:屏障防腐涂料在自来水管道防腐中的应用'


特别声明:机电之家(http://www.jdzj.com )所共享的机电类资料,机电论文、机电类文章、机电企业类管理制度、机电类软件都来自网上收集,其版权归作者本人所有,如果有任何侵犯您权益的地方,请联系我们,我们将马上进行处理。购买的论文都出自原创,保证作者的原创的版权的转让,任何纠纷由法律解决。