<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 模數(shù)轉(zhuǎn)換DAC0832的應(yīng)用實(shí)驗(yàn)

          模數(shù)轉(zhuǎn)換DAC0832的應(yīng)用實(shí)驗(yàn)

          作者: 時(shí)間:2012-11-03 來源:網(wǎng)絡(luò) 收藏

          [實(shí)驗(yàn)任務(wù)]
          用兩個(gè)按鍵通過單片機(jī)控制的輸出,使OUT端可以輸出0—5V的幅值,頻率為1KHZ的鋸齒波和三角波兩種波形。通上電源后;按下INT1則輸出三角波,在按下INT0輸出鋸齒波。

          [實(shí)驗(yàn)原理]
          ADC0804是8位全MOS 中速D/A,采用R—2RT形電阻解碼網(wǎng)絡(luò),轉(zhuǎn)換結(jié)果為一對(duì)差動(dòng)電流輸出,轉(zhuǎn)換時(shí)間大約為1us。使用單電源+5V―+15V供電。參考電壓為-10V-+10V。在此我們直接選擇+5V作為參考電壓。有三種工作方式:直通方式,單緩沖方式,雙緩沖方式;在此我們選擇直通的工作方式,將XFER WR 1WR2 CS管腳全部接數(shù)字地。管腳8接參考電壓,在此我們接的參考電壓是+5V。那么經(jīng)過第一級(jí)運(yùn)放后,輸出電壓將是-5V-0V,在經(jīng)過第二級(jí)運(yùn)放反相放大1倍以后將可以輸出0V—5V了。我們?cè)诳刂芇1口輸出數(shù)據(jù)有規(guī)律的變化將可以產(chǎn)生三角波,鋸齒波,梯型波等波形了。

          [C語言源程序]
          #include AT89X51.H>
          unsigned char keycnt=0;
          unsigned char tcnt=0; //鍵值判斷
          bit sjz=0; //產(chǎn)生三角波時(shí)用到的標(biāo)志
          void delayl() //延時(shí)子程序
          { unsigned char i,j;
          for(i=20;i>0;i--)
          for(j=248;j>0;j--); }
          void KEY() //按鍵掃描程序
          {
          if(P3_2==0)
          {
          delayl(); //延時(shí)跳過按下時(shí)的抖動(dòng)
          if(P3_2==0)
          {
          keycnt=0; //定時(shí)器產(chǎn)生鋸齒波標(biāo)志
          TR0=0; //暫時(shí)停止波形輸出
          TH0=0x256-40; //對(duì)TH0 TL0賦值
          TL0=0x256-40;
          TR0=1; //開始定時(shí),產(chǎn)生鋸齒波
          while(P3_2==0); //如果一直按著鍵,則等待松鍵開
          delayl(); //延時(shí)跳過松開后的抖動(dòng)
          } }
          if(P3_3==0)
          {
          delayl(); //延時(shí)跳過按下時(shí)的抖動(dòng)
          if(P3_3==0)
          {
          keycnt=1; //定時(shí)器產(chǎn)生三角波標(biāo)志
          TR0=0; //暫時(shí)停止波形輸出
          TH0=0x256-40; //對(duì)TH0 TL0賦值
          TL0=0x256-40;
          TR0=1; //開始定時(shí) 產(chǎn)生三角波
          }
          while(P3_2==0); //如果一直按著鍵,則等待松鍵開
          delayl(); //延時(shí)跳過松開后的抖動(dòng)
          }
          } //請(qǐng)注意寫程序時(shí)的格式規(guī)范,此處是為了節(jié)省紙張
          void t0(void) interrupt 1 using 0 //定時(shí)中斷服務(wù)函數(shù)
          {
          if(keycnt==0) //產(chǎn)生鋸齒波
          {
          P0=tcnt;
          tcnt=+0x0a; //步進(jìn)0.2V/一次中斷
          if(tcnt==0xfb)
          {tcnt=0;}
          }
          if(keycnt==1) //產(chǎn)生三角波
          { if(sjz==0)
          {P0=tcnt;
          tcnt=+0x0a;//步進(jìn)0.2V/一次中斷
          if(tcnt==0xfa)
          {sjz=1;}
          }
          if(sjz==1)
          {
          P0=tcnt;
          tcnt=-0x0a;
          if(tcnt==0)
          {sjz=0;}
          }
          }
          }
          void main(void)
          {
          TMOD=0x02; //定時(shí)器工作在方式2
          ET0=1;
          EA=1;
          while(1)
          { KEY(); }
          }

          [硬件電路圖]
          模數(shù)轉(zhuǎn)換DAC0832的應(yīng)用實(shí)驗(yàn)


          c語言相關(guān)文章:c語言教程




          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();