找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2643|回复: 13
收起左侧

stc89c52单片机移植到stc15w204和stc8g1k08使用内置eeprom,需要改动哪里?

[复制链接]
ID:879924 发表于 2022-6-10 13:04 来自手机 | 显示全部楼层 |阅读模式
内置eeprom,引脚,定时器,中断这些地方需要如何改动呢?尤其是eeprom。
回复

使用道具 举报

ID:213173 发表于 2022-6-10 16:17 | 显示全部楼层
STC-ISP有官方示例,对比一下就能明白。
回复

使用道具 举报

ID:624769 发表于 2022-6-10 16:47 | 显示全部楼层
首先,最大的变化是,寄存器很多地址都变了,需要包含 STC15.H 或者 STC8G.H

引脚:  见手册的管脚图,
定时器:  T2定时器变化很大,无论设置方法,还是寄存器都有变化,需注意。
EEPROM:  除了需要包含新的头文件,EEprom 的启动指令,从 ISP_TRIG = 0x49  改为了:  IAP_TRIG = 0x5A 最好仔细核对手册,如果是 STC8系列,还多了一个控制 Eeprom 速度的专用寄存器,这需要注意的。
回复

使用道具 举报

ID:879924 发表于 2022-6-10 17:11 来自手机 | 显示全部楼层
188610329 发表于 2022-6-10 16:47
首先,最大的变化是,寄存器很多地址都变了,需要包含 STC15.H 或者 STC8G.H

引脚:  见手册的管脚图,
...

那么eeprom的扇区地址在哪里可以找到呢?我看了数据手册还有stc-isp的头文件,都没有定义。
回复

使用道具 举报

ID:879924 发表于 2022-6-10 17:18 来自手机 | 显示全部楼层
188610329 发表于 2022-6-10 16:47
首先,最大的变化是,寄存器很多地址都变了,需要包含 STC15.H 或者 STC8G.H

引脚:  见手册的管脚图,
...

数据手册里面有。直接使用16进制地址就可以访问了对吧?
回复

使用道具 举报

ID:624769 发表于 2022-6-10 17:48 | 显示全部楼层
macboa 发表于 2022-6-10 17:18
数据手册里面有。直接使用16进制地址就可以访问了对吧?

用 IAP 方式  读写的话, 扇区 首地址为: 0x0000
用 MOVC 方式,即指针方式读取的话(仅可以用于读取), 需要加上偏移量,具体偏移量,按手册对应型号察看。
回复

使用道具 举报

ID:879924 发表于 2022-6-10 20:33 | 显示全部楼层
188610329 发表于 2022-6-10 17:48
用 IAP 方式  读写的话, 扇区 首地址为: 0x0000
用 MOVC 方式,即指针方式读取的话(仅可以用于读取) ...

IAP的方式,第二个扇区,从什么地址开始啊?
回复

使用道具 举报

ID:213173 发表于 2022-6-10 20:57 | 显示全部楼层
macboa 发表于 2022-6-10 17:11
那么eeprom的扇区地址在哪里可以找到呢?我看了数据手册还有stc-isp的头文件,都没有定义。

无标题.jpg
回复

使用道具 举报

ID:57657 发表于 2022-6-10 22:49 | 显示全部楼层
188610329 发表于 2022-6-10 17:48
用 IAP 方式  读写的话, 扇区 首地址为: 0x0000
用 MOVC 方式,即指针方式读取的话(仅可以用于读取) ...

STC89、90、11等部分老型号不支持MOVC读EEPROM,具体见数据手册。
回复

使用道具 举报

ID:491577 发表于 2022-6-10 23:20 | 显示全部楼层
stc15w204和stc8g1k08比STC89快太多,有些程序运行也会出问题,特别是涉及到其他芯片的,比如595芯片,ADC芯片等,如果速度没有要求晶振选1-3M就好,不要太快。
回复

使用道具 举报

ID:230742 发表于 2022-6-11 01:54 | 显示全部楼层
需要改的挺多的,比如要设置IO口的模式,有的没有定时器1,有的有内置的通过设定的上下拉电阻。
还是多看看手册吧。有时候我都想把手册打印出来,就是太厚了。
回复

使用道具 举报

ID:624769 发表于 2022-6-11 18:15 | 显示全部楼层
macboa 发表于 2022-6-10 20:33
IAP的方式,第二个扇区,从什么地址开始啊?

IAP方式,第二扇区是 0x0200 开始, 手册里有。
回复

使用道具 举报

ID:624769 发表于 2022-6-11 18:28 | 显示全部楼层
看你这个帖子里面回复挺乱的, 而你好像疑惑点主要在 Eeprom 这块,那么给你归纳一下。
根据你用的 STC单片机,其实你能找到相应的 头文件。
头文件里面,如果有  IAP_TRIG 这个寄存器,那么这个单片机,我们归为 IAP 方式。
头文件里面,如果有  ISP_TRIG 这个寄存器,那么这个单片机,我们归为 ISP 方式。
首先,
IAP 方式的单片机, 有可能可以支持 MOVC方式访问,也有可能不支持。这个只能查手册了。
ISP 方式的单片机, 一定不支持 MOVC 方式访问,这个不需要查手册。
其次,所有STC 单片机的 Eeprom 每个扇区的大小 都是 512字节,即 0x0200字节,
IAP方式  访问 Eeprom,  Eeprom 首地址为 0x0000,
ISP方式,以及 MOVC 方式, Eeprom 首地址 均为 程序区 结束后的地址,如果程序区 是 8K的,则 Eeprom 开始地址为:0x2000, 程序区是 16K 的 则Eeprom 开始地址为:0x4000  依次类推。

回复

使用道具 举报

ID:1063561 发表于 2023-6-14 09:15 | 显示全部楼层
stc8g1k08的IAP方式  访问 Eeprom,  Eeprom 首地址为 0x0000。如果只想用最后一个扇区,是不是应该从0xe00开始?谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表