51proteus仿真:生成鋸齒波
之前做了一個(gè)adc0832的DA轉(zhuǎn)換實(shí)驗(yàn),利用adc0832把采集到的模擬信號(hào)(電壓)轉(zhuǎn)換成數(shù)字信號(hào),輸入到單片機(jī),然后在7段數(shù)碼管中顯示出信號(hào)的電壓來。
所以這一次做一做數(shù)字轉(zhuǎn)模擬的實(shí)驗(yàn)。
51的比較多的數(shù)模轉(zhuǎn)換實(shí)驗(yàn)是做信號(hào)發(fā)生器,鋸齒波,正弦波,方波等。
先做一做鋸齒波吧。運(yùn)放用的是標(biāo)準(zhǔn)運(yùn)放opamp,主要是為了免去了解運(yùn)放芯片參數(shù)的麻煩。
程序如下:
為了簡(jiǎn)單,我直接把dac0832設(shè)置為直通方式。實(shí)際運(yùn)用的時(shí)候,直通方式是不能直接接單片機(jī)的。
#include
#include
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_();
}
}
}