| | 网站首页 | 电子基础 | 电子应用 | 电子电路图 | 雁过留声 | 软硬件设计 | ET电子商城 | 信息发布 | PDF查询 | 互助社区 | | |
![]() |
![]() |
| 您现在的位置: 迷失者电子网 >> 软硬件设计 >> 单片机 >> 文章正文 |
|
|||||
|
PIC单片机16F84硬件的E2PROM使用 |
|||||
| PIC单片机16F84硬件的E2PROM使用 | |||||
作者:佚名 文章来源:网络 点击数: 更新时间:2008-3-10 ![]() |
|||||
|
PIC单片机16F84硬件的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,只能用软件清零 |
|||||
| 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| PIC16F87X单片机的火灾报警系… MPEG-2(嵌入式)远程监控系统… PIC单片机数据存储器的特点及… PIC单片机数据存储器的特点及… PIC单片机数据存储器的特点及… PIC单片机芯片引脚符号的功能… PIC单片机的结构组成 PIC单片机的分类 PIC单片机与51单片机的区别 PIC单片机的基础知识 |
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 | | |
![]() |
Copyright@ 2005-2008 www.MsZhe.com All rights reserved |