基于AD5064芯片的DA转换程序设计报告.doc

基于AD5064芯片的DA转换程序设计报告.doc

ID:55767856

大小:885.00 KB

页数:17页

时间:2020-06-06

基于AD5064芯片的DA转换程序设计报告.doc_第1页
基于AD5064芯片的DA转换程序设计报告.doc_第2页
基于AD5064芯片的DA转换程序设计报告.doc_第3页
基于AD5064芯片的DA转换程序设计报告.doc_第4页
基于AD5064芯片的DA转换程序设计报告.doc_第5页
资源描述:

《基于AD5064芯片的DA转换程序设计报告.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于AD5064芯片的DA转换程序设计报告一、设计目的:1)掌握D/A转换芯片AD5064的性能和编程方法。2)以c8051f340单片机控制器,结合LCD1602液晶显示模块,可以实现在室温条件下将给定数字电压信号,经过AD5064转化为相应的模拟量,并用示波器或万用表可显示输出的电压值。二、设计环境:1)软件编程部分是在SiliconLaboratoriesIDE软件下完成的。2)DA转换的数据是在目前室温(3-14)下进行的。3)本次DA转化设计的参考电压值为5V。三、设计内容:本次设计包含了:硬件电路的设计,DA转换

2、程序的设计,硬件电路和程序的调试三大部分。3.1、硬件电路的设计:3.1.1DA转换部分硬件电路的设计AD5064原理图设计如图3-1所示,图3-1AD5064原理图3.1.2硬件电路的连接将c8051f340单片机与lcd1602,及AD5064相互连接。各模块连线示意图如图3-2所示,输入控制信号有串行数据时钟信号(SCLK)、串行数据输入信号(DIN)、帧同步信号(SYNC)、DAC装载寄存器(LDAC),三个控制信号,实物连接图如图3-3所示:图3-2各模块连线示意图图3-3各模块连接实物图3.2、DA程序设计:通过

3、阅读AD5064芯片使用手册,结合c8051f340对DA转化的初步程序进行了编写:测试程序是以DA芯片AD5064为主体,结合c8051f340单片机实现对AD5064的控制,以按键选择,先在LCD1602显示要输出的电压值,再完成输出电压的值DA转化,最后在输出端输出。3.1.1程序设计总体框图:图3-4程序设计总体框图3.1.2程序设计部分:(1)、AD5064是一个是低功耗、四通道16位位缓冲电压输出,能够以最高50MHz的时钟速率工作,并与标准SPI、QSPI™、MICROWIRE™和DSP接口标准兼容。片内提供集

4、成基准电压缓冲器和输出放大器。输入控制信号有串行数据时钟信号(SCLK)、帧同步信号(SYNC)、DAC装载寄存器(LDAC),三个控制信号,可以分别控制4通道输出不同的电压值,片内有两个寄存器,输入寄存器,DAC寄存器,一旦输入寄存器中有数据,可以分别用软件或者硬件来控制DAC寄存器值得更新。结合AD5064使用手册,首先对一些指令进行了定义,方便之后程序的调用。#define_0V0x0000//参考电压为5V时,输出为0V时数据位应存入的值#define_1V0x3333//参考电压为5V时,输出为1V时数据位应存入的

5、值#define_2V0x6666//参考电压为5V时,输出为2V时数据位应存入的值#define_3V0x9999//参考电压为5V时,输出为3V时数据位应存入的值#define_4V0xcccc//参考电压为5V时,输出为4V时数据位应存入的值#defineC_Writ_IR0X00//给输入寄存器写值命令#defineC_Rest0X07//复位命令#defineA_A0X00//DACA通道选择#defineA_B0X01//DACB通道选择#defineA_C0X02//DACC通道选择#defineA_D0X03

6、//DACD通道选择#defineA_ALL0X0F//DAC所有通道选择sbitSCLK=P1^0;//串行数据时钟信号sbitDIN=P1^1;//串行数据输入sbitSYNC=P1^5;//帧同步信号sbitLDAC=P1^6;//DAC装载寄存器(2)、结合AD5064使用手册中的移位寄存器分布图3-5和时序工作图3-6,对AD5064DA转化的操作命令进行了编写,因为数据是大端存储,先送命令位,故以写命令为例,由时序图可知,在时钟下降沿,数据在被帧同步信号锁存,由于本次DA主控器件为单片机,故选用8位为一次操作,先

7、把时钟信号SCLK置1,再将8位数据循环送入数据串行入端口(DIN),完成写命令操作。图3-5移位寄存器分布图图3-6时序图工作写命令子程序:输入:为相应的命令伪指令输出:无此程序完成功能:完成操作控制DA执行的相应命令。在8次循环中,先将时钟信号置高电平,再将数据位上的第8位数据送入数据串行入端口(DIN)延时一段时间,将时钟电平置0,锁存第8位数据;再次循环,将数据左移一位,取出第8位,送入数据串行入端口(DIN),再延时一段时间后,将时钟电平置0,再次锁存第7位数据,直到8位数据全部送完,从而完成命令控制功能。注意:如

8、图3-5所示,,本次命令控制程序只有低4位有用。voidWrite_Cmd(uchardat)//写命令操作{uchari;//用以循环的变量for(i=0;i<8;i++)//写8位,高4位无用{SCLK=1;//时钟信号置高电平DIN=((dat<

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

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

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