导航:首页 > 软件知识 > 怎么向eeprom写入程序

怎么向eeprom写入程序

发布时间:2023-01-13 20:20:06

⑴ 如何将数据写入EEPROM

很多工艺过程需要对一些变量做长久保存。比如某些控制参数,在程序运行过程中可能会被修改,在改变后必须再一次永久保存以防掉电丢失。自然,这些参数不能由数据块或初始化予以预置。因此,S7-200提供了将数据写入EEPROM的功能。由于写EEPROM是在每个扫描周期的尾部执行的,我的理解是一次扫描只能写一个数据。这就带来一个问题,如果有多个数据需要同时写入这么办?按照手册上提供的方法,重复多写几个Network、多用几个使能标识位可以吗?这样简单的重复显然会有问题:由于使用上升沿触发写EEPROM程序,完成了第一个写入后程序将进入下一个扫描周期,尽管SM31.7已经被释放,但后几个使能位的上升沿已经不存在了;因此还是只能写一个数据。 为了保证所有数据都能写入EEPROM,我对手册上的范例做了一些改动,相关程序请看附件。详细说明如下: 1、为了将多个数据写入EEPROM,就必须用多个扫描周期,而且保证每个扫描周期依次写入一个数据,直到全部写完。这样,每个数据写入的使能标识位在数据尚未写入时必须处在使能状态。而在写入完成后必须退出使能状态。 2、由于写入程序的触发还有一个SM31.7作为判断条件,按照程序的时序关系,前一个写入程序被使能后,后面的写入程序必然会被屏蔽,因此无需担心写入条件发生改变。 3、在数据写入被使能后及时退出本数据的写入使能,避免下一个扫描周期被再次触发。同时释放写入请求以使下一个数据的写入请求能被响应。 4、一般来说,写EEPROM不是一件经常发生的事件,因此不必担心两个相邻扫描周期内同一个写入使能位被再次触发。除非程序本身的编写有误。 5、实例程序中用M0.0使能VD100的写入,用M0.1使能VD104的写入,M0.2同时使能上述两个标识位(也可以在监控状态下单独使能某个位)。这里我们讨论两个标识位同时被使能的情况。 6、M0.0置位后,SM31.7=0,执行VD100的写入程序;然后置位SM31.7,并立即复位M0.0。由于SM31.7被置位,即使M0.1也处于被使能状态,在本次扫描周期内VD104的写入请求被忽略,而M0.1还保持使能状态。 7、在下一个扫描周期内,由于M0.0已经退出使能状态,因此VD104的写入请求将被响应。与M0.0一样,写入请求被响应后M0.1也立即退出使能状态。 8、这样,在两个扫描周期内两个数据被写入EEPROM。如果有更多的数据需要保存,可以以此类推。 9、检验本程序的方法:在系统块中将V寄存器的掉电保持全部取消,可以看到重新上电后前一次写入V寄存器的数据会丢失。此时用本程序保存VD100和VD104,重新上电后可以看到这两个寄存器内的数据依然存在。 10、两个被写入的寄存器地址可以随意改变,无所谓是否连续。 这个程序是我自己琢磨出来的,贴出来供大伙儿拍拍砖。 西门子官方网站提供了一个免费的库程序,可以一次写入多个数据。网址是 “ http://support.automation.siemens.com/CN/llisapi.dll/17471561?func=ll&objId=17471561&objAction=csView&nodeid0=10805150&lang=zh&siteid=cseus&aktprim=0&extranet=standard&viewreg=CN&load=content ”。

⑵ 怎样将数据写到EEPROM

大神都不说啊,我外行说一下吧。首先看你的EEPROM的接口方式,SPI,还是I2C;然后网上下载个基本驱动函数,SPI的和I2C的到处找的到。然后是写自己的函数,一般是自己写的函数中调用基本函数。自己函数读和写都有协议和时序的,自己看datasheet;比如:先发0xXX,表示写,接着发地址0xYY(也可能是0xYYYY),接着发数据,0xZZ。都发完了就表示:把0xZZ写入0xYY了。可以再读一下验证,方法类似就是多一条返回数据的采集。基本驱动函数里就有。

⑶ pic单片机EEPROM怎么编写程序

在你的C文件里引用EEPROM函数的头文件,eeprom_routines.h

然后在程序中使用

voideeprom_write(unsignedcharaddr,unsignedcharvalue);

unsignedchareeprom_read(unsignedcharaddr);

这两个函数了。

这两个函数一个读一个写。比如你想写0x10到地址为0x55的EEPROM,

就写:eeprom_write(0x55,0x10);

同理,如果想读取0x55地址处的值,

就写:ee_value=eeprom_read(0x55);

如果编译时编译器提示找不到eeprom_routines.h,可以在

X:ProgramFilesHI-TECHSoftwarePICC9.81include目录下找,然后复制到自己项目文件夹下。

对了,我用的是MPLabIDE,编译器使用的是PICC。

⑷ stc单片机,如何往eeprom里写程序,请高手进

eeprom 不是程序区,不能运行程序。
有部分型号, 程序区 和 eeprom区 共用的就可以在运行时修改程序。

⑸ STC89C52单片机如何在运行时向EEPROM内写入数据,使数据断电后不消失,下次运行继续用.

1、首先打开电脑中的keil软件。

⑹ pic单片机EEPROM怎么编写程序

在你的C文件里引用EEPROM函数的头文件,eeprom_routines.h

然后在程序中使用

void eeprom_write(unsigned char addr, unsigned char value);

unsigned char eeprom_read(unsigned char addr);

这两个函数了。

这两个函数一个读一个写。比如你想写0x10到地址为0x55的EEPROM,

就写:eeprom_write(0x55,0x10);

同理,如果想读取0x55地址处的值,

就写:ee_value = eeprom_read(0x55);

如果编译时编译器提示找不到eeprom_routines.h,可以在

X:Program FilesHI-TECH SoftwarePICC9.81include 目录下找,然后复制到自己项目文件夹下。

对了,我用的是MPLab IDE,编译器使用的是PICC。

⑺ 在proteus里面,怎样往Eprom里面写入数据啊。。。

EPROM是要高电压编程的,不知你是什么型号的芯片。

1、你可以设计电路让EPROM芯片具备编程所需的要求(下面是M27256功能表)

在对话框中选择你刚才建立的文件。至此,Protues中EPROM芯片就有数据了。

阅读全文

与怎么向eeprom写入程序相关的资料

热点内容
投保信息第三者投保在哪里查 浏览:247
达芬奇16数据库为什么建不了 浏览:565
正规的代理记账如何找 浏览:791
农副产品如何发传单 浏览:205
如何更新dnf助手信息 浏览:917
荣耀vivo如何转移数据 浏览:980
小程序名字怎么才能合格 浏览:102
市场营销专业适合哪个事业单位 浏览:285
海安收藏品交易市场在哪里 浏览:169
大通口碑好的代理记账电话多少 浏览:689
美团外卖代理运营怎么赚钱 浏览:361
分金亭如何代理 浏览:785
桥梁技术措施费包括哪些 浏览:585
cpu中的少量数据是什么 浏览:964
微博和小程序有什么区别 浏览:933
纯碱在哪个交易所 浏览:237
oppo手机怎么用usb数据线连接电视 浏览:176
小米l1和l5数据线哪个快 浏览:745
技术入股怎么评估 浏览:640
如何查询中国逆回购的交易记录 浏览:804