打印

STC单片机内部EEPROM读写,大家都用啥工具实现编程?

[复制链接]
15361|36
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
古道热肠|  楼主 | 2008-2-15 15:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这STC单片机内部带有EEPROM,容量还不算小,在51单片机中也算有些特色吧。
最近想要用一用,找来找去,没发现有合适的编程器进行简单的编程,STC自带的下载软件是没有这功能的,通用编程器又不支付STC的芯片,情急之下,自已写了一个,相看看大家都有何好办法实现,作作参考,想把自己的拙作再完善一下,与大家共享。

相关帖子

沙发
原野之狼| | 2008-2-15 15:34 | 只看该作者

可以在程序中实现啊。。。

使用特权

评论回复
板凳
winloop| | 2008-2-15 16:30 | 只看该作者

那哪是EEPROM

就是FLASH而已

使用特权

评论回复
地板
xwj| | 2008-2-15 16:46 | 只看该作者

几点错误:

1、那哪是什么EEPROM ,就是FLASH而已 

2、就是FLASH,初始值就在程序空间里定义即可

3、也可以写段初始化程序,判断是首次上电则执行IAP做初始化





PS:
别人分不清EEPROM和FLASH还情有可原,作为版主还搞不清的话就该打PP了哦
 

使用特权

评论回复
5
古道热肠|  楼主 | 2008-2-15 17:15 | 只看该作者

哈哈,大家没抓住重点呀

EEPROM全名是“电可擦除可编程只读存储器”,Flash的全名是“闪速存储器”说成Flash也好,说成EEPROM也罢,都不重要,重要的是如何简单地用个PC软件,配上个硬件装置,对一批STC单片机读写内部的数据存储器。就象用编程器读写24器件一样地简单就好了。
哈哈,STC单片机在其PDF中一直宣称为EEPROM,还跟个小名叫“Data Flash”,俺也跟着这么叫了。

使用特权

评论回复
6
hotpower| | 2008-2-15 17:43 | 只看该作者

哈哈~~~建议不要让人晚节不保~~~

使用特权

评论回复
7
hotpower| | 2008-2-16 00:48 | 只看该作者

哈哈~~~STC要ISP就保不了数据,要数据就不能ISP~~~

哈哈~~~好好问问STC这个问题如何解决吧~~~

使用特权

评论回复
8
john_light| | 2008-2-16 08:07 | 只看该作者

宏晶混淆概念

该清楚的地方还是要弄清楚,不然就三人成虎了。

使用特权

评论回复
9
古道热肠|  楼主 | 2008-2-16 10:08 | 只看该作者

哈哈,咋都跟着起哄呢,也许是我没表达清楚吧

现在就是想使用STC单片机中的号称为EEPROM的来做为数据存储器,以前只有Atmel公司的AT89S8252单片机有这功能,但这AT89S8252单片机市场上难觅其踪,STC单片机有此功能,能省掉原来外围的24或93等小容量EEPROM,节省出IO口线来,也是好事。
  有很多应用是开机后需读取存放在EEPROM中的数据,比如机器序列号,机器硬件配置数据,开机画面。这是候最常见的办法是用PC编制一个软件,生成序列号,硬件配置信息,最后生成一二进制文件,再用编程器写入24或93中,产品开机后就能获取机器配置,并执行相应的功能。
  STC单片机目前没有找到简便的工具来实现将每个芯片内容都不一定相同的数据写入其EEPRom中的方法。
  俺所问的不是对其程序空间的Flash的ISP或IAP操作,而是对其数据空间的EEPROM的操作。

使用特权

评论回复
10
gyt| | 2008-2-16 13:07 | 只看该作者

恐怕只能用单片机本身的指令来实现

PC指挥单片机,单片机自己写flash

使用特权

评论回复
11
超克利特| | 2008-2-16 13:18 | 只看该作者

同意楼上

在程序里加接收指令,用串口加上位机发数据岂不是更方便吗?

使用特权

评论回复
12
hotpower| | 2008-2-17 00:16 | 只看该作者

倒塌了~~~AVR都带真正的EEPROM~~~比STC强多了~~~

使用特权

评论回复
13
z_no1| | 2008-2-17 10:57 | 只看该作者

注意一个问题

STC的STC12C系列分两种,STC12C5412XX和STC12C5052XX两种容量的可IAP,但你用STC自己的擦除指令会把代码和“EEPROM”一起擦掉。其他的不能IAP,好象是可以保留“EEPROM”的内容,没具体用过。手册上没明确提,

使用特权

评论回复
14
zenyin| | 2008-2-17 11:45 | 只看该作者

鼓捣热肠,俺也在鼓捣呢

如果内部FLUSH EPROM能开放自己编程,虹精科技就没戏唱了

使用特权

评论回复
15
古道热肠|  楼主 | 2008-2-17 12:18 | 只看该作者

回hotpower

AVR单片机系列确是“MCS_51”系列单片机的掘墓人,但这得有个过程,俺今年过年就在啃AVR的汇编,AVR俺是很想学好的,但51单片机还是会用上一阵子。

使用特权

评论回复
16
古道热肠|  楼主 | 2008-2-17 12:24 | 只看该作者

回zenyin

说宏晶科技没戏了,俺不解,其数据Flash的确是能写段代码当24C16用的呀,只是其ISP固件做得不完善,只能下载程序Flash,不能下载数据Flash的内容。
唉,这STC公司,写个支持数据Flash读写的ISP并不难,搞的个下载软件,一看就不专业。

使用特权

评论回复
17
winds| | 2008-2-17 13:44 | 只看该作者

原来通信协议不知道啊。。

所谓的内部数据Flash其实就是程序Flash,和程序Flash是同一Flash,只不过地址不一样而已
我自己做过在线下载程序(IAP),只要在引导程序里面写调用宏晶的写Flash程序,把地址设为数据Flash地址就是了。
我想楼主是想调用宏晶原来的引导程序做一个烧写内部数据Flash的程序吧?
问题是原来的通信协议不知道啊,要是知道,修改下地址就可以了。在IAP程序里面,应用程序Flash和数据Flash本来就是一样的

使用特权

评论回复
18
dysch2000| | 2008-2-18 08:27 | 只看该作者

我是这样做的

我是先写段STC里的程序,包括要写的数据,让其先下载后运行一下,实现向EEPROM写入初始数据。然后重新下载工作程序。不像AVR可以单独分开写。

使用特权

评论回复
19
emtionmk| | 2008-2-19 18:12 | 只看该作者

宏晶那个网站上有现成的写FLASH的C程序啊,

使用特权

评论回复
20
sbx251| | 2008-2-20 08:59 | 只看该作者

利用STC自带的下载软件可以下载

在源程序后面用ORG定位EEPROM(为了明白暂且这么叫)的起始地址,然后再写要装入的数据,最后随主程序一起下装。例:

  ROG   2800H
  DB  12H,23H,32H
  DB  76H,4DH,5BH
  WB  1234H,2BD0H
  ... ...

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

284

主题

6411

帖子

16

粉丝