新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 嵌入式學習筆記21——AVR單片機之片內(nèi)EEPROM

嵌入式學習筆記21——AVR單片機之片內(nèi)EEPROM

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

2. EEPROM存儲器相關(guān)的寄存器

本文引用地址:http://m.butianyuan.cn/article/201611/318410.htm


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


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


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


評論


技術(shù)專區(qū)

關(guān)閉