TLC549模数转换器的控制实验
实验5 模数变换TLC549 串行ADC例程

有缘学习更多+谓ygd3076或关注桃报:奉献教育(店铺)
CS = 1; return d;
} /* 函数:AdcInit() 功能:初始化ADC接口 */ void AdcInit() {
CS = 1; CLK = 0; DAT = 1; ReadAdc(); }
/* 函数:Delay() 功能:延时(t*10)ms */ void Delay(unsigned char t) {
do {
TH0 = 0xC5; TL0 = 0x68; TR0 = 1; while ( !TF0 ); TR0 = 0; TF0 = 0; } while ( --t != 0 ); }
/* 函数:DispClear() 功能:清除数码管的所有显示 */
void DispClear()
{
unsigned char i;
/* 函数:SysInit() 功能:系统初始化 */ void SysInit() {
TMOD &= 0xF0; TMOD |= 0x01; DispInit(); AdcInit(); Delay(10); }
/* 函数:DispChar() 功能:在数码管上显示字符 参数:x:数码管的坐标位置(0~7) c:要显示的字符(仅限16进制数字和减号) dp:是否显示小数点,0-不显示,1-显示 */
#include "VolTab.h"
//定义TLC549操作接口 sbit CS = P2^2; sbit DAT = P2^3; sbit CLK = P2^4;
//定义显示缓冲区(由定时中断程序自动扫描) unsigned char DispBuf[8];
/* 函数:ReadAdc() 功能:读取A/D转换结果 返回:8位ADC代码 */
基于tlc549和tlc5615模数数模转换讲解

任务书1、查阅资料,熟悉硬件和软件;(所使用硬件芯片型号,所使用软件编辑环境)2、掌握TLC549芯片和TLC5615芯片的特性,引脚功能。
3、确定详细软件设计方案,画程序流程图4、根据TLC549的时序图,使用汇编语言/C语言编写单片机STC89C52与TLC549的软件通信程序代码。
实现模/数转换功能。
5、根据TLC5615的时序图,使用汇编语言/C语言编写单片机STC89C52与TLC5615的软件通信程序代码。
实现数/模转换功能。
6、整合模数、数模转换代码,实现信号发生器在MAX1247输入端输入正弦波(频率不限),示波器在TLC5615输出端测量到同样的正弦波,记录输出波形。
7 .撰写课程设计报告。
目录1、绪论 (XX)2、方案论证(规划、选定) (XX)3、方案说明(设计)XX (XX)4、硬件方案设计 (XX)5、软件方案设计 (XX)6、调试 (XX)6、技术小结(结束语) (XX)8、参考文献 (XX)9、附录(源程序代码、电路图等) (XX)1.绪论本实验主要是基于单片机微型控制器的控制,实现将模拟信号转换成数字信号的一个简单实验。
通过这个实验,可以为广大研究人员提供一个比较系统的模数数模转换基础资料,以便于将模拟信号转换为数字信号或将数字信号转换成模拟信号。
2.方案论证2.1.试验原理本实验主要是通过单片机stc89c52芯片控制模数转换芯片tlc549将所给模拟信号转换成数字信号,然后将数字信号读进数模转换芯片tlc5615,从输出端口将转换后的信号输出来。
可用图1简洁明了地表现出来:2.2模/数转换器(1)模/数转换器的作用TLC549是一种高性能的8位A/D转换器,它以8位开关电容逐次逼近的方法实现A/D转换,本实验通过用该芯片采集模拟量,然后将采集到的模拟量转换为数字量后送至单片机。
(2)芯片特性;TLC549芯片, 可与通用微处理器、控制器通过I/ O CLOCK、CS、DATA OU T 三条口线进行串行接口。
8串行模数转换实验报告

串行A/D转换一、实验目的学习使用串行模数转换芯片TLC549进行电压采集和数据处理。
二、protel电原理图三、程序流程图四、汇编程序1、CS BIT P1.2DAT BIT P1.1CLK BIT P1.0AD_DATA DATA 30HORG 8000HAJMP MAINORG 8100HMAIN:MOV SP,#60H ;堆栈指针初始化ACALL TLC549_ADC ;调用TLC549_ADC函数MOV R7,#0DJNZ R7,$ACALL TLC549_ADCMOV AD_DA TA,ASJMP $TLC549_ADC:CL RACLR CLKCLR CS ;选中TLC549MOV R6,#8TLCAD_L1:SETB CLKNOPNOPMOV C,DA TRLC ACLR CLK ;DA=0,为读出下一位数据做准备NOPDJNZ R6,TLCAD_L1SETB CS ;禁止TLC549,再次启动A/D转换SETB CLKRET;END2、CS BIT P1.2DAT BIT P1.1CLK BIT P1.0AD_DATA DATA 30HORG 8000HAJMP MAINORG 800BHLJMP INTT0ORG 8100HMAIN:MOV SP,#60HMOV TMOD,#02HMOV TL0,#48HMOV TH0,#48HSETB ET0SETB EASETB TR0MOV R0,#AD_DA TAACALL TLC549_ADCSJMP $INTT0:ACALL TLC549_ADCMOV @R0,AINC R0CJNE R0,#80H,RETTICLR TR0CLR EACLR ET0RETTI:RETITLC549_ADC:CLR ACLR CLKCLR CSMOV R6,#8TLCAD_L1:SETB CLKNOPNOPMOV C,DAT ; 读入数据到标志位RLC A ; 用循环移位吧标志位移入ACLR CLKNOPDJNZ R6,TLCAD_L1SETB CSSETB CLK ; 禁止TLC549,再次启动A/D转换。
智能仪器最终版

实验一模拟量的输入\输出指导教师李业德实验目的:熟悉模数转换的工作原理,学习使用串行模/数转换芯片TLC549进行电压信号的采集和数据处理。
实验设备及器件:PC机,DP-51PROC单片机综合仿真实验仪。
实验内容:编写程序,通过单片机的P1口控制串行A/D转换芯片TLC549实现模拟电压信号的采集,通过LED数码管显示转换结果。
实验步骤:1、电路连接1)安装B8区JP17的短路帽,然后将Vcc(+5V电源)与B8区的REF+连接,将B8区的CLK、DAT、CS对应连接到A2区的P10、P11、P12针上。
2)使用导线将D2区的10K 电位器连接为电压调节模式,使用导线将其电压调整端连接到B8区的ANIN连接柱,作为TLC549的模拟电压信号输入。
2、编写程序编写程序,驱动TLC549,将转换结果显示在数码管上。
3、下载调试打开调试软件,下载运行编写好的程序,完成一次A/D转换,然后调节电位器改变输入模拟电压,多次测量保存测量数据。
实验参考程序:#include <REG51.h>#include <intrins.h>#include <absacc.h>#include "VIiC_C51.H" //包含VI2C软件包#include "zlg7290.h"#define uchar unsigned charsbit CLK=P1^3;sbit DAT=P1^1;sbit CS=P1^2;sbit RST=P1^0;uchar bdata ADCdata;sbit ADbit=ADCdata^0;unsigned char DelayNS(unsigned char no) {unsigned char i,j;//延时参数for(; no>0; no--){for(i=0; i<100; i++)for(j=0; j<10; j++);}return 0;}/**************************************** *************函数名称: TLC549ADC()**函数功能: 读取上一次A/D转换的数据,启动下一次A/D转换***************************************** ***********/uchar TLC549ADC(void){uchar i;CLK=0;DAT=1;CS=0;for(i=0;i<8;i++){CLK=1;_nop_();_nop_();ADCdata<<=1;ADbit=DAT;CLK=0;_nop_();}return (ADCdata);}void main(){uchar i;uchar AD_DATA; //定义A/D转换数据变量RST=0;DelayNS(1);RST=1;DelayNS(10);TLC549ADC(); //启动一次A/D转换for(i=0xff;i>0;i--) //延时{_nop_();}while(1){AD_DATA=TLC549ADC();ZLG7290_SendCmd(0x60+0,AD_DATA);}}实验二智能机器人机接口指导教师李业德实验目的:掌握智能仪器的人机对话接口。
基于tlc549和tlc5615模数数模转换

