#define E,咨信网zixin.com.cn" />
收藏 分销(赏)

STC单片机内部FLASH读写程序.doc

上传人:a199****6536 文档编号:2281392 上传时间:2024-05-24 格式:DOC 页数:5 大小:32.01KB 下载积分:6 金币
下载 相关 举报
STC单片机内部FLASH读写程序.doc_第1页
第1页 / 共5页
STC单片机内部FLASH读写程序.doc_第2页
第2页 / 共5页


点击查看更多>>
资源描述
STC单片机内部FLASH读写程序( 电子伙伴 发表于 2006-4-11 16:26:00 1 推荐 //#i nclude "STC89C51.h" //#i nclude <intrins.h> #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 #define HOUR  0x8000 #define MINUTE 0x8001 void ISP_EN(void) {  EA = 0;               //  关中断     ISP_CONTR = ISP_CONTR & 0x18;        // 0001,1000  ISP_CONTR = ISP_CONTR | WAIT_TIME;  ISP_CONTR = ISP_CONTR | 0x80;        // 1000,0000 } void ISP_DI(void) {  ISP_CONTR = ISP_CONTR & 0x7f;     // 0111,1111  ISP_TRIG = 0x00;  EA   =   1;                    // 开中断 } unsigned char Byte_read(unsigned int byte_addr) {  ISP_ADDRH = (unsigned char)(byte_addr >> 8);  ISP_ADDRL = (unsigned char)(byte_addr & 0x00ff);  ISP_CMD  = ISP_CMD & 0xf8;         // 1111,1000  ISP_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;  addre   = (unsigned char)(Sector_addr >> 8);  // 1111,1110,0000,0000; 取扇区地址  ISP_ADDRH = addre&0xfe;  ISP_ADDRL = 0x00;    ISP_CMD = ISP_CMD & 0xf8;       // 1111,1000  ISP_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_addr, unsigned char DataBuf) {  ISP_ADDRH = (unsigned char)(byte_addr >> 8);  ISP_ADDRL = (unsigned char)(byte_addr & 0x00ff);  ISP_CMD  = ISP_CMD & 0xf8;         // 1111,1000  ISP_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 char ByteProgramVerify(unsigned int byte_addr, unsigned char DataBuf) {  ISP_ADDRH = (unsigned char)(byte_addr >> 8);  ISP_ADDRL = (unsigned char)(byte_addr & 0x00ff);  ISP_CMD  = ISP_CMD & 0xf8;          // 1111,1000  ISP_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 & 0xf8;          // 1111,1000  ISP_CMD  = ISP_CMD | 0x01;          // 0000,0001  ISP_TRIG = 0x46;               // 触发ISP_IAP命令  ISP_TRIG = 0xb9;               // 触发ISP_IAP命令  _nop_();  ISP_DI();  if(ISP_DATA==DataBuf) return OK;  else return ERROR; }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服