AVR單片機開發環境搭建
CodeVisionAVR C Compiler用于程序的編輯以及編譯.AVR Studio 4與USB AVR JTAGICE mkll-CN 用于在線調試和程序燒寫。
本文引用地址:http://cqxgywz.com/article/201611/318466.htm
二、AVR Studio 4中熔絲位的設置(在Fuses標簽中,相應位打鉤表示program即寫0;不選中表示未編程即1)
- M161C: 工作于162模式還是161模式;
- BODLEVEL:掉電檢測設置;
- OCDEN:片上調試使能;
- JTAGEN:JTAGE口下載使能;
- SPIEN:SPI使能位;
- WDTON:看門狗使能級別設置;
- EESAVE: EEPROM中內容是否要保留;
- BOOTSZ:用于設置程序塊和啟動塊;
- BOOTRSZ:控制復位向量所在的位置;
- CKDIV8:時鐘源預分頻;
- CKOUT:系統輸出時鐘使能位;
- SUT_CKSEL:設置系統時鐘的方式;
三、根據主板設置熔絲位
- Atmega162使用的外部晶振為11.0592MHZ,設置熔絲位CKSEL和SUT相應位,使系統采用外部時鐘,上電時間為4.1ms;
- 輸出時鐘禁止,不用預分頻,復位地址設定0000;即CKOUT = 1; CKDIV8 = 1; BOOTRST = 1;
- 設置162模式,看門狗二級模式,JTAG口使能.掉電檢測禁止
具體的熔絲位的值如下圖

四、問題描述與解決方法
由于升級主板,將原先的ISP下載改成JTAG下載方式,將SPI接口用于外部端口數據的采集。寫測試程序測試JTAG下載器;
- 出錯現象:
1,使用主板上的LED進行調試.其中PORTE.2口與LED連接。對該IO口賦值能夠控制LED燈的亮滅。但是如果想實現LED燈的閃爍.則LED的狀態為延時前的IO口的值;
2,通過JTAG口連接仿真器,進行單步調試.可以順利進入中斷計時函數,LED燈閃爍正常。但是全速執行程序會跑飛。
- 解決方法:
讀取老版本主板上Atmega162的熔絲位設置,差別在看門狗的設置。由于在新主板上對162的看門狗熔絲使能,以至程序會復位。


評論