找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4208|回復(fù): 13
收起左側(cè)

stc89c52單片機移植到stc15w204和stc8g1k08使用內(nèi)置eeprom,需要改動哪里?

[復(fù)制鏈接]
ID:879924 發(fā)表于 2022-6-10 13:04 來自手機 | 顯示全部樓層 |閱讀模式
內(nèi)置eeprom,引腳,定時器,中斷這些地方需要如何改動呢?尤其是eeprom。
回復(fù)

使用道具 舉報

ID:213173 發(fā)表于 2022-6-10 16:17 | 顯示全部樓層
STC-ISP有官方示例,對比一下就能明白。
回復(fù)

使用道具 舉報

ID:624769 發(fā)表于 2022-6-10 16:47 | 顯示全部樓層
首先,最大的變化是,寄存器很多地址都變了,需要包含 STC15.H 或者 STC8G.H

引腳:  見手冊的管腳圖,
定時器:  T2定時器變化很大,無論設(shè)置方法,還是寄存器都有變化,需注意。
EEPROM:  除了需要包含新的頭文件,EEprom 的啟動指令,從 ISP_TRIG = 0x49  改為了:  IAP_TRIG = 0x5A 最好仔細(xì)核對手冊,如果是 STC8系列,還多了一個控制 Eeprom 速度的專用寄存器,這需要注意的。
回復(fù)

使用道具 舉報

ID:879924 發(fā)表于 2022-6-10 17:11 來自手機 | 顯示全部樓層
188610329 發(fā)表于 2022-6-10 16:47
首先,最大的變化是,寄存器很多地址都變了,需要包含 STC15.H 或者 STC8G.H

引腳:  見手冊的管腳圖,
...

那么eeprom的扇區(qū)地址在哪里可以找到呢?我看了數(shù)據(jù)手冊還有stc-isp的頭文件,都沒有定義。
回復(fù)

使用道具 舉報

ID:879924 發(fā)表于 2022-6-10 17:18 來自手機 | 顯示全部樓層
188610329 發(fā)表于 2022-6-10 16:47
首先,最大的變化是,寄存器很多地址都變了,需要包含 STC15.H 或者 STC8G.H

引腳:  見手冊的管腳圖,
...

數(shù)據(jù)手冊里面有。直接使用16進(jìn)制地址就可以訪問了對吧?
回復(fù)

使用道具 舉報

ID:624769 發(fā)表于 2022-6-10 17:48 | 顯示全部樓層
macboa 發(fā)表于 2022-6-10 17:18
數(shù)據(jù)手冊里面有。直接使用16進(jìn)制地址就可以訪問了對吧?

用 IAP 方式  讀寫的話, 扇區(qū) 首地址為: 0x0000
用 MOVC 方式,即指針方式讀取的話(僅可以用于讀。 需要加上偏移量,具體偏移量,按手冊對應(yīng)型號察看。
回復(fù)

使用道具 舉報

ID:879924 發(fā)表于 2022-6-10 20:33 | 顯示全部樓層
188610329 發(fā)表于 2022-6-10 17:48
用 IAP 方式  讀寫的話, 扇區(qū) 首地址為: 0x0000
用 MOVC 方式,即指針方式讀取的話(僅可以用于讀。 ...

IAP的方式,第二個扇區(qū),從什么地址開始?
回復(fù)

使用道具 舉報

ID:213173 發(fā)表于 2022-6-10 20:57 | 顯示全部樓層
macboa 發(fā)表于 2022-6-10 17:11
那么eeprom的扇區(qū)地址在哪里可以找到呢?我看了數(shù)據(jù)手冊還有stc-isp的頭文件,都沒有定義。

無標(biāo)題.jpg
回復(fù)

使用道具 舉報

ID:57657 發(fā)表于 2022-6-10 22:49 | 顯示全部樓層
188610329 發(fā)表于 2022-6-10 17:48
用 IAP 方式  讀寫的話, 扇區(qū) 首地址為: 0x0000
用 MOVC 方式,即指針方式讀取的話(僅可以用于讀。 ...

STC89、90、11等部分老型號不支持MOVC讀EEPROM,具體見數(shù)據(jù)手冊。
回復(fù)

使用道具 舉報

ID:491577 發(fā)表于 2022-6-10 23:20 | 顯示全部樓層
stc15w204和stc8g1k08比STC89快太多,有些程序運行也會出問題,特別是涉及到其他芯片的,比如595芯片,ADC芯片等,如果速度沒有要求晶振選1-3M就好,不要太快。
回復(fù)

使用道具 舉報

ID:230742 發(fā)表于 2022-6-11 01:54 | 顯示全部樓層
需要改的挺多的,比如要設(shè)置IO口的模式,有的沒有定時器1,有的有內(nèi)置的通過設(shè)定的上下拉電阻。
還是多看看手冊吧。有時候我都想把手冊打印出來,就是太厚了。
回復(fù)

使用道具 舉報

ID:624769 發(fā)表于 2022-6-11 18:15 | 顯示全部樓層
macboa 發(fā)表于 2022-6-10 20:33
IAP的方式,第二個扇區(qū),從什么地址開始?

IAP方式,第二扇區(qū)是 0x0200 開始, 手冊里有。
回復(fù)

使用道具 舉報

ID:624769 發(fā)表于 2022-6-11 18:28 | 顯示全部樓層
看你這個帖子里面回復(fù)挺亂的, 而你好像疑惑點主要在 Eeprom 這塊,那么給你歸納一下。
根據(jù)你用的 STC單片機,其實你能找到相應(yīng)的 頭文件。
頭文件里面,如果有  IAP_TRIG 這個寄存器,那么這個單片機,我們歸為 IAP 方式。
頭文件里面,如果有  ISP_TRIG 這個寄存器,那么這個單片機,我們歸為 ISP 方式。
首先,
IAP 方式的單片機, 有可能可以支持 MOVC方式訪問,也有可能不支持。這個只能查手冊了。
ISP 方式的單片機, 一定不支持 MOVC 方式訪問,這個不需要查手冊。
其次,所有STC 單片機的 Eeprom 每個扇區(qū)的大小 都是 512字節(jié),即 0x0200字節(jié),
IAP方式  訪問 Eeprom,  Eeprom 首地址為 0x0000,
ISP方式,以及 MOVC 方式, Eeprom 首地址 均為 程序區(qū) 結(jié)束后的地址,如果程序區(qū) 是 8K的,則 Eeprom 開始地址為:0x2000, 程序區(qū)是 16K 的 則Eeprom 開始地址為:0x4000  依次類推。

回復(fù)

使用道具 舉報

ID:1063561 發(fā)表于 2023-6-14 09:15 | 顯示全部樓層
stc8g1k08的IAP方式  訪問 Eeprom,  Eeprom 首地址為 0x0000。如果只想用最后一個扇區(qū),是不是應(yīng)該從0xe00開始?謝謝
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表