atmega8 默認(rèn)內(nèi)部RC振蕩 + 解鎖
今天偶然的機(jī)會(huì),因?yàn)槎〞r(shí)器老是不對(duì)勁,而把晶振給拔了突然發(fā)現(xiàn)對(duì)程序的運(yùn)行沒有任何影響,這次我才想起來(lái)atmege8是不是有內(nèi)部晶振哦。
一查果然。。。。。。修改的方法是改熔絲位
時(shí)鐘源 啟動(dòng)延時(shí) 熔絲
外部時(shí)鐘 6 CK + 0 ms CKSEL=0000 SUT="00"
外部時(shí)鐘 6 CK + 4.1 ms CKSEL=0000 SUT="01"
外部時(shí)鐘 6 CK + 65 ms CKSEL="0000" SUT="10"
內(nèi)部RC振蕩1MHZ 6 CK + 0 ms CKSEL="0001" SUT="00"
內(nèi)部RC振蕩1MHZ 6 CK + 4.1 ms CKSEL="0001" SUT="01"
內(nèi)部RC振蕩1MHZ1 6 CK + 65 ms CKSEL="0001" SUT="10"
內(nèi)部RC振蕩2MHZ 6 CK + 0 ms CKSEL="0010" SUT="00"
內(nèi)部RC振蕩2MHZ 6 CK + 4.1 ms CKSEL="0010" SUT="01"
內(nèi)部RC振蕩2MHZ 6 CK + 65 ms CKSEL="0010" SUT="10"
內(nèi)部RC振蕩4MHZ 6 CK + 0 ms CKSEL="0011" SUT="00"
內(nèi)部RC振蕩4MHZ 6 CK + 4.1 ms CKSEL="0011" SUT="01"
內(nèi)部RC振蕩4MHZ 6 CK + 65 ms CKSEL="0011" SUT="10"
內(nèi)部RC振蕩8MHZ 6 CK + 0 ms CKSEL="0100" SUT="00"
內(nèi)部RC振蕩8MHZ 6 CK + 4.1 ms CKSEL="0100" SUT="01"
內(nèi)部RC振蕩8MHZ 6 CK + 65 ms CKSEL=0100 SUT="10"
外部RC振蕩≤0.9MHZ 18 CK + 0 ms CKSEL="0101" SUT="00"
外部RC振蕩≤0.9MHZ 18 CK + 4.1 ms CKSEL="0101" SUT="01"
外部RC振蕩≤0.9MHZ 18 CK + 65 ms CKSEL="0101" SUT="10"
外部RC振蕩≤0.9MHZ 6 CK + 4.1 ms CKSEL="0101" SUT="11"
外部RC振蕩0.9-3.0MHZ 18 CK + 0 ms CKSEL="0110" SUT="00"
外部RC振蕩0.9-3.0MHZ 18 CK + 4.1 ms CKSEL="0110" SUT="01"
外部RC振蕩0.9-3.0MHZ 18 CK + 65 ms CKSEL="0110" SUT="10"
外部RC振蕩0.9-3.0MHZ 6 CK + 4.1 ms CKSEL=0110 SUT="11"
外部RC振蕩3.0-8.0MHZ 18 CK + 0 ms CKSEL=0111 SUT="00"
外部RC振蕩3.0-8.0MHZ 18 CK + 4.1 ms CKSEL="0111" SUT="01"
外部RC振蕩3.0-8.0MHZ 18 CK + 65 ms CKSEL=0111 SUT="10"
外部RC振蕩3.0-8.0MHZ 6 CK + 4.1 ms CKSEL="0111" SUT="11"
外部RC振蕩8.0-12.0MHZ 18 CK + 0 ms CKSEL=1000 SUT="00"
外部RC振蕩8.0-12.0MHZ 18 CK + 4.1 ms CKSEL="1000" SUT="01"
外部RC振蕩8.0-12.0MHZ 18 CK + 65 ms CKSEL="1000" SUT="10"
外部RC振蕩8.0-12.0MHZ 6 CK + 4.1 ms CKSEL="1000" SUT="11"
低頻晶振(32.768KHZ) 1K CK + 4.1 ms CKSEL="1001" SUT="00"
低頻晶振(32.768KHZ) 1K CK + 65 ms CKSEL="1001" SUT="01"
低頻晶振(32.768KHZ) 32K CK + 65 ms CKSEL="1001" SUT="10"
低頻石英/陶瓷振蕩器(0.4-0.9MHZ) 258 CK + 4.1 ms CKSEL="1010" SUT="00"
低頻石英/陶瓷振蕩器(0.4-0.9MHZ) 258 CK + 65 ms CKSEL="1010" SUT="01"
低頻石英/陶瓷振蕩器(0.4-0.9MHZ) 1K CK + 0 ms CKSEL=1010 SUT="10"
低頻石英/陶瓷振蕩器(0.4-0.9MHZ) 1K CK + 4.1 ms CKSEL="1010" SUT="11"
低頻石英/陶瓷振蕩器(0.4-0.9MHZ) 1K CK + 65 ms CKSEL="1011" SUT="00"
低頻石英/陶瓷振蕩器(0.4-0.9MHZ) 16K CK + 0 ms CKSEL=1011 SUT="01"
低頻石英/陶瓷振蕩器(0.4-0.9MHZ) 16K CK + 4.1ms CKSEL="1011" SUT="10"
低頻石英/陶瓷振蕩器(0.4-0.9MHZ) 16K CK + 65ms CKSEL="1011" SUT="11"
中頻石英/陶瓷振蕩器(0.9-3.0MHZ) 258 CK + 4.1 ms CKSEL="1100" SUT="00"
中頻石英/陶瓷振蕩器(0.9-3.0MHZ) 258 CK + 65 ms CKSEL="1100" SUT="01"
中頻石英/陶瓷振蕩器(0.9-3.0MHZ) 1K CK + 0 ms CKSEL=1100 SUT="10"
中頻石英/陶瓷振蕩器(0.9-3.0MHZ) 1K CK + 4.1 ms CKSEL="1100" SUT="11"
中頻石英/陶瓷振蕩器(0.9-3.0MHZ) 1K CK + 65 ms CKSEL="1101" SUT="00"
中頻石英/陶瓷振蕩器(0.9-3.0MHZ) 16K CK + 0 ms CKSEL="1101" SUT="01"
中頻石英/陶瓷振蕩器(0.9-3.0MHZ) 16K CK + 4.1ms CKSEL="1101" SUT="10"
中頻石英/陶瓷振蕩器(0.9-3.0MHZ) 16K CK + 65ms CKSEL="1101" SUT="11"
高頻石英/陶瓷振蕩器(3.0-8.0MHZ) 258 CK + 4.1 ms CKSEL="111"0 SUT="00"
高頻石英/陶瓷振蕩器(3.0-8.0MHZ) 258 CK + 65 ms CKSEL="111"0 SUT="01"
高頻石英/陶瓷振蕩器(3.0-8.0MHZ) 1K CK + 0 ms CKSEL="111"0 SUT="10"
高頻石英/陶瓷振蕩器(3.0-8.0MHZ) 1K CK + 4.1 ms CKSEL="111"0 SUT="11"
高頻石英/陶瓷振蕩器(3.0-8.0MHZ) 1K CK + 65 ms CKSEL=1111 SUT="00"
高頻石英/陶瓷振蕩器(3.0-8.0MHZ) 16K CK + 0 ms CKSEL="111"1 SUT="01"
高頻石英/陶瓷振蕩器(3.0-8.0MHZ) 16K CK + 4.1ms CKSEL="111"1 SUT="10"
高頻石英/陶瓷振蕩器(3.0-8.0MHZ) 16K CK + 65ms CKSEL="111"1 SUT="11"
這是全部的熔絲位關(guān)于晶振的選擇,我好不容易發(fā)現(xiàn)了問(wèn)題所在,結(jié)果一激動(dòng)還悲劇的設(shè)置錯(cuò)了,設(shè)置成了外部時(shí)鐘方式。。。。。。
這就是傳說(shuō)中的鎖死,不過(guò)這是誤解,avr不存在鎖死的概念,我原來(lái)用的飛思卡爾xs128有,真有。。
avr的鎖死只是所謂的你現(xiàn)在的硬件無(wú)法滿足系統(tǒng)要運(yùn)行所需的條件罷了,比如這里我不小心選擇了外部時(shí)鐘,這時(shí)我插入ISP,已經(jīng)沒無(wú)法使用了,但我用功率信號(hào)發(fā)生器給了一個(gè)1M的時(shí)鐘到atmege8 第9腳,再插入ISP,馬上就可以了。。。。。
推薦一篇文章《avr熔絲全攻略》,可以看看。。。