<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

          嵌入式學(xué)習(xí)筆記21——AVR單片機(jī)之片內(nèi)EEPROM

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

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

          本文引用地址:http://www.ex-cimer.com/article/201611/318410.htm


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


          控制寄存器EECR用于控制單片機(jī)對(duì)EEPROM的操作


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


          評(píng)論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();