任务书1、查阅资料,熟悉硬件和软件;(所使用硬件芯片型号,所使用软件编辑环境)2、掌握TLC549芯片和TLC5615芯片的特性,引脚功能。
3、确定详细软件设计方案,画程序流程图4、根据TLC549的时序图,使用汇编语言/C语言编写单片机STC89C52与TLC549的软件通信程序代码。
实现模/数转换功能。
5、根据TLC5615的时序图,使用汇编语言/C语言编写单片机STC89C52与TLC5615的软件通信程序代码。
实现数/模转换功能。
6、整合模数、数模转换代码,实现信号发生器在MAX1247输入端输入正弦波(频率不限),示波器在TLC5615输出端测量到同样的正弦波,记录输出波形。
7 .撰写课程设计报告。
目录1、绪论 (XX)2、方案论证(规划、选定) (XX)3、方案说明(设计)XX (XX)4、硬件方案设计 (XX)5、软件方案设计 (XX)6、调试 (XX)6、技术小结(结束语) (XX)8、参考文献 (XX)9、附录(源程序代码、电路图等) (XX)1.绪论本实验主要是基于单片机微型控制器的控制,实现将模拟信号转换成数字信号的一个简单实验。
通过这个实验,可以为广大研究人员提供一个比较系统的模数数模转换基础资料,以便于将模拟信号转换为数字信号或将数字信号转换成模拟信号。
2.方案论证2.1.试验原理本实验主要是通过单片机stc89c52芯片控制模数转换芯片tlc549将所给模拟信号转换成数字信号,然后将数字信号读进数模转换芯片tlc5615,从输出端口将转换后的信号输出来。
可用图1简洁明了地表现出来:2.2模/数转换器(1)模/数转换器的作用TLC549是一种高性能的8位A/D转换器,它以8位开关电容逐次逼近的方法实现A/D转换,本实验通过用该芯片采集模拟量,然后将采集到的模拟量转换为数字量后送至单片机。
(2)芯片特性;TLC549芯片, 可与通用微处理器、控制器通过I/ O CLOCK、CS、DATA OU T 三条口线进行串行接口。
芯片TLC549介绍

