博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
STC单片机EEPROM读写
阅读量:5279 次
发布时间:2019-06-14

本文共 2945 字,大约阅读时间需要 9 分钟。

 
//**************************************************************** //  STC单片机EEPROM读写--最简洁的的拿来就用保证没错^_^简洁至上! //---------------------------------------------------------------- //--------------------------------//-------------------------------- //注意:以下为STC89系列的地址 //--------------------------------//-------------------------------- sfr isp_data  = 0xe2;//ISP/IAP操作时的数据寄存器 sfr isp_addrh = 0xe3;//高地址 sfr isp_addrl = 0xe4;//低地址 sfr isp_cmd   = 0xe5;//命令模式寄存器 sfr isp_trig  = 0xe6;//命令触发寄存器 sfr isp_contr = 0xe7;//ISP/IAP控制寄存器 */ /* //--------------------------------//-------------------------------- //注意:以下为1T新STC系列的地址 //--------------------------------//-------------------------------- sfr isp_data  = 0xc2;//ISP/IAP操作时的数据寄存器 sfr isp_addrh = 0xc3;//高地址 sfr isp_addrl = 0xc4;//低地址 sfr isp_cmd   = 0xc5;//命令模式寄存器 sfr isp_trig  = 0xc6;//命令触发寄存器 sfr isp_contr = 0xc7;//ISP_IAP控制寄存器 //---------------------------------------------------------------- uchar eeprom_read(uint addres);// void  eeprom_write(uint address,uchar wdata);// void  eeprom_eares(uint addres);//扇区擦除 //**************************************************************** //  扇区擦除 //---------------------------------------------------------------- void eeprom_eares(uint addres) {          uchar i;          isp_addrl=addres;     //低位地址     isp_addrh=addres>>8;  //高位地址     isp_contr=0x01;      isp_contr=isp_contr|0x80; //设时间与充ISP操作。     isp_cmd=0x03;         //扇区命命令     isp_trig=0x46;        //触发     isp_trig=0xb9;        //触发启动。     for(i=0;i<3;i++)         ;     isp_addrl=0xff;     isp_addrh=0xff;     isp_contr=0x00;     isp_cmd=0x00;     isp_trig=0x00;  } //**************************************************************** //  读数据 //---------------------------------------------------------------- unsigned char eeprom_read(unsigned int addres) {     unsigned char i,z;          isp_addrl=addres;     //低位地址     isp_addrh=addres>>8;  //高位地址     isp_contr=0x01;      isp_contr=isp_contr|0x80; //设时间与充ISP操作。     isp_cmd=0x01;         //写命令     isp_trig=0x46;        //触发     isp_trig=0xb9;        //触发启动。     for(i=0;i<3;i++)         ;     isp_addrl=0xff;     isp_addrh=0xff;     isp_contr=0x00;     isp_cmd=0x00;     isp_trig=0x00;     z=isp_data;          return(z);         } //**************************************************************** //  写数据 //---------------------------------------------------------------- void eeprom_write(unsigned int addres,unsigned char write_data) {     unsigned char i;          isp_data=write_data;  //要写入的数据。     isp_addrl=addres;     //低位地址     isp_addrh=addres>>8;  //高位地址     isp_contr=0x01;      isp_contr=isp_contr|0x80; //设时间与充ISP操作。     isp_cmd=0x02;         //写命令     isp_trig=0x46;        //触发     isp_trig=0xb9;        //触发启动。     for(i=0;i<3;i++)         ;     isp_addrl=0xff;     isp_addrh=0xff;     isp_contr=0x00;     isp_cmd=0x00;     isp_trig=0x00;   }

转载于:https://www.cnblogs.com/pulan/archive/2011/09/22/2921619.html

你可能感兴趣的文章
简单的注册表单
查看>>
caffe c++
查看>>
概率图模型课本笔记(五)
查看>>
数据库MySQL/mariadb知识点——存储过程及存储引擎
查看>>
决策树
查看>>
动态规划走楼梯问题
查看>>
mvc模型绑定问题
查看>>
评价现在的输入法
查看>>
美国行照片集之十二:一日两季
查看>>
素数回文(高效判断素数法)
查看>>
用户和组管理
查看>>
网络通信原理 五层协议
查看>>
本地化中文示例代码需求调查
查看>>
JavaScript基础——使用运算符
查看>>
CentOS7安装CDH 第十三章:CDH资源池配置
查看>>
DMSLinq表达式框架实现(一)
查看>>
图论---图的m-点着色判定问题(回溯法--迭代式)
查看>>
如何使用HTML5创建在线精美简历
查看>>
poj 2187 Beauty Contest
查看>>
qsort函数用法
查看>>