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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)—DAC0832—06—①

          51單片機(jī)—DAC0832—06—①

          作者: 時(shí)間:2016-11-26 來源:網(wǎng)絡(luò) 收藏
          DAC0832~相信大家都不陌生,想整理整理這個(gè),三種方法嗎~~所以這個(gè)也得兩三篇吧~~慢慢來~~

          這一篇還是比較簡(jiǎn)單的介紹,不過也有注意的~~

          本文引用地址:http://www.ex-cimer.com/article/201611/322020.htm

          1、DAC0832的簡(jiǎn)介

          1)DAC0832的引腳

          當(dāng)然第一就得是引腳,由于網(wǎng)上的這個(gè)東西比較多,那我就粘貼了~~







          2)DAC0832的內(nèi)部結(jié)構(gòu)(這個(gè)對(duì)于理解1還是很重要的~~,呵呵,這個(gè)應(yīng)該放在1處)

          這里一定注意了:

          8位輸入寄存器用于存放CPU送來的數(shù)字量,使得輸入的數(shù)字量得到緩沖和鎖存,由/LE1來控制。

          8位DAC寄存器用于存放待轉(zhuǎn)換的數(shù)字量,由/LE2控制

          都是低電平有效啊~~(當(dāng)他們所對(duì)應(yīng)的引腳都有效的時(shí)候,它們倆是高電平~~
          3)DAC0832的接口方式和應(yīng)用





          好了,剩下的就是我的圖~~





          總算好了,程序

          main.c

          //------------------------------------------------------------------------------
          //主文件
          #include"reg52.h"
          #include"macroandconst.h"
          #include"dac0832.h"
          #include"delay.h"
          //------------------------------------------------------------------------------
          sbitk1=P2^7;//控制開關(guān)
          //------------------------------------------------------------------------------
          //main
          void main()
          {
          while(1)
          {
          if(k1==0)//如果要一直顯示正弦代碼,那就設(shè)置一個(gè)標(biāo)志位~~我就不改了,要睡覺了~
          {
          get_sin(); //取正弦代碼并輸出
          }
          else
          {
          get_jc();//鋸齒波
          }
          }
          }

          DAC0832.c

          //------------------------------------------------------------------------------
          //DAC0832文件的函數(shù),便于調(diào)用
          //這個(gè)D/A的轉(zhuǎn)換器,我感覺重點(diǎn)是你選擇好三種方式中的一種,直通方式(較少使用,此方式不能直接與系統(tǒng)的數(shù)據(jù)總線連接,
          //必須要另加鎖存器的,比較少的使用,但是~~呵呵,51系列的單片機(jī)的P0口恰巧就是個(gè)A/D~~你懂得~~省事了~
          //所以這個(gè)例程里面就果斷用的直通方式
          #include"reg52.h"
          #include"macroandconst.h"
          #include"delay.h"
          #include"intrins.h"
          //------------------------------------------------------------------------------
          #definestep 4//定義鋸齒波自動(dòng)加4~
          ucharpdataDAC0832;//設(shè)置DAC0832的地址,這就是51系列的單片機(jī)有A/D的好處
          uchark;//uchar型變量,用于計(jì)數(shù)
          ucharcodesin[]={0x80,0x8c,0x98,0xa5,0xb0,0xbc,0xc7,0xd1,
          0xda,0xe2,0xea,0xf0,0xf6,0xfa,0xfd,0xff,
          0xff,0xff,0xfd,0xfa,0xf6,0xf0,0xea,0xe3,
          0xda,0xd1,0xc7,0xbc,0xb1,0xa5,0x99,0x8c,
          0x80,0x73,0x67,0x5b,0x4f,0x43,0x39,0x2e,
          0x25,0x1d,0x15,0x0f,0x09,0x05,0x02,0x00,
          0x00,0x00,0x02,0x05,0x09,0x0e,0x15,0x1c,
          0x25,0x2e,0x38,0x43,0x4e,0x5a,0x66,0x73};//正弦代碼表
          //------------------------------------------------------------------------------
          //取正弦代碼并輸出
          void get_sin()
          {
          for(k=0;k<64;k++)
          {
          DAC0832=sin[k];
          delay(1);
          }
          }
          //------------------------------------------------------------------------------
          //取鋸齒代碼并輸出
          void get_jc()
          {
          for(k=0;k<250;k+=step)
          {
          DAC0832=k;
          delay(1);
          }
          }



          關(guān)鍵詞: 51單片機(jī)DAC083

          評(píng)論


          技術(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); })();