芯片TLC549介绍TLC549是德州仪器(Texas Instruments)公司生产的一款12位ADC (模数转换器)芯片。
它是一种单路、非差分型的ADC,具有高性能和低功耗的特点。
TLC549的内部结构包括一个伪双电源样本保持电路、一个12位A/D转换器和一个5位数字接口控制电路。
TLC549具有的一项重要特性是其高精度转换能力。
它能够提供12位的分辨率,即可以将模拟输入信号转换为2^12个不同的数字量级。
这使得TLC549非常适用于各种需要高精度测量的应用领域,比如仪器、医疗设备和工控系统等。
为了确保高质量的模拟输入信号,TLC549的伪双电源样本保持电路能够在采样过程中快速并稳定地获取模拟输入信号。
这种电路设计减少了信号失真和噪声的影响,提高了转换精度和稳定性。
TLC549还具有低功耗的特点。
它采用了低功耗的CMOS工艺技术,使得其工作电流非常小,通常在1.4mA左右。
这对于需要长时间工作的应用而言,可以降低功耗和热量产生,延长设备的使用寿命。
另外,TLC549还支持多种工作模式和转换速率选择。
通过SPI(串行外围接口)总线和主控器连接,可以通过控制字节对TLC549进行配置。
用户可以根据具体应用的需求选择不同的工作模式和转换速率,从而满足不同的采样要求。
以下是一个使用TLC549芯片进行模拟信号转换的简单示例程序:#include <msp430g2553.h>#define CLK BIT7#define CS BIT4#define DIN BIT5#define DOUT BIT6void spi_initUSICTL0,=USIPE7,USIPE6,USIPE5,USIMST,USIOE; USICTL1,=USICKPH;USICKCTL,=USISSEL_2,USICKPL;USICTL0&=~USISWRST;unsigned int read_adcP1OUT&=~CS;USISRL=0x00;USICNT=8;while(!(USICTL1 & USIIFG));P1OUT,=CS;return (USISRH << 8) , USISRL;void main(void)WDTCTL=WDTPW,WDTHOLD;P1DIR,=CS;P1DIR,=CLK;P1DIR&=~DOUT;P1OUT,=CS;P1OUT,=CLK;spi_init(;while(1)unsigned int data = read_adc(;//进行相应的处理或输出}这个示例程序是在MSP430G2553微控制器上运行的。
串行模数数模转换实验报告

