TLC5615与AT89C52单片机接口编程

电子常识

2637人已加入

描述

  TLC5615 为美国德州仪器公司 1999 年推出的产品,是具有串行接口的数模转换器,其输出为电压型,最大输出电压是基准电压值的两倍。带有上电复位功能,即把DAC 寄存器复位至全零。性能比早期电流型输出的 DAC 要好。

  只需要通过 3 根串行总线就可以完成10 位数据的串行输入,易于和工业标准的微处理器或微控制器(单片机) 接口, 适用于电池供电的测试仪表、移动电话,也适用于数字失调与增益调整以及工业控制场合。

  AT89C52单片机的最大优点是内部具有电擦除的8kBEPROM,易于通过ALL03等编程与擦除,而且具有低功耗等特点。利用AT89C52单片机的通用I/O口(P1口)与TLC5615构成的DAC电路如图4所示。分别用P1.0、P1.2模拟时钟SCLK和片选CS,待转换的二进制数从P1.1输出到TLC5615的数据输入端DIN。

  TLC5615

  软件编程

  选12位数据格式对其编程,关键是要编写一个12位数据写入TLC5615的子程序。设待输入的12位数据在单片机内部RAM的R0和R1寄存器中,其中高8位在R1中,低4位在R0的高4位。作为入口参数调用DAC的程序如下:

  DAC:MOVP1,#0FCH;SCLK=0,DIN=0,CS=1

  NOP

  CLRP1.2;在SCLK=0时,CS变低

  MOVA,R1;高8位送给A

  MOVR3,#08H;传送8次

  LCALLCUSO;传送高8位

  MOVA,R0

  MOVR3,#04

  HLCALLCUSO;传送低4位

  SETBP1.2;CS=1,将16位移位寄存器中的10位有效数据锁存于10位DAC寄存器中

  RET

  ;传送子程序

  LOOP;RLCA

  MOVP1.1,C

  NOP

  SETBP1.0

  NOP

  CLRP1.0

  MOVR4,A;暂存于R4中

  MOVA,R3

  DECA

  MOVR3,A;次数减1

  MOVA,R4

  JNZLOOP

  RET

  本接口的硬件结构十分简单,编程也不麻烦,工作稳定,只是速度受到执行程序所需时间的限制,但在一般控制仪表中没有问题的。这是串行DAC与并行DAC相比所不可避免的缺陷。

  TLC5615三线接口与SPI、QSPI以及Mi2crowire串行标准兼容,一般只需要执行2个周期(一个写周期传送一个8位二进制数),就可以完成一次DAC操作,显然,工作速度比AT89C52单片机与TLC5615所构成的数/模转换系统快。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分