基于C语言的TLC549和TLC5615模数、数模转换系统设计解剖.doc

基于C语言的TLC549和TLC5615模数、数模转换系统设计解剖.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
设计题目:基于C语言的TLC549和TLC5615模数、数模转换系统设计 一 设计要求 1、查阅资料,熟悉硬件和软件; 2、掌握TLC549芯片和TLC5615芯片的特性,引脚功能。 3、确定详细软件设计方案,画程序流程图。 4、根据TLC549的时序图,使用C语言编写单片机STC89C52与TLC549的软件通信程序代码。实现模/数转换功能。 5、根据TLC5615的时序图,使用C语言编写单片机STC89C52与TLC5615的软件通信程序代码。实现数/模转换功能。 6、整合模数、数模转换代码,实现信号发生器在TLC549输入端输入正弦波(频率不限),示波器在TLC5615输出端测量到同样的正弦波,记录输出波形。 7、撰写课程设计报告。 二 方案论证 2.1.试验原理 本实验主要是通过单片机stc89c52芯片控制模数转换芯片tlc549将所给模拟信号转换成数字信号,然后将数字信号读进数模转换芯片tlc5615,从输出端口将转换后的信号输出来。 2.2模/数转换器 (1)模/数转换器的作用 TLC549是一种高性能的8位A/D转换器,它以8位开关电容逐次逼近的方法实现A/D转换,本实验通过用该芯片采集模拟量,然后将采集到的模拟量转换为数字量后送至单片机。 (2)芯片特性; TLC549芯片, 可与通用微处理器、控制器通过I/ O CLOCK、CS、DATA OU T 三条口线进行串行接口。具有4MHz 片内系统时钟和软、硬件控制电路, 转换时间最长17??s, T LC549允许的最高转换速率为40 000次/ s。 (3)引脚功能 Tlc549的引脚图如下: TLC549各引脚功能如下: ●ANALOG IN,模拟量输入端;●scLK,串行时钟输入端;●cs,芯片选择,低有效;●DATA OuT,数字量输出端;●GND,模拟地;●REF+,基准电压输入端; ●REF-,基准电压负端;●VCC,正电源电压端。 2.3数/模转换器 (1)数/模转换器的作用 TLC5615是一个串行10位DAc芯片,它以10位开关电容逐次逼近的方法实现D/A转换。本实验通过用该芯片采集数字量,然后将采集到的数字量转换为模拟量后送至示波器。 (2)芯片特性; Tlc5615只需要通过3根串行总线就可以完成10位数据的串行输入,易于和工业标准的微处理器或微控制器(单片机/DsP)接口,适用于数字失调与增益调整以及工业控制场合 (3)引脚功能 Tlc5615的引脚图如下: 各引脚功能如下: ●DIN,串行二进制数输入端;●scLK,串行时钟输入端;●cs,芯片选择,低有效;●DOuT,用于级联的串行数据输出;●AGND,模拟地;●REFIN,基准电压输入端;●OuT,DAc模拟电压输出端;●VDD,正电源电压端。 2.4对整个电路进行仿真 输入是正弦波的时候输出是(不能输出负电压) 输入是方波的时候输出是 三 硬件方案设计 3.1单片机最小系统部分 3.2串口部分 模数转换tlc549部分 数模转换部分tlc5615部分 四 软件方案设计 本实验要求用stc89c52,max232,tlc549和tlc5615四种芯片,其中stc89c52是单片机微型控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上,相当于一个微型计算机,同时它体积小,质量轻,价格便宜。Stc89c52是整个实验的核心,通过它的控制完成各个模块的正常工作。Max232是一个串口芯片,它的功能主要是实现电脑和单片机之间的通信。Tlc549是一个模数转换芯片,它是一个串行输出的八位芯片,实现模数转换。Tlc5615是一个数模转换芯片,它是一个串行输出的十位芯片,实现数模转换。 程序流程图: 对应的程序是: #includereg52.h #includeintrins.h #define uint unsigned int #define uchar unsigned char #define ulong unsigned long sbit led=P1^3; sbit tlc_clk = P1^0; sbit tlc_data = P1^1; sbit tlc_cs = P1^2; sbit cs=P2^0; sbit sclk=P2^1; sbit din= P2^2; /*---------------------延时函数----------------------*/ void delay(uchar z) { uint x; for(x=z;x0;x--); } /***********************************

文档评论(0)

123****6648 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档