串行模数/数模转换实验报告一.实验目的:1、掌握 TLC549同步串行接口的ADC模块的特性、编程原理,了解TLC5620的4种时序图以及产生波形幅度的计算方法。
2、能实现TLC549、TLC5620与MCS-51单片机的连接,分别进行数据采集和波形观测。
3、能采用Proteus ISIS软件进行串行模数转换的电路设计。
4、能运用MCS-51单片机汇编语言进行串行模数/数模转换实验的软件设计。
二.实验要求:1、将TLC549 与MCS-51单片机进行连接,利用汇编语言编写出数据采集程序,将转换的模拟电压以二进制的形式通过单片机的P0口输出显示。
1)将单片机的P0口与LED1~LED8连接起来,作为输出显示。
由于LED采用灌电流方式驱动,所以要将数据取反后再输出显示,以获得“正逻辑”效果2)利用P1口与TLC549的控制信号进行连接,TLC549的基准电压REF+端与基准电压+5V相连,将电位器的上端连接VCC、下端连接GND,抽头与TLC549的模拟输入ANIN连接。
在运行程序时,不断地调节电位器,使其抽头电压连续变化,通过LED1~LED8的状态观察ADC转换的结果。
3)运用Proteus ISIS软件完成串行模数转换实验的硬件电路设计。
4)实现KeilC与Proteus软件的联调。
2、设计软件程序,用单片机的I/O口控制TLC5620实现D/A转换,使其通道1产生一个三角波,而通道2产生一个和通道1周期、幅度均相同的方波。
1)短接B7区的电源供给跳线JP16,调节B7区的电位器W3,使其输出接线柱Verf的电压为2.6V。
2)将A2区P16、P17、T0、T1分别连接到B9区的CLK、DAT、LDAC、LOAD,将B7区Verf连接到B9区REF接线柱,短接B9区电源跳线JP13。
3)运行光盘中的相应程序,用双踪示波器的两个探头观察DACA、DACB输出的波形。
三.流水灯硬件电路图四.软件程序1. 串行模数实验程序流程图2.程序清单 1) 串行模数:SDO BIT P1.0 ;数据输出CS BIT P1.1 ;片选SCLK BIT P1.2 ;时钟ORG 8000HAJMP MAINORG 8100HMAIN: MOV SP,#60HLOOP: ACALL TLC549_ADCCPL A ;累加器A取反MOV P0,A ;数据给P0口ACALL DELAYSJMP MAINTLC549_ADC: PUSH 07HCLR A ;清零CLR SCLKMOV R6,#08H ;计数器赋初值CLR CS ;选中TLC549LOOP1:SETB SCLK ;SCLK置位,数据输出NOPNOPMOV C,SDORLC A ;累加器A循环左移CLR SCLK ;SDO=0,为读出下一位数据作准备 NOPDJNZ R6,LOOP1 ;R6-1→R6,判断R6=0SETB CS ;禁止TLC549,再次启动AD转换 SETB SCLKPOP 07HRETDELAY: PUSH 00HMOV R0,#00HDJNZ R0,$POP 00HRETEND2)串行数模:SCLA BIT P1.6SDAA BIT P1.7LOAD BIT P3.5LDAC BIT P3.4VOUTA DATA 30HVOUTB DATA 31HORG 8000HAJMP MAINORG 8100HMAIN:MOV SP,#60HNOPCLR SCLACLR SDAASETB LOADSETB LDACMOV R3,#0A2HMOV R4,#00HMOV VOUTA,#00HMOV R5,#0A2HMOV R6,#00HMOV VOUTB,#00HDACHANG:MOV R1,#01HMOV R2,VOUTALCALL DAC5620DJNZ R3,CONTINUEAMOV R3,#0A2HMOV A,R4CPL AMOV R4,ACONTINUEA:CJNE R4,#OFFH,CONTINUEB DEC R2SJMP CONTINUEC CONTINUEB:INC R2CONTINUEC:MOV VOUTA,R2MOV R1,#03HMOV R2,VOUTBLCALL DAC5620DJNC R5,CONTINUEDMOV R5,#042HMOV A,R6CPL AMOV R6,A CONTINUED:CJNE R6,#0FFH,CONTINUEE MOV R2,#OA2HSJMP CONTINUEF CONTINUEE:MOV R2,#00H CONTINUEF:MOV VOUTB,R2LJMP DACHANG DAC5620:MOV A,R1CLR SCLAMOV R7,#08HLCALL SENDBYTEMOV A,R2CLR SCLAMOV R7,#08HLCALL SENDBYTECLR LOADSETB LOADCLR LDACSETB LDACRETSENDBYTE:SETB SCLARLC AMOV SDAA,CCLR SCLADJNZ R7,SENDBYTE RETEND五.实验结果观察实验结果,可知道通过调节电位器,数字量在对应的发生改变。
TLC549模数转换器的控制实验

