发表于:2005-12-16 09:34:00
2楼
Flash 单片机怎样写入代码,取决于你自己,但是写入代码后再要改写或擦除就由不得你了,通常只可整片擦除或擦除整个扇区后再次写入,请看:
http://www.xhl.com.cn/xhl/downfile/c8051f0xx.pdf
C8051F000/1/2/5/6/7
C8051F010/1/2/5/6/7 混合信号 32KB ISP FLASH 微控制器
摘自 11.1 FLASH存储器编程
[color=#800000]“可以用软件使用MOVX指令对FLASH存储器编程,象一般的操作数一样为MOVX指令提供待编程的地址和数据字节。在使用MOVX指令对FLASH存储器写入之前,必须将程序存储写允许位PSWE(PSCTL.0)设置为逻辑‘1’,以允许FLASH写操作,在用软件清除PSWE位之前将一直允许写操作。
写FLASH存储器可以清除数据位,但不能使数据位置‘1’。只有擦除操作能将FLASH中的数据位置‘1’。所以在写入新值之前,必须先擦除待编程的地址。32k字节的FLASH存储器是以512字节的扇区为单位组织的。一次擦除操作将擦除整个扇区(将扇区内的所有字节设置为0xFF)。将程序存储擦除允许位PSEE(PSCTL.1)和PSWE(PSCTL.0)设置为逻辑‘1’后,用MOVX命令写一个数据字节到扇区内的任何地址将擦除整个512字节的扇区。”[/color]