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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > stc單片機不斷電下載程序

          stc單片機不斷電下載程序

          作者: 時間:2012-08-04 來源:網(wǎng)絡(luò) 收藏

          支持串口isp程序下載,不必使用專用下載器,僅使用串口就能。但每次都要斷電再上電,比較麻煩。
          下面介紹一種不需斷電就能的方法,在程序調(diào)試時比較方便。
          基本原理:
          有專用的復(fù)位寄存器,通過對該寄存器寫入不同的數(shù)值可以實現(xiàn)單片機熱啟動復(fù)位。
          寄存器功能如下圖所示:

          點擊瀏覽下一頁

          由上圖可以看出只要滿足某個條件,向ISP_CONTR寫入0x60,就可以實現(xiàn)從ISP監(jiān)控區(qū)軟啟動啟動
          某個條件設(shè)置為:當(dāng)串口接收到0xaa數(shù)據(jù)時,單片機執(zhí)行ISP_CONTR=0x60; 指令,從ISP監(jiān)控區(qū)軟啟動啟動。
          演示程序如下:

          //*************************STC12C5410AD軟啟動演示**************************
          //
          //收到0xaa,從ISP監(jiān)控區(qū)軟啟動,利用該特性,可以實現(xiàn)下載
          //收到0x55,從用戶程序區(qū)啟動
          //2010年3月13日21:58:49
          //************************************************************

          *************
          #include STC12C5410AD.H>
          uint c;
          //*************** 函數(shù)定義 ******************
          void delay1ms(unsigned int j);
          void senddata(uchar dc);
          //*************** 主程序 ********************
          void main(void)
          {
          ///******************
          TMOD|=0x20;
          SCON=0x50;
          TH1=0xfd; //12T時鐘9600bps
          TL1=0xfd;
          TR1=1;
          ES=1;
          EA=1;
          AUXR=AUXR|0x40; //定時器1使用1T時鐘 9600*12=115200bps
          ///******************
          delay1ms(30000);
          for(c=0;c256;c++)
          {
          senddata(c);
          delay1ms(200);
          }
          while(1)
          {

          }
          }
          //***************************發(fā)送數(shù)據(jù)**************************
          void senddata(uchar dc)
          {
          SBUF=dc;
          while(!TI); //當(dāng)TI=0時,發(fā)送未結(jié)束,循環(huán)等待
          TI=0; //當(dāng)TI=1時,發(fā)送結(jié)束,用軟件將TI清零
          }
          void uart(void) interrupt 4
          {
          uchar cdd;
          if(RI)
          {
          RI=0;
          cdd=SBUF;
          if(cdd==0xaa)
          {
          ISP_CONTR=0x60; //軟復(fù)位,從ISP監(jiān)控區(qū)啟動
          }
          else if(cdd==0x55)
          {
          ISP_CONTR=0x20; //軟復(fù)位,從用戶程序區(qū)啟動
          }
          else
          {
          senddata(cdd);
          }
          }
          else
          {
          TI=0;
          }
          }
          //*************************延時 n*1ms********************
          void delay1ms(unsigned int j)
          {
          unsigned int i;
          for(;j>0;j--)
          { for(i=0;i124;i++)
          {;}
          }
          }

          單片機相關(guān)文章:單片機教程


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


          單片機相關(guān)文章:單片機視頻教程


          單片機相關(guān)文章:單片機工作原理



          上一頁 1 2 下一頁

          關(guān)鍵詞: stc單片機 不斷電 下載程序

          評論


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