您的位置 首页 技术

AT89S52+TLC5615驱动

一概述TLC5615是德州仪器公司生产的一款10位DA转换器,单路电压输出,输出电压最大可达到基准电压的两倍,可带最小2K欧姆的负载。这款芯

一.概述

TLC5615是德州仪器公司出产的一款10位D/A转化器,单路电压输出,输出电压最大可到达基准电压的两倍,可带最小2K欧姆的负载。这款芯片带有上电复位功用,选用三线制串行总线接口,兼容SPI通讯,最大转化时刻为12.5微秒(输入从0x000变为0x3ff或许从0x3ff变为0x000,输出安稳信号的时刻),还能进行多片级联运用。TLC5615是一款性价比高、很常用的10位数模转化芯片。

二.电路设计

在WSF-51DB开发板上,TLC5615的输出端不接任何负载,仅仅扩展了一个接口,作为丈量仪器的接口。芯片的基准电压取自电源电压DC5V。

三.软件设计

/**************************************************************************

*程序称号:TLC5615驱动

*程序功用:向TLC5615写入数字信号,丈量调查输出模拟信号

*开发工具:WSF-51DB开发板

* MCU类型:AT89S52-24PU

*时钟频率:12MHZ

*程序作者:吴师傅

*版权阐明:吴师傅版权所有。转载请注明来历和作者。

**************************************************************************/

#i nclude

sbit sclk=P3^3;//串行时钟

sbit din=P3^2;//串行数据输入

sbit cs=P3^4;//片选

sbit dout=P0^7;//串行数据输出

//延时毫秒函数:

void Delayms(unsigned int t)

{

unsigned int x,y;

for(x=t;x>0;x–)

for(y=120;y>0;y–);

}

//写TLC5615数据函数:

void WriteTLC5615(unsigned int wdata)

{

unsigned char i;

cs=0;//片选使能

wdata<<=2;//将数据左移两位,补两位扩展位,组成12位数据写入

for(i=0;i<12;i++)//写入12位数据

{

sclk=0;

din=(wdata&0x0800)?1:0;//取出最高位(第11位)写入

sclk=1;//上升沿送数据

wdata<<=1;//下一位移到最高位

}

cs=1;//片选制止

}

//主函数:

int main(void)

{

unsigned int i;

while(1)

{

//因参阅电压取自电源电压5V,输入数据到达512时,转化输出电压就已到达参阅电压

//输入数据大于512时,输出电压现已无法再上升。

for(i=0;i<512;i++)

{

WriteTLC5615(i);//输入数据从0-512每距离200ms递加,

Delayms(200);

//用万用表丈量输出引脚,会看到电压从0V-4V每距离200ms以约10mv递加

}

}

return 0;

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/jishu/255635.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部