新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式學習筆記21——AVR單片機之片內EEPROM

        嵌入式學習筆記21——AVR單片機之片內EEPROM

        作者: 時間:2016-11-19 來源:網絡 收藏
        1. ATmega16單片機內部具有512字節的EEPROM,它是一個獨立的數據空間。數據讀寫以一字節為單位,通過專用的指令來實現對EEPROM的操作,也可通過ISP,JTAG,并行編程的方式實現EEPROM的讀寫;采用內部RC振蕩器的1MHz作為訪問的定時時鐘,其編程使用周期8848個周期,時間大約8.5ms;操作過程中盡量關閉中斷,保證時序不被打斷。

        2. EEPROM存儲器相關的寄存器

        本文引用地址:http://www.104case.com/article/201611/318410.htm


        程序中可直接對地址寄存器EEAR賦值,如EEAR=0x01BA。


        控制寄存器EECR用于控制單片機對EEPROM的操作


        • 位3——EERIE:EEPROM中斷準備好使能位。當EERIE置1而且全局中斷I置位時,如果EEWE為0,則單片機產生一個中斷表示寫操作完成。(即置1后,才能在全中斷I為“1”,且EEWE為0時產生寫操作完成中斷。)
        • 位2——EEMWE:EEPROM主寫使能位。當EEMWE為“1”時,設置EEWE為“1”將把EEDR中的數據寫入EEAR所選擇的的地址空間中(只是寫入地址空間,還沒有真正寫入到EEPROM)。如果EEMWE為“0”,則EEWE無效。EEMWE在被用戶置“1”后的4個時鐘周期后被硬件清“0”。
        • 位1——EEWE:EEPROM寫使能位。當EEPROM的地址和數據準備好之后,用戶必須設置EEWE為“1”,才能將數據寫入EEPROM中,在置EEWE為“1”之前,EEMWE必須置“1”,否則寫入操作無效。EEPROM數據的寫入操作如下:a等待EEWE為“0”;b把EEPROM的地址寫入EEAR;c把EEPROM的數據寫入EEDR;d置EEMWE為“1”;e在置EEMWE為“1”的4個時鐘周期內,向EEWE中寫入“1”。
        • 位0——EERE:EEPROM讀使能位。EERE用于對EEPROM的數據讀取,當EEAR中設置了EEPROM的讀取地址后,置位EERE將執行讀操作。當EEPROM中的數據被讀取到數據寄存器EEDR中后,EERE被硬件清零,用戶可以通過查詢此位來判斷讀操作是否完成。


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 天峻县| 玛纳斯县| 西乌| 白银市| 龙泉市| 青河县| 五河县| 濮阳市| 汶川县| 桓仁| 民勤县| 泾阳县| 湟中县| 临洮县| 旬阳县| 新疆| 五台县| 金秀| 崇文区| 南和县| 陇川县| 屯昌县| 集安市| 青河县| 无棣县| 嘉黎县| 揭阳市| 巴彦淖尔市| 浦城县| 金平| 杭锦后旗| 宣汉县| 共和县| 哈巴河县| 海阳市| 靖安县| 章丘市| 合肥市| 奉化市| 上饶市| 奉新县|