《mega16 EEPROM 学习笔记.docx》由会员分享,可在线阅读,更多相关《mega16 EEPROM 学习笔记.docx(1页珍藏版)》请在第一文库网上搜索。
1、I-EEAR8EEARHIEEAR7EEAR6EEAR5EEAR4EEAR3EEAR2EEAR1EEAROEEAR17643210ReadWnteRRRRRRRR/WR/WR/W“桑特/注册RZWR/WFvWR/WRZWInitiaIVaIue00000XXQXXXXvoidEEPROM_write(uintaddr,uintadata)/写要个地址和一个数据;(SREG&=B1T(7);/关闭总中断;whi1e(EECR&BIT(EEWE);/判断是否为0;等待为0;EEAR=addr;配置地址;EEDR=adata;/配置数据;EECRI=B工T(EEMWE);主写使能至1:eecr=bi
2、t(eewe);至1;SREG1=B工T(7);打开中断;)ucharEEPROM_read(uintaddr)/读eerom的值,有返回值(charedata;SREG&=B工T(7);关闭总中断:whi1e(EECR&BIT(EEWE);等待判断写完了之后才能读:EEAR=addr;EECRI=BIT(EERE);/eere至1;edata=EEDR;returnedata;)voidmain(void)(uchari;init();i=EEPR0Mead(2);读数据,开始的时候里面可能没有数据可能为0;i+;/变为1;EEPROM_write(2,i);存为1:whi1e(1)(dis
3、p1ay(i);)EEPROM#储器相关的寄存器EEPRoM控制寄存器EECR加录像宗未注IB EEPRoM捽制寄存器EECR用广捽制单.片机对EEPROM的操作。 f,3-EERIE:EEPRC)MM断准备好使能优EERIEr,1IiuI1全局中断I置位时,如果(EWE为私则单片机产牛:T币断发示储操作完成二EEPRc)M存储器相关的寄存器EEPRoM数据寄存淤EEDR/IMS8IIIIII而ReadzWnteR/WRZWRWRWRNiFTWRVR/WMiaIVakMJ55EEPROM数据寄存错EEDRJS即将,J入EEPRoM或者从EEPROM读出的某个单元的数近KX或者一巾的地址IIIE
4、EPRoM的地址寄存器EEARk给小,EEPROM按字邛进行读EEPROM数据寄存器EEDRUJ读可写,初始值为OxOOoEEPRC)M存储器相关的寄存器位2EEMWE:EEPRC)M口;使能位0W1EEMwE为“1”时,设置EEWE为“1”将把EEDR中的数据写入EEAR所选择的地址空间o如果EEMWE为“0”,则EEWE无效。EEMWE在次肋喷“1后的4个时钟周期后,被硬件清“0”。EEPRe)M存储器相关的寄存器EEPRCM地址寄存器EEARH、EEAR1Bit15141312111098EEPRoM地址寄存器EEAR用广指定某个EEPR酬单兀的地址,512字节EEPRoM线件编址为OX
5、oOoo0x0M7F?地址寄存器EEAR可读可写,EEAR寄存端的仞始值没优意义,在访问EEPRoM之前必须为其指定正确的地h1EEPRoM存储器相关的寄存器f.1-EEWE:EEPRoM3优淮位,EEPROM的地址和薮丽落好之后,用户必须设置EEvVE为T,才届将数正1人空空理I,在IvI1EEWE7u1),Zjij,EEMWE必须置T,否则写入操作无效。EEPROM屏慝录伪*家未在册据的写入操作如卜丁.:等待EEWE为“0”立把EEPRoM的地址写入EEAR 把EEPROM的数据写入EEDR :,捏EEMWE为“1” OEEMWE为“1”的4个时钟周期内,向EBVE写入TEEPROM存储器相关的寄存器RO-EERE:EEPRoM读使能位。EERE用RFEEPROM的数据读取,当EEAR11设置了EEPROM的读取地址后,置位EERE将执行读操作。EEPROM|的数据被读取到数据寄存器EED苗岗TBEERE被硬件清寄,用户可以通过杳询此以来判断读操作是否完成o