- UID
- 54660
- 阅读权限
- 60
- 推广
-
- 幽默
-
- 注册时间
- 2009-11-17
- 最后登录
- 1970-1-1
|
注册家电维修技术论坛,与同行畅聊维修技术,享更多技术论坛功能。
您需要 登录 才可以下载或查看,没有帐号?快速注册
x
内部FLASH程序存储器读写操作步骤
读取FLASH程序存储器的操作步骤如下
1、把地址低8位写入到EEADR,把地址高5位写入EEADRH中,注意该地址不能超过目标单片机内部FLASH实际容量。
2、把控制位EEPGD置1,以选定去读对象为FLASH程序存储器。
3、把控制位RD置1,启动本次读操作。
4、执行两条NOP指令,以插入等待时间。
5、读取已经反馈到EEDATA中的数据(低8位)和EEDATAH中的数据(高6位)。
烧写FLASH程序存储器的步骤:
1、把长地址码分两步送入地址寄存器对EEADRH:EEADR中,并且保证地址不能超出目标单片机内部FLASH的最大地址范围。(870/871/872,2K*14;873/874, 4k*14,876/877,8k*14)
2、把准备烧写的14位数据分两步送入数据寄存器对EEDATH:EEDATA中。
3、控制位EEPGD置位,以指定FLASH作为烧写对象。
4、把写使能位WREN置1,允许后面进行写操作。
5、清除全局中断控制位GIE,关闭所有中断请求。
6、执行专用的“5指令序列”,这5条指令是固定搭配,用1条移动指令把55H写入W,用一条移动指令把W中的55H转入控制寄存器EECON2中,用1条移动指令把AAH转入控制寄存器EECON2中;把写操作启动控制位WR置1。
7、执行两条NOP指令,给单片机足够的进入写操作的时间。
8、放开中断总屏蔽位(如果打算利用EEIF中断功能的话)。
9、清除写允许位WREN,在本次写操作没有完毕之前,禁止重开新的一次写操作。
当写操作完成时,控制位WR被硬件自动清零,中断标志位EEIF被硬件置1(该位必须由软件请0)。由于在对FLASH的写操作期间,CPU不能执行任何命令,因此,就不能使用软件查询方式检验WR状态或EEIF标志位,来判定写操作是否完成。 |
|