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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > AVR單片機(jī)熔絲位鎖死簡單快捷的解密方法

          AVR單片機(jī)熔絲位鎖死簡單快捷的解密方法

          作者: 時(shí)間:2016-11-19 來源:網(wǎng)絡(luò) 收藏
          1.AVR單片機(jī)熔絲位鎖死簡單快捷的解密方法

          在很多AVR單片機(jī)的初學(xué)者在使用AVR單片機(jī)中,很容易把熔絲位弄錯(cuò)而造成單片機(jī)鎖死,比如說JTAGEN置為1后,單片機(jī)的JTAG就不能再下載程序進(jìn)去了,因此給我們帶來很多麻煩。

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

          常見的恢復(fù)方法是使用并口編程器來恢復(fù),對(duì)于初學(xué)者來說,很多設(shè)備是很欠缺的,所以很難解決。

          現(xiàn)為我們初學(xué)者介紹一個(gè)簡單實(shí)用可行的方法——有源晶振恢復(fù)法。將被鎖死的AVR單片機(jī)接入最小系統(tǒng)或者開發(fā)板中,將系統(tǒng)中的晶振拆下來,在XAIL1接上有源晶振的第三腳(按下圖接即可)。

          然后通電,使用ISP下載線進(jìn)行熔絲位編輯,本人使用智峰progisp(Ver 1.6.7)軟件,打開軟件選擇好芯片型號(hào),使用默認(rèn)的熔絲位設(shè)置即可。

          然后點(diǎn)擊自動(dòng)即可下載。

          斷電接回原來的晶振,再次使用ISP下載程序就可以搞定了。

          2. AVR單片機(jī)熔絲鎖死的處理

          用外接有源晶振的方法解鎖,

          有源晶振實(shí)際上是一個(gè)封裝振蕩電路、晶振的信號(hào)源,可以輸出標(biāo)準(zhǔn)的大幅度的方波。共有4個(gè)腳,1 NC,2 GND,3 OUT,4 VCC,圓點(diǎn)標(biāo)記對(duì)應(yīng)的為1腳。將3腳接到單片機(jī)的xtal1,通過isp一般可以讀出鎖死的熔絲位(isp編程未禁止),并可以重新燒寫正確的熔絲位;如果不行的話,只有通過并行編程器燒寫了。

          3. 單片機(jī)熔絲位燒錯(cuò)芯片鎖死的處理方法

          有兩種方式可以達(dá)到這一點(diǎn):

          1. 以用其他工作正常的單片機(jī)的時(shí)鐘作為外部晶振,只要將工作正常的單片機(jī)的XTAL2腳連接熔絲設(shè)置錯(cuò)誤的單片機(jī)的XTAL1引腳即可。這種方法我使用過,但是只能使單片機(jī)中的程序跑起來,并不能恢復(fù)熔絲位。

          2.使用51系列單片機(jī)的ALE引腳作為外部時(shí)鐘源,將51系列的ALE引腳與M16的XTAL1引腳相連接。我親手試了一下,效果是立竿見影,很快的恢復(fù)了錯(cuò)誤設(shè)置的熔絲位。

          4.單片機(jī)熔絲位的作用:

          熔絲控制很多信息,比如晶振選擇,isp使能,jtag使能。



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