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

          新聞中心

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

          STC系列單片機(jī)不斷電下載程序應(yīng)用技術(shù)

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

          3.2 定時器的設(shè)置
          波特率為9 600 bit·s-1,在串口工作方式2的情況下,根據(jù)方式2的波特率=(2SMOD/32)*(T1溢出率)。假設(shè)的晶振頻率為11.0 59 2 MHz,經(jīng)12分頻后得到計數(shù)器記—個數(shù)的時間為12/11.059 2 MHz,定時器T1溢出一次的時間為(256-X)×12/11 059 200,所以T1的溢出率為11 059 200/[12×(256-X)],因為波特率不需要加倍,所以SMOD=0。根據(jù)公式得,9 600=(1/32)×11 059 200/[(256-X)×12],解得X=253,轉(zhuǎn)換成16進(jìn)制數(shù)為0Xfd。減少了的冗余性,定時器的工作方式設(shè)定為2,定時器自動重裝,不必寫定時器中斷子。
          3.3 初始化子
          e.JPG
          3.4 用戶自定義命令
          定義語句為:#define seffdecide_download_commond0x8E。0x8E是用戶任意定義的指令,但最多不能超過0xFF,因為ISP_CONTR寄存器只有8位。接著進(jìn)行ISP_CONTR的地址定義,通過查89C52的用戶手冊,其語句為sfr ISP_CONTR=0xE7。
          3.5 串口接收合法數(shù)據(jù)程序
          的工作原理是循環(huán)掃描,即使不加大循環(huán)while語句,用戶程序也總是一遍一遍地執(zhí)行,所以用戶程序需要時時刻刻掃描是否是合法數(shù)據(jù)流的出現(xiàn)。
          串口中斷的編號為4,首先要檢驗中斷標(biāo)志位RI,如果RI置1,說明上位機(jī)向的串口發(fā)送指令;隨后指令內(nèi)容被傳送到單片機(jī)的SBUF中,判斷SBUF中的命令內(nèi)容是否和用戶自定義的命令一致。如果一致,直接向ISP_CONTR中賦特定的值使程序指針指到ISP引導(dǎo)區(qū),實現(xiàn)程序的軟復(fù)位;如果不一致,使TI清零,以便下一次中斷申請。
          3.6 延時子函數(shù)
          串口接收數(shù)據(jù)有1 s的延時時間,所以需要加延時子函數(shù),代碼如下:
          Void delayl s()
          {
          Int p,q;
          For(p=1000;p>0;p--)
          For(q=100;q>0;q--);
          }

          4 結(jié)束語
          介紹了單片機(jī)程序的程序設(shè)計思路及方法,運用單片機(jī)獨有的ISP引導(dǎo)區(qū)對軟件模擬硬件復(fù)位實現(xiàn)單片機(jī)的電下載程序,省去了編程器的頻繁插拔件或者頻繁的手動復(fù)位硬件開關(guān)。此方法在大的程序編寫調(diào)試過程中能節(jié)省大量時間,但也降低了串行口的使用效率。本例適合運用在使用串行口較低的情況下,并且在調(diào)試的情況下可以省去手動頻繁的復(fù)位操作,減少工作量。

          本文引用地址:http://www.ex-cimer.com/article/170523.htm
          手機(jī)充電器相關(guān)文章:手機(jī)充電器原理
          激光器相關(guān)文章:激光器原理

          上一頁 1 2 3 下一頁

          評論


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