AVR單片機(jī)ATmega16L出廠時熔絲位的設(shè)置有兩點(diǎn)是需要使用者注意的,一是它的時鐘設(shè)置為CKSEL3=0、CKSEL2=0、CKSEL1=0,即使用內(nèi)部1MHz的RC振蕩器,因此當(dāng)你要用外部晶振時,比如你要用串口,這時就需要重新配置熔絲位,才能正常使用串口。二是JTAGEN 熔絲位。缺省為編程狀態(tài)。因此你如果要用PC2~PC5做一般I/O引腳用的話,也不能使用,必須在熔絲位配置窗口中把JTAGEN前面的那個√去掉,這樣程序才能正常運(yùn)行。我在使用該芯片時就遇到過這些問題,寫出來提醒同行參考。 當(dāng)然你在配置熔斯位時要小心從事,防止芯片鎖死。有不少網(wǎng)友屢屢遭此不幸。其實(shí)你在熔絲位配置時,只要方法正確,一般是不會出錯的。以我們常用的小馬PonyProg2000下載軟件為例,在Command菜單中選Security and Configuration Bits,(或者點(diǎn)Security and Configuration Bits按鈕)在接著出現(xiàn)的熔絲位配置窗口的下面,有幾個按鈕,千萬不要亂按。正確的方法是先按“Read”按鈕,讀出原來芯片中熔絲位的配置,然后再以此為基礎(chǔ),按你的需要進(jìn)行局部修改,確定無誤后再按“Write”按鈕,就OK了。一般不會出現(xiàn)鎖死的問題。如果萬一由于操作不當(dāng),出現(xiàn)鎖死也不必驚慌。除了用并行編程器恢復(fù)的方法以外,對于沒有并行編程器的朋友,還可以用外接有源振蕩器的方法解鎖,方法是用一個1MHz的振蕩信號接到ATmega16L的 13腳XTAL1,接通單片機(jī)的電源,正常的話你會看到原來單片機(jī)中的程序已經(jīng)可以正常運(yùn)行了。說明外接振蕩器已經(jīng)使單片機(jī)恢復(fù)工作了。這下來就好辦了,仍然用PonyProg2000,點(diǎn)Security and Configuration Bits按鈕,進(jìn)入熔絲位配置窗口,這時你會看到所有的熔絲位都沒打√,連灰色的SPIEN前面那個模糊不清的√也沒了,不過沒關(guān)系Don’t worry,你只要按照下圖中ATmega16L出廠時熔絲位的設(shè)置打√,然后按“Write”按鈕,如果屏幕輕輕的閃一下,OK,恭喜你已經(jīng)好了,再按“Read”按鈕,你會看到除了你打√的地方以外,SPIEN前面那個模糊不清的√也出來了。鎖死的芯片已經(jīng)解鎖了。 要注意的是外接的信號幅度不可太大,以免損毀芯片,我開始用一個51單片機(jī)的震蕩信號接過來,結(jié)果不行,可能是驅(qū)動能力不夠。后來換了一個信號發(fā)生器輸出的1MHz的信號,就成功了。也可以用NE555芯片搭個振蕩器做信號源。
|