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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一個(gè)簡(jiǎn)單的單片機(jī)直流可調(diào)穩(wěn)壓電源設(shè)計(jì)

          一個(gè)簡(jiǎn)單的單片機(jī)直流可調(diào)穩(wěn)壓電源設(shè)計(jì)

          作者: 時(shí)間:2016-12-01 來源:網(wǎng)絡(luò) 收藏
          通過做直流穩(wěn)壓電源可以掌握A/D,D/A模塊的使用,51單片機(jī)程序分為鍵盤處理、D/A、A/D和存儲(chǔ)四個(gè)模塊。運(yùn)用掃描法,對(duì)鍵盤進(jìn)行掃描,有按鍵就更改輸入TLC5615 的數(shù)值,ADD按鍵是對(duì)數(shù)據(jù)進(jìn)行加以操做,長按的話使步進(jìn)值增大,實(shí)現(xiàn)快加,SUB按鍵與ADD按鍵同,預(yù)讀取按鍵用于讀取?。粒裕玻矗茫埃础≈蓄A(yù)置的數(shù)值,保存按鍵用于保存當(dāng)前電壓值;顯示部分主要是對(duì)TLC549采集回來的電壓進(jìn)行處理顯示,它主要是在定時(shí)器0的中斷服務(wù)程序中顯示,100ms刷新顯示一次;TLC5615 模塊,通過對(duì)dA的串行數(shù)據(jù)輸入,使其在輸出電壓時(shí)可控,輸出電壓后經(jīng)lm324,三極管,加上負(fù)載輸出電壓,輸出電壓后,用TLC549芯片100ms采集一次,送數(shù)碼管顯示。



          完整的工程文件及hex文件下載地址:http://www.51hei.com/f/dpjdianyuan_c.rar

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

          AT24C04.h 代碼

          sbit ATCLK=P1^6;
          sbit SDA=P1^7;
          sbit a7=ACC^7;
          sbit a6=ACC^6;
          sbit a5=ACC^5;
          sbit a4=ACC^4;
          sbit a3=ACC^3;
          sbit a2=ACC^2;
          sbit a1=ACC^1;
          sbit a0=ACC^0;
          /*********************
          *******24C04的初始化**
          **** **************/
          void init_24C04()
          {
          SDA=1;
          _nop_();
          ATCLK=1;
          _nop_();
          }
          /*********************
          ****啟動(dòng)24C04*********
          *******************/
          void start_24C04()
          {

          SDA=1;
          _nop_();
          ATCLK=1;
          _nop_();

          SDA=0;
          _nop_();
          ATCLK=0;
          _nop_();
          }
          /********************
          *****停止24C04*******
          *********************/
          void stop_24C04()
          {
          SDA=0;
          _nop_();

          ATCLK=1;
          _nop_();
          SDA=1;
          _nop_();

          }
          /*********************
          ****24C04應(yīng)答*********
          *******************/
          void response()
          {
          unsigned char i;
          ATCLK=1;
          _nop_();
          while((SDA==1)&&(i<250))i++;
          ATCLK=0;
          _nop_();
          }
          /********************
          *****讀取24C04一個(gè)字節(jié)**
          **************************/
          unsigned char read_byte()
          {
          SDA=1;
          ATCLK=1;a7=SDA;ATCLK=0;
          ATCLK=1;a6=SDA;ATCLK=0;
          ATCLK=1;a5=SDA;ATCLK=0;
          ATCLK=1;a4=SDA;ATCLK=0;
          ATCLK=1;a3=SDA;ATCLK=0;
          ATCLK=1;a2=SDA;ATCLK=0;
          ATCLK=1;a1=SDA;ATCLK=0;
          ATCLK=1;a0=SDA;ATCLK=0;
          SDA=1;
          ATCLK=0;
          return ACC;
          }
          /*************************
          **寫入24C04一個(gè)字節(jié)******
          *************************/
          void write_byte(unsigned char addr)
          {
          ACC=addr;
          SDA=a7;ATCLK=1;ATCLK=0;
          SDA=a6;ATCLK=1;ATCLK=0;
          SDA=a5;ATCLK=1;ATCLK=0;
          SDA=a4;ATCLK=1;ATCLK=0;
          SDA=a3;ATCLK=1;ATCLK=0;
          SDA=a2;ATCLK=1;ATCLK=0;
          SDA=a1;ATCLK=1;ATCLK=0;
          SDA=a0;ATCLK=1;ATCLK=0;
          SDA=1;
          ATCLK=0;

          }
          /***********************
          **寫24C04的數(shù)據(jù)*******
          *****************/
          void write_24C04(unsigned char addr,unsigned char dat)
          {
          start_24C04();
          write_byte(0xa0);
          response();
          write_byte(addr);
          response();
          write_byte(dat);
          response();
          stop_24C04();
          }
          /**********************
          ***讀24C04的數(shù)據(jù)*******
          *****************/
          unsigned char read_24C04(unsigned char addr)
          {
          unsigned char t;
          start_24C04();
          write_byte(0xa0);
          response();
          write_byte(addr);
          response();
          start_24C04();
          write_byte(0xa1);
          response();
          t=read_byte();
          stop_24C04();
          return t;
          }


          上一頁 1 2 下一頁

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