TLC549模数转换器的控制实验
- 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
#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;
}
}