A/D芯片TLC549的转换与数据采集实验1、实验目的(1) 掌握A/D转换与单片机的接口方法;(2)掌握A/D芯片TLC549的编程方法;(3)掌握数据采集程序的设计方法;2、实验内容利用实验开发装置上的TLC549做A/D转换器,对电位器提供的模拟电压信号进行定时采样,结果在数码管上进行显示。
3、I/O地址A/D转换芯片 TLC549CLK P1.5 时钟位DAT P1.7 数据位CS P1.6 选片位4、实验线路将TLC549的CLK接P1.5、DAT接P1.7、CS接P1.6,将模拟电压输入端连到电位器的电压输出端,并接万用表进行输入电压测量。
5、实验步骤在PC机输入源程序并汇编,然后下载到单片机上,进行调试。
调节电位器,电压从0V到5V变化,记录数码管的显示数值。
记录到表中。
6、实验报告(1) 整理好实验程序和实验记录,进行数据处理分析并做图。
(2) 数据采集中,如何实现精确的定时数据采集?(3) 数码管动态扫描显示程序设计中,显示刷新的时间如何确定?TLC549实验程序#include "reg52.h"#include <intrins.h>#define uchar unsigned char#define uint unsigned int/***************************************************TLC549 A/D转换****************************************************/sbit CLK=P1^5;sbit DAT=P1^7;sbit CS =P1^6;uchar TLC549ADC(void){uchar i,x;CLK=0; DAT=1; CS=0;for(i=0;i<8;i++){CLK=1;x<<=1;if(DAT==1) x++;CLK=0;}CS=1;return (x);}uint y;uchar x;void main(){while(1){y=TLC549ADC();y=y*250/128;P3=y/100;P2=y%10+((y/10)%10)*16;}}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A/D芯片TLC549的转换与数据采集实验
1、实验目的
(1) 掌握A/D转换与单片机的接口方法;
(2)掌握A/D芯片TLC549的编程方法;
(3)掌握数据采集程序的设计方法;
2、实验内容
利用实验开发装置上的TLC549做A/D转换器,对电位器提供的模拟电压信号进行定时采样,结果在数码管上进行显示。
3、I/O地址
A/D转换芯片 TLC549
CLK P1.5 时钟位
DAT P1.7 数据位
CS P1.6 选片位
4、实验线路
将TLC549的CLK接P1.5、DAT接P1.7、CS接P1.6,将模拟电压输入端连到电位器的电压输出端,并接万用表进行输入电压测量。
5、实验步骤
在PC机输入源程序并汇编,然后下载到单片机上,进行调试。
调节电位器,电压从0V到5V变化,记录数码管的显示数值。
记录到表中。
6、实验报告
(1) 整理好实验程序和实验记录,进行数据处理分析并做图。
(2) 数据采集中,如何实现精确的定时数据采集?
(3) 数码管动态扫描显示程序设计中,显示刷新的时间如何确定?
TLC549实验程序
#include "reg52.h"
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
/***************************************************
TLC549 A/D转换
****************************************************/
sbit CLK=P1^5;
sbit DAT=P1^7;
sbit CS =P1^6;
uchar TLC549ADC(void)
{
uchar i,x;
CLK=0; DAT=1; CS=0;
for(i=0;i<8;i++)
{
CLK=1;
x<<=1;
if(DAT==1) x++;
CLK=0;
}
CS=1;
return (x);
}
uint y;
uchar x;
void main()
{
while(1)
{
y=TLC549ADC();
y=y*250/128;
P3=y/100;
P2=y%10+((y/10)%10)*16;
}
}。