基于C语言的TLC549和TLC5615模数数模转换系统设计Word文件下载.docx

上传人:b****1 文档编号:14170064 上传时间:2022-10-19 格式:DOCX 页数:11 大小:462.11KB
下载 相关 举报
基于C语言的TLC549和TLC5615模数数模转换系统设计Word文件下载.docx_第1页
第1页 / 共11页
基于C语言的TLC549和TLC5615模数数模转换系统设计Word文件下载.docx_第2页
第2页 / 共11页
基于C语言的TLC549和TLC5615模数数模转换系统设计Word文件下载.docx_第3页
第3页 / 共11页
基于C语言的TLC549和TLC5615模数数模转换系统设计Word文件下载.docx_第4页
第4页 / 共11页
基于C语言的TLC549和TLC5615模数数模转换系统设计Word文件下载.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

基于C语言的TLC549和TLC5615模数数模转换系统设计Word文件下载.docx

《基于C语言的TLC549和TLC5615模数数模转换系统设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于C语言的TLC549和TLC5615模数数模转换系统设计Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。

基于C语言的TLC549和TLC5615模数数模转换系统设计Word文件下载.docx

本实验主要是通过单片机stc89c52芯片控制模数转换芯片tlc549将所给模拟信号转换成数字信号,然后将数字信号读进数模转换芯片tlc5615,从输出端口将转换后的信号输出来。

2.2模/数转换器

(1)模/数转换器的作用TLC549是一种高性能的8位A/D转换器,它以8位开关电容逐次逼近的方法实现A/D转换,本实验通过用该芯片采集模拟量,然后将采集到的模拟量转换为数字量后送至单片机。

(2)芯片特性;

TLC549芯片,可与通用微处理器、控制器通过I/OCLOCK、CS、DATAOUT三条口线进行串行接口。

具有4MHz片内系统时钟和软、硬件控制电路,转换时间最长17􀀁

s,TLC549允许的最高转换速率为40000次/s。

(3)引脚功能

Tlc549的引脚图如下:

TLC549各引脚功能如下:

●ANALOGIN,模拟量输入端;

●scLK,串行时钟输入端;

●cs,芯片选择,低有效;

●DATAOuT,数字量输出端;

●GND,模拟地;

●REF+,基准电压输入端;

●REF-,基准电压负端;

●VCC,正电源电压端。

2.3数/模转换器

(1)数/模转换器的作用TLC5615是一个串行10位DAc芯片,它以10位开关电容逐次逼近的方法实现D/A转换。

本实验通过用该芯片采集数字量,然后将采集到的数字量转换为模拟量后送至示波器。

Tlc5615只需要通过3根串行总线就可以完成10位数据的串行输入,易于和工业标准的微处理器或微控制器(单片机/DsP)接口,适用于数字失调与增益调整以及工业控制场合

Tlc5615的引脚图如下:

各引脚功能如下:

●DIN,串行二进制数输入端;

●DOuT,用于级联的串行数据输出;

●AGND,模拟地;

●REFIN,基准电压输入端;

●OuT,DAc模拟电压输出端;

●VDD,正电源电压端。

2.4对整个电路进行仿真

输入是正弦波的时候输出是(不能输出负电压)

输入是方波的时候输出是

三硬件方案设计

3.1单片机最小系统部分

3.2串口部分

模数转换tlc549部分

数模转换部分tlc5615部分

四软件方案设计

本实验要求用stc89c52,max232,tlc549和tlc5615四种芯片,其中stc89c52是单片机微型控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上,相当于一个微型计算机,同时它体积小,质量轻,价格便宜。

Stc89c52是整个实验的核心,通过它的控制完成各个模块的正常工作。

Max232是一个串口芯片,它的功能主要是实现电脑和单片机之间的通信。

Tlc549是一个模数转换芯片,它是一个串行输出的八位芯片,实现模数转换。

Tlc5615是一个数模转换芯片,它是一个串行输出的十位芯片,实现数模转换。

程序流程图:

 

对应的程序是:

#include<

reg52.h>

intrins.h>

#defineuintunsignedint

#defineucharunsignedchar

#defineulongunsignedlong

sbitled=P1^3;

sbittlc_clk=P1^0;

sbittlc_data=P1^1;

sbittlc_cs=P1^2;

sbitcs=P2^0;

sbitsclk=P2^1;

sbitdin=P2^2;

/*---------------------延时函数----------------------*/

voiddelay(ucharz)

{

uintx;

for(x=z;

x>

0;

x--);

}

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

/*作用:

向TLC5615写入数据*/

write_5615(ulongda)

uchari;

cs=1;

sclk=0;

cs=0;

da=da&

0x0ff;

//da<

<

=8;

for(i=0;

i<

12;

i++)

if((bit)(da&

0x80)==1)

din=1;

else

din=0;

sclk=1;

da<

=1;

_nop_();

/*-----------------------TLC549子函数-----------------------*/

voidread_tlc()

{

uchari,j=0,k;

tlc_clk=0;

tlc_cs=1;

tlc_cs=0;

delay

(2);

for(i=0;

8;

{

j=j<

1;

k=tlc_data;

tlc_clk=1;

delay

(1);

j=j+k;

}

led=0;

write_5615(j);

_nop_();

voidmain()

while

(1)

read_tlc();

5.调试

5.1硬件调试

1.单片机地线没接

2.Tlc549参考电压没接

3.Max232一电容接错

5.2软件调试

1.从开始到结束出现的软件问题

2.tlc549采样程序出错

3.忽略了tlc549是八位精度,而tlc5615是十位精度

4.没有考虑数模转换只能输出正电压,即没有考虑tlc5615的电压输出范围

5.3软件和硬件联合调试

1.不清楚tlc549正常工作否,在单片机的p1.4接口接了一个低电平控制的二极管来监督tlc549是否正常工作,如果正常工作,那么二极管将会发光。

2.当程序烧进单片机时,输出端没有显示,故在输入端输入一个高电平模拟信号,发现输出是高电平,再在输入端输入一个低电平模拟信号,发现依然是高电平,故猜测是硬件没有正常工作,检查出是硬件问题。

5.4软件和硬件联合测试

当输入正弦波形时,输出是:

当输入时正弦波形时:

6.小结

通过这次试验,使自己的动手能力提高了很多,使自己的分析问题能力也提高了很多,不过最有价值的是自己知道遇到问题该怎么去解决,怎么去做。

不过,也发现了自己的不足,比如看文档不是怎么细心,如数模转换芯片只能输出正电压,还有焊接硬件时将电路焊接错了,希望在以后能够不断改掉自己的不好习惯,同时扎实自己的理论基础。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 销售营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1