STC单片机内部FLASH读写程序

上传人:飞*** 文档编号:35829864 上传时间:2018-03-21 格式:DOC 页数:5 大小:33.50KB
返回 下载 相关 举报
STC单片机内部FLASH读写程序_第1页
第1页 / 共5页
STC单片机内部FLASH读写程序_第2页
第2页 / 共5页
STC单片机内部FLASH读写程序_第3页
第3页 / 共5页
STC单片机内部FLASH读写程序_第4页
第4页 / 共5页
STC单片机内部FLASH读写程序_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《STC单片机内部FLASH读写程序》由会员分享,可在线阅读,更多相关《STC单片机内部FLASH读写程序(5页珍藏版)》请在金锄头文库上搜索。

1、STCSTC 单片机内部单片机内部 FLASHFLASH 读写程序读写程序( (http:/http:/ )电子伙伴 发表于 2006-4-11 16:26:00/i nclude “STC89C51.h“/i nclude #define ERROR 0#define OK 1#define WAIT_TIME 0x00 /mcu clock 40mhz/#define WAIT_TIME 0x01 /mcu clock 20mhz/#define WAIT_TIME 0x02 /mcu clock 10mhz/#define WAIT_TIME 0x03 /mcu clock 5mhz#d

2、efine HOUR 0x8000#define MINUTE 0x8001void ISP_EN(void)EA = 0; / 关中断 ISP_CONTR = ISP_CONTR / 0001,1000ISP_CONTR = ISP_CONTR | WAIT_TIME;ISP_CONTR = ISP_CONTR | 0x80; / 1000,0000void ISP_DI(void)ISP_CONTR = ISP_CONTR / 0111,1111ISP_TRIG = 0x00;EA = 1; / 开中断unsigned char Byte_read(unsigned int byte_ad

3、dr)ISP_ADDRH = (unsigned char)(byte_addr 8);ISP_ADDRL = (unsigned char)(byte_addr ISP_CMD = ISP_CMD / 1111,1000ISP_CMD = ISP_CMD | 0x01; / 0000,0001 字节读数据存储区ISP_EN();ISP_TRIG = 0x46;ISP_TRIG = 0xb9;_nop_();ISP_DI();return (ISP_DATA);void Sector_erase(unsigned int Sector_addr)unsigned char addre;addr

4、e = (unsigned char)(Sector_addr 8); / 1111,1110,0000,0000; 取扇区地址ISP_ADDRH = addreISP_ADDRL = 0x00;ISP_CMD = ISP_CMD / 1111,1000ISP_CMD = ISP_CMD | 0x03; / 0000,0011 扇区擦除数据存储区ISP_EN();ISP_TRIG = 0x46; / 触发 ISP_IAP 命令ISP_TRIG = 0xb9; / 触发 ISP_IAP 命令_nop_();ISP_DI();void Byte_program(unsigned int byte_

5、addr, unsigned char DataBuf)ISP_ADDRH = (unsigned char)(byte_addr 8);ISP_ADDRL = (unsigned char)(byte_addr ISP_CMD = ISP_CMD / 1111,1000ISP_CMD = ISP_CMD | 0x02; / 0000,0010 字节编程数据存储区ISP_DATA = DataBuf;ISP_EN();ISP_TRIG = 0x46; / 触发 ISP_IAP 命令ISP_TRIG = 0xb9; / 触发 ISP_IAP 命令_nop_();ISP_DI();unsigned

6、 char ByteProgramVerify(unsigned int byte_addr, unsigned char DataBuf)ISP_ADDRH = (unsigned char)(byte_addr 8);ISP_ADDRL = (unsigned char)(byte_addr ISP_CMD = ISP_CMD / 1111,1000ISP_CMD = ISP_CMD | 0x02; / 0000,0010 字节编程数据存储区ISP_DATA = DataBuf;ISP_EN();ISP_TRIG = 0x46;ISP_TRIG = 0xb9;_nop_();ISP_DATA = 0x00;ISP_CMD = ISP_CMD / 1111,1000ISP_CMD = ISP_CMD | 0x01; / 0000,0001ISP_TRIG = 0x46; / 触发 ISP_IAP 命令ISP_TRIG = 0xb9; / 触发 ISP_IAP 命令_nop_();ISP_DI();if(ISP_DATA=DataBuf) return OK;else return ERROR;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号