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

          新聞中心

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

          stc單片機(jī)不斷電下載程序

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

          在調(diào)試程序中加入串口初始化代碼,串口中斷代碼即可實(shí)現(xiàn)
          ///******************
          TMOD|=0x20;
          SCON=0x50;
          TH1=0xfd; //12T時(shí)鐘9600bps
          TL1=0xfd;
          TR1=1;
          ES=1;
          EA=1;
          AUXR=AUXR|0x40; //定時(shí)器1使用1T時(shí)鐘 9600*12=115200bps
          ///******************

          void uart(void) interrupt 4
          {
          uchar cdd;
          if(RI)
          {
          RI=0;
          cdd=SBUF;
          if(cdd==0xaa)
          {
          ISP_CONTR=0x60; //軟復(fù)位,從ISP監(jiān)控區(qū)啟動(dòng)
          }
          else if(cdd==0x55)
          {
          ISP_CONTR=0x20; //軟復(fù)位,從用戶程序區(qū)啟動(dòng)
          }
          else
          {
          senddata(cdd);
          }
          }
          else
          {
          TI=0;
          }
          }

          在上演示程序中,利用單片機(jī)串口收到某個(gè)有效數(shù)據(jù)后,執(zhí)行從isp引導(dǎo)區(qū)軟啟動(dòng)的命令(ISP_CONTR=0x60;),實(shí)現(xiàn)程序下載。但該方法為實(shí)現(xiàn)程序下載,占用了一些單片機(jī)資源——串口、中斷等,實(shí)際應(yīng)用中有一些不便。下面介紹另一種程序不斷電下載方法:
          考慮到單片機(jī)開(kāi)發(fā)板在設(shè)計(jì)時(shí)一般都留有一個(gè)手動(dòng)復(fù)位按鈕,能否利用該按鈕實(shí)現(xiàn)程序不斷電下載呢?答案是肯定的!?。。。?P>單片機(jī)上電復(fù)位時(shí),POF=1;單片機(jī)手動(dòng)復(fù)位時(shí),POF=0
          單片機(jī)上電運(yùn)行時(shí)對(duì)POF位進(jìn)行判斷,如果POF位=0,將POF位置1,讓單片機(jī)從isp引導(dǎo)區(qū)軟復(fù)位。
          如果POF位=1,將POF位清0。

          將實(shí)現(xiàn)以上功能的代碼加入到你的程序中,當(dāng)需要時(shí),按下復(fù)位按鈕,此時(shí)POF位=0,單片機(jī)再次從isp引導(dǎo)區(qū)軟復(fù)位,從而實(shí)現(xiàn)程序下載。

          該方法只需在用戶程序中嵌入一段判斷POF標(biāo)志位的代碼就能實(shí)現(xiàn)程序不斷電下載,無(wú)需占用任何單片機(jī)內(nèi)部資源。

          演示程序:

          //*******************不斷電******************
          #include REG52.H>

          sfr ISP_CONTR=0xe7; 軟復(fù)位寄存器聲明
          void main(void)
          {
          //////////////將這段代碼嵌入到程序中////////////////
          if((PCON0x10)==0) //如果POF位=0
          {
          PCON=PCON|0x10; //將POF位置1
          ISP_CONTR=0x60; //軟復(fù)位,從ISP監(jiān)控區(qū)啟動(dòng)
          }
          else
          {
          PCON=PCON0xef; //將POF位清零
          }
          //////////////////////////////////////////////

          while(1)
          {
          `

          ` 用戶程序

          `

          }
          }

          操作說(shuō)明:
          1 將演示程序中的紅色代碼復(fù)制到您的程序中,首次使用時(shí)應(yīng)利用斷電下載的方式將含有紅色代碼的程序下載到單片機(jī)中
          2 將hex文件載入stc單片機(jī)isp軟件,點(diǎn)擊下載按鈕
          3 按下單片機(jī)開(kāi)發(fā)板上復(fù)位鍵,單片機(jī)進(jìn)行is程序下載

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


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


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


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



          上一頁(yè) 1 2 下一頁(yè)

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

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();