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); }
程序结果如下图
这个例子比较详细, 楼主用心了