新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STC89系列高性能單片機(jī)及其應(yīng)用

STC89系列高性能單片機(jī)及其應(yīng)用

作者: 時(shí)間:2012-03-30 來源:網(wǎng)絡(luò) 收藏

一、 1k bit片內(nèi)RAM(數(shù)據(jù)存儲(chǔ)器)

普通8051單片及片內(nèi)RAM只有128(8051)或256(8052)字節(jié),

1、低128字節(jié)(地址:00H~7FH),可直接或間接尋址;

2、高128字節(jié)(地址:80H~FFH),只可間接尋址;

另外增加了768字節(jié)的片內(nèi)擴(kuò)展RAM,以解決眾多技術(shù)人員在編程時(shí)的RAM資源嚴(yán)重缺乏的問題。

768字節(jié)的片內(nèi)擴(kuò)展RAM(地址:000H~2FFH)與外部擴(kuò)展RAM地址重疊,可通過軟件設(shè)置AUXR.1,決定是否使用片內(nèi)擴(kuò)展RAM,以防止可能的與外部擴(kuò)展RAM的沖突,默認(rèn)為使用片內(nèi)擴(kuò)展RAM。

片內(nèi)擴(kuò)展RAM的訪問采用間接尋址,可通過
①、MOVX A,@DPTR 或 MOVX @DPTR ,A 指令訪問片內(nèi)擴(kuò)展RAM(00H~2FFH,共768字節(jié));
②、MOVX A,@Ri 或 MOVX @Ri,A 指令訪問片內(nèi)擴(kuò)展RAM(00H~FFH,共256字節(jié))。

當(dāng)DPTR≥300H時(shí),系統(tǒng)訪問外部擴(kuò)展RAM。

注意:在使用第二種指令時(shí),特別要注意是使用MOV還是MOVX,MOV訪問的是片內(nèi)RAM,MOVX訪問的是片內(nèi)擴(kuò)展RAM,剛剛接觸此類的技術(shù)人員最容易在這里犯錯(cuò)誤。

二、 64/32/16/8K片內(nèi)Flash(程序存儲(chǔ)器)與ISP功能

單片機(jī)按芯片型號(hào)分別有64/32/16/8K片內(nèi)Flash,分為2個(gè)Flash存儲(chǔ)塊:Block0和Block1。2個(gè) Flash存儲(chǔ)塊在物理上Block0在前,Block1在后。通過REMAP功能可以將Flash塊重定位。下圖顯示的是C58的程序存儲(chǔ)器結(jié)構(gòu)

13.jpg

使用過SST89系列單片機(jī)的用戶要注意與STC89區(qū)別:
①、Block1大小不同;
②、Block扇區(qū)大小不同;
③、指令及SFR的不同。

STC89有2個(gè)配置位SC0,SC1控制上電復(fù)位/外部復(fù)位后程序是從Block0還是Block1啟動(dòng)。

①對(duì)于STC89C58,SC0,SC1同時(shí)起作用:

SC1,SC0=0,0 程序是從Block0啟動(dòng);

SC1,SC0=1,1 程序是從Block1啟動(dòng),這時(shí)Block1物理上在后8K(E000H~FFFFH),邏輯上又影象到前8K(0000H~1FFFH),Block0前8K對(duì)于PC指針不可見。

②對(duì)于STC89C16,只有SC0起作用:

SC0=0 程序是從Block0啟動(dòng);

SC0=1 程序是從Block1啟動(dòng),這時(shí)Block1邏輯上影象到前8K(0000H~1FFFH),將Block0前8K單元覆蓋。

14.jpg



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