芯片引脚图
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连接运算放大器反向输入端。运算放大器同相输入端接地。
如下图所示,运行本例时,按下K1~K8中的某个键,单片机会向DAC0808芯片输出0x00~0xff之间的8个不同数值,经转换后会输出8挡不同电压。
C程序如下:
#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);
}
}
proteus仿真运行结果如下:
DAC0808实现LED亮度调节电路图
首先是左边的控制部分。
下面用了PULLDOWN,因为这个东西用起来很方便,不用考虑阻值,只考虑电平特性。
正如前面发现的PULLUP一样。
右边的图是
主要还是参照典型电路把DAC0808接好。
最右边这个接地电阻。。其实是比较重要的东西。。一开始居然忘了。。
搞得电压探针测出来的值一直有问题,怎么换开关都是2点几的样子。。
因为LED导通后,把电压钳在那里了。
全部0条评论
快来发表一下你的评论吧 !