51proteus仿真:生成锯齿波
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_();
}
}
}