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

          新聞中心

          51單片機 DAC0832

          作者: 時間:2016-11-25 來源:網(wǎng)絡(luò) 收藏
          原理圖:

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


          代碼如下:

          //程序功能:D/A轉(zhuǎn)換,D12由滅到亮,蜂鳴器響一次,再由亮到滅,蜂鳴器響一次,依次循環(huán)
          //頭文件
          #include
          #include //延時一個機械周期函數(shù)所在頭文件(_nop_())
          //定義宏
          #define uint unsigned int
          #define uchar unsigned char
          //控制端聲明
          sbit duanxuan=P2^6; //數(shù)碼管段選口
          sbit weixuan=P2^7; //數(shù)碼管位選口
          sbit DAC0832_CS=P3^2; //DAC0832選通端
          sbit DAC0832_WR=P3^6; //DAC0832寫選通端
          sbit beeper=P2^3; //蜂鳴器
          //函數(shù)聲明
          void delay(uint); //延時函數(shù)聲明
          void init(); //初始化函數(shù)聲明
          void DAC0832_star(); //DAC0832啟動函數(shù)聲明
          void switch_process(); //D/A轉(zhuǎn)換過程函數(shù)聲明
          //變量定義
          uint digital_data; //轉(zhuǎn)換的數(shù)字量(不需要轉(zhuǎn)換為二進(jìn)制,直接可以賦值給P0口)
          uint flag; //數(shù)字量上下限標(biāo)志量
          //主函數(shù)
          void main()
          {
          init();//初始化
          DAC0832_star(); //啟動DAC0832
          while(1)
          {
          switch_process(); //D/A轉(zhuǎn)換
          }
          }
          //延時函數(shù)主體
          void delay(uint xs)
          {
          uint i,j;
          for(i=xs;i>0;i--)
          {
          for(j=110;j>0;j--)
          {
          }
          }
          }
          //初始化函數(shù)主體
          void init()
          {
          //目的是關(guān)閉數(shù)碼管,因為數(shù)碼管數(shù)據(jù)輸入端與DAC0832數(shù)據(jù)輸入端同為P0端口
          duanxuan=0;
          weixuan=0;
          P0=0; //保證第一次點亮D12是最暗的(熄滅)
          }
          //DAC轉(zhuǎn)換啟動函數(shù)主體
          void DAC0832_star()
          {
          DAC0832_CS=0; //選通DAC0832
          DAC0832_WR=0; //輸入端有效(這么理解,具體與DAC0832其它引腳接法有關(guān))
          }
          //DAC轉(zhuǎn)換過程函數(shù)主體
          void switch_process()
          {
          if(flag==0) //flag=0時,代表數(shù)字量達(dá)到最下限
          {
          digital_data+=5; //每次加5
          P0=digital_data; //賦值給P0,給DAC0832轉(zhuǎn)換為模擬量
          if(digital_data==255) //達(dá)到最大值上線
          {
          flag=1; //flag=1,說明數(shù)字量達(dá)到最上限
          //蜂鳴器響50us
          beeper=0;
          delay(50);
          beeper=1;
          }
          delay(20); //延時用于等待轉(zhuǎn)換完成,保證轉(zhuǎn)換是完成的(The DAC083_switch_time is 1us)
          }
          else //flag=1
          {
          digital_data-=5;
          P0=digital_data;
          if(digital_data==0)
          {
          flag=0;
          beeper=0;
          delay(50);
          beeper=1;
          }
          delay(20);
          }
          }

          以上,結(jié)束。



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

          評論


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