注册家电维修技术论坛,与同行畅聊维修技术,享更多技术论坛功能。内部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标志位,来判定写操作是否完成。 |
|