at89c51和dac0832生成锯齿波的proteus仿真
之前做了一个adc0832的DA转换实验,利用adc0832把采集到的模拟信号(电压)转换成数字信号,输入到单片机,然后在7段数码管中显示出信号的电压来。
所以这一次做一做数字转模拟的实验。
51的比较多的数模转换实验是做信号发生器,锯齿波,正弦波,方波等。
先做一做锯齿波吧。运放用的是标准运放opamp,主要是为了免去了解运放芯片参数的麻烦。
程序如下:
为了简单,我直接把dac0832设置为直通方式。实际运用的时候,直通方式是不能直接接单片机的。
#include <reg52.h> #include <intrins.h>
sbit CS0=P3^0; sbit WR0=P3^1;
main() { unsigned char k; WR0=0; CS0=0; while(1) { _nop_(); _nop_(); for(k=255;k>0;k--) {
P2=k; _nop_(); _nop_(); _nop_(); }
}
}
转载于:https://www.cnblogs.com/proteus/archive/2011/10/25/2224496.html
相关资源:51单片机信号发生器.zip