TLC5615的C51模拟程序_第1页
TLC5615的C51模拟程序_第2页
TLC5615的C51模拟程序_第3页
TLC5615的C51模拟程序_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、TLC5615 的 C51 模拟程序程序说明:本程序适应于绝大多数没有四线制SPI 口的 8051单片机 , 模拟一个接口 , 可根据实际情况修改四个接口的地址即可实现移植 , 使用编译器为 keil c2*/#include /-/ 函数头的声明/-void delay();/延时函数void DA_Conver(unsigned int DA_Value);/AD转换/-定义四线制接口/-sbitcs =P32;/片选sbitclk =P33;/时钟sbitdin =P34;/数据入口sbitdout =P35;/数据出口/-主函数void main()long DAValue = 0;d

2、elay();while(1)DA_Conver(DAValue); /加上滤波后 , 就可以形成模拟输出delay();/-/函数名称 :delay/函数功能 :延时 55us/入口参数 :无/出口参数 :无/-void delay()int i = 5;while(i-);/-/函数名称 : DA_Conver/函数功能 :DA转换/入口参数 :要转换的数字量 , 最多输出参考电压的/2倍, 如可采用 MC1403 等参考电源/出口参数 :无/-void DA_Conver(unsigned int DAValue)unsigned char i;DAValue = 6;cs =0;clk

3、= 0;/片选 DA 芯片在以下 12 个时钟周期内,每当在上升沿的/数据被锁存 , 形成 DA 输出。在前 10 个时钟for(i= 0; i 12; i+)/内输入的是 10 位 DA 数据,后两个时钟周期/din = (bit)(DAValue & 0 x8000);/clk = 1;/DAValue = 1;/clk = 0;为填充字节。cs = 1;/ CS的上升沿和下降沿只有在 clk 为低的时候clk = 0;/才有效TI 10位 DA TLC5615 的驱动程序TI 10 位 DA TLC5615 的驱动程序-调用方式: void da5615(uint da)2001/03/

4、23函数说明: TI 10位 DA TLC5615 的驱动程序-*/#define SPI_CLK P0_6#define SPI_DATA P3_1#define CS_DA P3_4void da5615(uint da)uchar i;da=6;CS_DA=0;SPI_CLK=0;for (i=0;i12;i+)SPI_DATA=(bit)(da&0 x8000);SPI_CLK=1;da=1;SPI_CLK=0;CS_DA=1;SPI_CLK=0;for (i=0;i12;i+);串行 10 位数 /模转换器 TLC5615 及其在单片机中的应用免费下载1. TL C5615 简介1.

5、 1 概述1. 2 功能框图1. 3 引脚功能1. 4 推荐工作条件2. TL C5615 的工作原理2.1 TL C5615的时序2.2两种工作方式3. TL C5615 与 A T89C52 单片机接口3. 1 硬件连接3. 2软件编程本接口的硬件结构十分简单 , 编程也不麻烦 , 工作稳定 , 只是速度受到执行程序所需时间的限制 , 但在一般控制仪表中没有问题的。这是串行 DAC 与并行 DAC相比所不可避免的缺陷。 TLC5615 三线接口与 SPI 、QSPI 以及 Mi2crowire 串行标准兼容 , 一般只需要执行 2 个周期一个写周期传送一个 8 位二进制数 , 就可以完成一

6、次 DAC 操作 , 显然 , 工作速度比 AT89C52 单片机与TLC5615 所构成的数 / 模转换系统快。图片 1TI 10 位 DA TLC5615 的驱动程序TI 10位 DA TLC5615 的驱动程序TI 10-位 DA TLC5615 的驱动程序调用方式:函数说明:void da5615(uint da)2001/03/23TI 10位 DA TLC5615 的驱动程序-*/#define SPI_CLK P0_6#define SPI_DATA P3_1#define CS_DA P3_4void da5615(uint da)uchar i;da=6;CS_DA=0;SPI_CLK=0;for (i=0;i12;i+)SPI_DATA=(bit)(da&0 x8000);SPI_CLK=1;da=1;SPI_CLK=0;CS_DA=1;SPI_CLK=0;for (i=0;iB:1000.0000.0000.0000dada=da*26=1024若 da=*.*.*.*da6, 那么 :da=*.*.*00.0000da&0 x8000相当于取da 的从右边数第十个二进制位.for (i=0;i12;i+)SPI_DATA=(bit)(da&0 x8000);SPI_CLK=1;da=1;SP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论