插手珍藏夹
本站长久域名:http://www.agpgames.com              首页 || English Version || 汇款须知 || 汇款确认及留言 || 论坛 || 淘宝网店

PIC单片机16F84的内部硬件本钱(八)

12 E2PROM的使用方式
   在PIC16F84单片机中,除了可间接寻址的由SRAM构成的数据存储器外,又一次又一次有可电擦、电写的E2PROM数据存储器。该E2PROM共有64字节,其地址为00~3FH单元。由于E2PROM具有在线改写,并在掉电后仍能保持数据的特点,可为用户的特殊使用供给便当。16F84的E2PROM在一般操作时的整个VDD工作电压范畴内是可读写的,典型环境下可重写100万次,数据保留期大于40年。
   PIC16F84单片机的E2PROM并未映象在寄放器组空间中,所以它们不能像SRAM通用寄放器那样用指令间接寻址拜候,而需要经由公用寄放器进行间接寻址操作。因而,在16F84单片机中添加了以下四个公用寄放器,即EECON1、EECON2、EEDATA、EEADR,特地用于片内对E2PROM的操作。该公用寄放器中,EEDATA存放8位读/写数据,EEADR存放正在被拜候的E2PROM存储单元的地址。
   EECON1是只需低五位的节制寄放器,其高三位不具有,读作“0”。具体见下表。
   D7 D6 D5 D4  D3  D2 D1 D0
   -  -  - EEIF WRERR WREN WR RD
   节制位RD和WR别离用于读写操作的启动,这两位能够由软件置1,以启动读、写操作,但不能用软件清零,缘由是防止不得当的软件操作会使写入失败。当读写操作完成后由硬件主动清零,暗示此刻未对E2PROM进行读写操作。当WREN位被置1时,答应进行写操作,而在上电时该位被清零。在一般操作时,一旦有MCLR或WDT复位,WRERR位就置1,暗示写操作被中止。当写操作完成时,EEIF被置1(需由软件清零);当写操作未完成或尚未启动时,EEIF为“0”。
   EECON2仅是一个逻辑上的寄放器,而不是一个物理上具有的寄放器,读出时将老是为零。它只在写操作时起传染感动。
   (1)E2PROM的读操作
   为进行一次E2PROM读操作,需施行如下措施:
   1)将E2PROM的单元地址放入EEADR。2)置RD(EECON的D0位)=1。3)读取EEDATA寄放器。
   法式段举例,读取25H处的E2PROM存储器数据:
   …
   BCF   STATUS,RP0 ;选Bank0
   MOVLW 25H
   MOVWF EEADR   ;地址25H→EEADR
   BSF   STATUS,RP0 ;选Bank1
   BSF EECON1,RD ;启动读操作
   BCF STATUS,RP0 ;选Bank0
   MOVF EEDATA,W ;将E2PROM数据
         …   ;读入W寄放器
   (2)E2PROM的写操作
   要进行一次E2PROM写操作,需施行如下措施:
   1)将E2PROM单元地址放入EEADR;2)将写入数据放入EEDATA;3)施行一段节制法式段。
   例如:将数据99H写入E2PROM的25H单元,需施行下列法式:
        …
   BCF   STATUS,RP0 ;送Bank0
   MOVLW 25H
   MOVWF EEADR    ;地址→EEADR
   MOVLW 99H
   MOVWF EEDATA   ;写入数据→EEDATA
   BSF   STATUS,RP0 ;选Bank1
   BSF   EECON1,WREN;写操作功能答应
   1 BCF   INTCON,GIE ;封闭总中缀
   2 MOVLW 0x55
   3 MOVWF EECON2
   4 MOVLW 0xAA
   5 MOVWF EECON2 ;操作EECON2
   6 BSF  EECON1,WR;启动写操作
   7 BSF   INTCON,GIE ;开放总中缀
     …
   留意:上列法式中的2~6条各语句必需严酷施行,不然不能启动E2PROM的写操作。而1~7条则是咱们建议用户施行的操作,即在E2PROM写操作序列措施中要封闭所有中缀,免得这个序列被中缀打断。
   别的,WREN(EECON1的D2位)是用来包管E2PROM不会被不测写入而设置的,所以,在日常普通,用户法式应保持WREN=0以禁止写操作。只需当需对E2PROM写入时才置WREN=1,并在写入完成后将其恢复为0。用户只需置WREN=1后才能置WREN=1启动写操作。上电复位后WREN位主动清零。
   E2PROM写操作约需10ms的时间才能完成。用户法式可经由查问WR位的情况(当WR=0时暗示操作已完成),或者用E2PROM写入完成中缀来判断E2PROM写操作能否完成。如要使用中缀,应先置EEIF(INTCON的D6)为1,以开中缀。E2PROM写完成要中缀标记位EEIF,只能用软件清零。

  成都 卫东

  学问竞赛试题:
   25奔蚴鯬IC单片机带E2PROM的数据存储器的特点和用处。

以上部门内容转载于网上,如有涉及到版权问题,请即通知本人删除 ICP备05019516号
联系地址:浙江省杭州市西湖科技园西园七路3号4层 邮政编码:310011 Email:hificat@163.com xu169@sina.com
德律:0571-87615070 传真:0571-87615070 手机:13185018567 QQ:420951892 MSN:hificat@hotmail.com
杭州电子&算计机工作室 版权所有 COPYRIGHT2003——2007 HangZhou Electron&Computer Studio. All rights reserved