串行DA转换实验.doc

串行DA转换实验.doc

ID:28358333

大小:1.76 MB

页数:6页

时间:2018-12-09

串行DA转换实验.doc_第1页
串行DA转换实验.doc_第2页
串行DA转换实验.doc_第3页
串行DA转换实验.doc_第4页
串行DA转换实验.doc_第5页
资源描述:

《串行DA转换实验.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、实验一串行D/A转换实验实验目的1、了解串行D/ATLC5615的功能与特性2、理解串行D/ATLC5615的工作时序3、掌握串行D/ATLC5615驱动程序编程实验仪器单片机开发板、万利仿真机、稳压电源、计算机实验原理1、TLC5615功能与特性TLC5615为美国德州仪器公司1999年推出的产品,是具有串行接口的数模转换器,其输出为电压型,最大输出电压是基准电压值的两倍。带有上电复位功能,即把DAC寄存器复位至全零。其特点有:(1)10位CMOS电压输出;(2)5V单电源供电;(3)与CPU三线串行接口;(4)最大输出电压可达基准电压的二倍;(5)输出电压具有和基准电压相同

2、极性;(6)建立时间12.5μs;(7)内部上电复位;(8)低功耗,最大仅1.75mW。TLC5615内部结构图如图4-34所示。图4-34TLC5615内部结构图2、TLC5615的时序TLC5615接口时序兼容SPI、QSPI、WSPI、Microwire。如图4-35所示。图4-35TLC5615接口时序图当片选信号有效时,串行接口可以输入数据。从图可知看出,当SCLK的正脉冲锁存输入的数据。串行数模转换器TLC5615的使用有两种方式,即级联方式和非级联方式。如不使用级联方式,DIN只需输入12位数据。DIN输入的12位数据中,前10位为TLC5615输入的D/A转换数

3、据,且输入时高位在前,低位在后,后两位必须写入数值为零的低于LSB的位,因为TLC5615的DAC输入锁存器为12位宽。如果使用TL5615的级联功能,来自DOUT的数据需要输入16位时钟下降沿,因此完成一次数据输入需要16个时钟周期,输入的数据也应为16位。输入的数据中,前4位为高虚拟位,中间10位为D/A转换数据,最后2位为低于LSB的位为零。如图4-36所示。图4-36TLC5615数据格式1、TLC5615串行D/A电路连接图4-37TLC5615电路板实验电路如图4-37所示。TLC5615的片选信号由P2口经74LS138译码后给定。时钟线,数据线分别接P1.7、P

4、1.5。参考电源为2.048V,这时输出电压最大值是4.096V。当需要级联时,只需把TLC5615的第4脚接到第2片的数据输入,时钟端、片选端只需并联即可。2、TLC5615驱动程序设计TLC5615的驱动程序主要是用软件模拟SPI接口(也可以用STC12C系例单片机的SPI接口输出)。首先设计出一次串行输出8位的SPI子程序,然后再按TLC5615规定的格式输出数据。流程图如图4-38所示。软件SPI输出一位数据产生正脉冲传输完成?返回YN非级连D/A输出输出高2位数据输出低8位数据输出2位0返回级连D/A输出输出高2位数据输出低8位数据输出2位0返回输出4位0图4-38T

5、LC5615驱动程序流程图实验内容1、三角波程序:#include#include#defineuintunsignedint#defineucharunsignedchar#defineCS_1P2=0xff;//片选信号关#defineCS_0P2=0x00;//开sbitSCLK=P1^7;//时钟输入位sbitDIN=P1^5;uintDAvalue=0;//数据输入位/*********************************DA转换函数**********************************/voidDA_

6、conver(uintDAdata){uchari;DAdata<<=6;//移除高6位CS_1;//片选无效SCLK=0;DIN=0;CS_0;//片选有效for(i=0;i<12;i++)//移入12位数据{DIN=(bit)(DAdata&0x8000);//取最高位SCLK=1;DAdata<<=1;//准备下一位SCLK=0;//准备下一个上升沿}CS_1;//将10位有效数据压入寄存器中进行D/A转换//P2=0xff;SCLK=0;}/****************************************主函数**********************

7、*******************/voidmain(){//DAvalue=512;while(1){for(DAvalue=16;DAvalue<993;DAvalue+=16)//根据电压出去=电压基准*(N/1024)得出加数规律{DA_conver(DAvalue);//调用D/A转换函数delay1ms(5);//延时}if(DAvalue=1008){DA_conver(DAvalue);//调用D/A转换函数for(;DAvalue>0;DAvalue-=16){DA_c

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。