微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > DAC0808通过51单片机控制输出电压

DAC0808通过51单片机控制输出电压

时间:10-02 整理:3721RD 点击:

    DAC0808是8位数模转换集成芯片,电流输出,稳定时间为150ns,驱动电压±5V,33mW。DAC0808可以直接和TTL,DTL和CMOS逻辑电平相兼容。

    

引脚功能 
A1—A8:8位并行数据输入端(A1为最高位,A8为最低位)

VREF(+):正向参考电压(需要加电阻)

 VREF(-):负向参考电压,接地 IOUT:电流输出端 VEE:负电压输入端 

COMP:compensation(补偿),补偿端,与VEE之间接电容(R14=5kΩ时,(R14为14引脚的外接电阻),一般为0.1uF,电容必须随着R14的增加而适当增加) 
GND:接地端,VCC:电源端,在proteus中都已隐藏 

应用电路如下图所示:

VEE接-5V电压,COMP端与VEE之间接0.1uF电容,VREF(+)通过5K电阻接+5V电源,VREF(-)接地。输出端IOUT连接运算放大器反向输入端。运算放大器同相输入端接地。

用按键控制DAC0808的输出,按下K1~K8中的某个键,单片机会向DAC0808芯片输出0x00~0xff之间的8个不同数值,经转换后会输出8挡不同电压。

程序如下图所示

#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
void delay(uint x)
{uchar i;
while(x--)
for(i=0;i<120;i++);
}
void main()
{P0=0X00;
while(1)
{if(P3==0XFE)P0=0; 
 if(P3==0XFD)P0=35;
 if(P3==0XFB)P0=70;
 if(P3==0XF7)P0=105;
 if(P3==0XEF)P0=140;
 if(P3==0XDF)P0=175;
 if(P3==0XBF)P0=210;
 if(P3==0X7F)P0=255;
 delay(2);
}

程序结果如下图

这个例子比较详细, 楼主用心了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top