标题:
单片机DA转换实验
[打印本页]
作者:
好好学习a'a
时间:
2019-6-5 09:43
标题:
单片机DA转换实验
单片机DA转换实验程序实例
单片机源程序如下:
//硬件:J2的3、4短接(左端为1),为DA提供基准电压,芯片TLC5615的6脚为基准输入;
// TLC5615 7脚为数据输出端;
//注:1.硬件TL431的输出电压用两个电阻就可以任意地设置到从Vref(2.5V)到36V范围内的任何值;
// 因此TLC5615的基准电压硬件上最低只能调至2.5V。
// 2.TLC5615为10位DA转换,的实际输出电压是理论电压的两倍;
// 例如:当基准为2.5V,输入为256时,输出电压为1.25V。
// 当基准为2.5V,输入为511时,输出电压为2.5V。
// 当基准为2.5V,输入为1023时,输出电压为5.0V。
#include <at89x52.h>
#include <absacc.h>
#include <lcd.h>
#include <DA.h>
unsigned char bbb[]={" D/A TEST(2.5V) "};
unsigned char da_V[16]={'2','5','6',' ',' ',' ',' ',' ',' '};
unsigned int DA_Data=256; //DA输入值(0--1023)
//float DA_value=0.0;
unsigned int DA_value;
unsigned char temp[4]={0};
void shuzhichuli(void);
void main(void)
{
PORT=0x03; //BA口输出
lcd_init(); //液晶初始化
while(1)
{
da5615(DA_Data); //DA转换
DA_value=(2.50*DA_Data/1024*1000)*2.00+0.005;
shuzhichuli();
da_V[14]='V';
lcd_string(bbb,1);
lcd_string_change(0xc0,da_V);
}
}
void shuzhichuli(void)
{
unsigned int temp0,temp1;
unsigned int i;
unsigned int w;
temp1=DA_value;
for( i=0;i<4;i++)
{
temp0=temp1%10;
temp1=temp1/10;
temp[i]=temp0;
}
for( w=0;w<5;w++)
{
if(w==0)
{
da_V[w+9]=temp[3]+48;
}
else if(w==1)
{
da_V[w+9]='.';
}
else
{
da_V[w+9]=temp[4-w]+48;
}
}
}
复制代码
所有资料51hei提供下载:
DA转换.zip
(31.67 KB, 下载次数: 27)
2019-6-5 09:42 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
pitalll
时间:
2020-4-28 14:35
有proteus的图吗?
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1