新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ATmega128在開發應用中應注意的問題

        ATmega128在開發應用中應注意的問題

        作者: 時間:2009-10-22 來源:網絡 收藏

          (1)晶振的設置方法

          菜單中CKSEL0~CKSEL3是設置晶振的選項。由于有內部晶振,所以首先要確定是外部晶振還是內部晶振。表1給出了內、外部晶振的范圍。表2和表3給出了內、外部晶振頻率的設置方法。

          

          (2)熔絲位的設置方法

          通過JTAG接口來實現對熔絲的設置,只要設置好如圖1所示的相應位,就可以實現不同的功能。關于熔絲每一位的功能,首先需要說明的是,在對熔絲位進行設置時,如果讀出該位為“0”,說明該位已被設置;該位為“1”則未被設置。中一共有3個字節是有關熔絲的設置。其中第1個字節只用到了低2位,分別是WDTON(看門狗始終開)和M103C(ATmega103兼容模式);第2個字節的低4位是CLK0~CLK3,高4位分別是SUT0、SUT1(啟動時間選擇)、BODEN(低功耗檢測使能)、BODLEVEL(低功耗檢測觸發程度);第3個字節的每一位分別是:BOOTRST(復位向量選擇)、BOOTSZ0、BOOTSZ1(BOOT區大小選擇)、EESAVE(芯片擦除過程中E2PROM內容保持)、CKOPT(選擇晶振操作)、SPIEN(串行下載程序使能,在PonyProg2000中沒有這一位是因為PonyProg2000本身通過串行下載程序,故不能修改)、JTAGEN(JTAG使能)、OCDEN(OCD使能,OCD即ON CHIP DEBUG)。

          有6個位鎖位,其中BOOTLOCK12、BOOTLOCK11、BOOTLOCK02、BOOTLOCK01是關于BOOT區的4個位鎖位,而LOCK2和LOCK1則是熔絲位的位鎖位。可以通過設置熔絲位鎖位來選擇使用相應的功能。所以在使用熔絲位功能以前一定要先設置相應的“解鎖”,即將LOCK2和LOCK1都設置為“1”。

          若用ICCAVR來編譯軟件,再通過PonyProg2000將程序直接下載到ATmega128芯片中去,可以即時地將程序思想反映到要實現的功能上來,便于即時地修改程序中的錯誤,大大縮短產品的時間。

        2使用ATmega128芯片本身應

          ATmega128和51系列單片機基本上是2種不同的方式,在筆者使用過程中,總結出了以下一些常見的但必須重視的

          (1)管 腳

          ATmega128具有豐富的管腳資源,一共有8個端口共53個I/O引腳,而且每一個I/O引腳都可以通過編程來設置輸入、輸出方式。ATmega128的每一個端口都有3個寄存器與之對應,現以PA口為例來說明管腳的設置。①方向寄存器DDRA。DDRA的每一位對應于PA口的1個I/O管腳,相應的位為1,則將該管腳設置為輸出引腳;為0則設置為輸入引腳。②是輸出寄存器PORTA。用來存放ATmega128輸出的數據。③輸入寄存器PINA,用來存放ATmega128輸入的數據。在對PA口進行具體操作時,首先應該設置好DDRA,然后根據DDRA來選用PORTA或者PINA(一定不要搞錯方向)。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 萍乡市| 西峡县| 岳普湖县| 保山市| 遵义县| 云和县| 海阳市| 紫云| 长丰县| 云南省| 卢湾区| 喀喇| 丰台区| 平阴县| 惠来县| 石泉县| 遵义县| 天全县| 香河县| 福安市| 辛集市| 滦平县| 三都| 汉中市| 徐闻县| 铅山县| 贺兰县| 连州市| 高碑店市| 望谟县| 金坛市| 安康市| 定南县| 鹤庆县| 宝丰县| 宜宾县| 大安市| 泰和县| 许昌市| 茶陵县| 桐梓县|