- 相關(guān)推薦
SST89C54/58系列單片機的IAP應用技術(shù)
摘要:SST89C54/58j Silicon Storage Technology公司推出的帶有20KB/36KB Flash的單片機。芯片內(nèi)部集成了可以對Flash進行操作的功能模塊。通過對Flash的分區(qū)實現(xiàn)在應用中可編程的功能。本文介紹它們的IAP功能,并給出IAP功能的一些子程序。關(guān)鍵詞:SST89C54/58 IAP Flash存儲器
SST89C54/58單片機是MCS-51系列單片機的派生產(chǎn)品。它們在指令系統(tǒng)、硬件結(jié)構(gòu)和片內(nèi)資源上與標準8052單片機完全兼容,只是加大了內(nèi)部程序存儲器Flash的容量。
SST89C54/58的特色:
*256×8位內(nèi)部RAM;
*3個16位定時/計數(shù)器(T0、T1、T2);
*1個全雙工、可編程串行通信口(UART);
*6個中斷源,2 個優(yōu)先級;
*4個8位I/O口(32位I/O引腳);
*TTL和CMOS電平全兼容;
*5(1±0.1)V供電時,工作頻率為0~33MHz;
*3(1±0.1)V供電時,工作頻率為0~12MHz;
*內(nèi)部看門狗定時器(WDT);
*支持3種省電模式:空閑、下電和等待,并且支持外部低電平中斷退出下電模式。
1 SST89C54/58的存儲器結(jié)構(gòu)
1.1 程序存儲器
89C54與89C58之間僅有存儲器容量大小的不同;前者20KB,后者為36KB。程序存儲器分為block0和block1兩塊:block0前者為16KB,后者為32KB,都分成了128字節(jié)大小的區(qū)段;block1均為4KB,分為64字節(jié)大小的區(qū)段。它們的程序存儲器結(jié)構(gòu)如圖1所示。
(范文先生網(wǎng)m.panasonaic.com收集整理)
block0和block1的地址不是連續(xù)的。Block1從F000H開始。SST89C54/58允許block0映射到block1,上電后程序既可以從block0(0000H)開始執(zhí)行,也可以從block1(F000H)開始執(zhí)行。程序從哪個塊開始執(zhí)行由單片機的Re-Map[1:0]位決定。在這2位都為1的時候程序從0000開始執(zhí)行,否則,從F000H開始執(zhí)行。Re-Map[1:0]位是非易失性的,可以用編程器對其編程。
1.2 數(shù)據(jù)存儲器
SST89C54/58有256字節(jié)的內(nèi)部數(shù)據(jù)存儲器,其中低128字節(jié)RAM(00H~FFH)與8052完全相同;在高128字節(jié)中增加了一些針對IAP功能的特殊功能寄存器(SFR)。新增加的SFR的定義及設置如表1所列。
表1 新增特殊功能寄存器
2 SST89C54/58在應用中可編程(IAP)
IAP是指在用戶的應用程序中對Flash塊、Flash寄存器、加密位等實現(xiàn)擦降和編程等操作。SST89C54/58通過對SFCF.6的置位和清0而啟動和介紹IAP功能。程序在block0時可以啟動IAP對block1進行編程,也可以在block1對block0進行編程,但是每均都不能對自己進行編程。SST89C54/58r IAP功能主要有以下幾個命令(以block0對block1進行編程為例):
(1)片擦除
命令格式如下:
MOV SFCF,#0C0H ;啟動IAP
MOV SFDT,#55H
MOV SFCM,#01H ;寫入命令字
;查詢SFST.2,等待芯片擦除結(jié)束,
;用MOVC校驗是否每個單元均為FFH。
(2)塊擦除
命令格式如下:
MOV SFCF,#0C0H ;啟動IAP
MOV SFAH,#0F0H/#00H ;擦隊block1/block0
MOV SFDT,#55H
MOV SFCM,#0DH ;寫放命令字
;查詢SFST.2,等待芯片擦除結(jié)束,
;用MOVC校驗是否每個單元均為FFH。
(3)區(qū)段擦除
命令格式如下:
MOV SFCF,#0C0H ;啟動IAP
MOV SFAH,區(qū)段地址高字節(jié)
MOV SFAL,區(qū)段地址低字節(jié)
MOV SFCM,#0BH ;寫入命令字
;查詢SFST.2,等待芯片擦除結(jié)束,
;用MOVC校驗是否每個單元均為FFH。
(4)字節(jié)編程
MOV SFCF,#0C0H ;啟動IAP
MOV SFAH,要編程地址高字節(jié)
MOV SFAL,要編程地址低字節(jié)
MOV SFDT,要編程的數(shù)據(jù)
MOV SFCM,#0EH ;寫放命令字
;查詢SFST.2,等待芯片擦除結(jié)束,
;校驗諞單元寫入數(shù)據(jù)是否正確。
(5)字節(jié)校驗
MOV SFCF,#0C0H
MOV SFAH,要校驗數(shù)據(jù)的地址高字節(jié)
MOV SFAH,要校驗數(shù)據(jù)的地址低字節(jié)
MOV SFCM,#06H
NOP
MOV A,SFDT ;A保存規(guī)定單元地址讀出的內(nèi)容
另外,通過字節(jié)編程可以對Re-Map[1:0]位為3個保密進行編程,只是在特定的地址寫入行定的內(nèi)容。
3 SST89C54/58 IAP功能的用途
通過IAP功能可以不需編程器就可做單片機實驗。這對初次學習單片機的人們,尤其對學校單片機的教學帶來極大的方便,是一種最低成本的單片機開手段。
可以對產(chǎn)品的軟件進行升級。不需外加監(jiān)控芯片,只是通過串行口便可將PC機內(nèi)的產(chǎn)品升級軟件下載到產(chǎn)品中去,而實現(xiàn)產(chǎn)品軟件升級換代。在自己的實驗室便可通過Modem對遠方的產(chǎn)品進行軟件升級。這將是以后電子產(chǎn)品的必然趨勢。
還可以在線對產(chǎn)品參數(shù)進行修改?蓪崿F(xiàn)在線對現(xiàn)場歷史數(shù)據(jù)的存儲、曲線參數(shù)校正等功能。適用于一些需經(jīng)常改變數(shù)據(jù)的應用產(chǎn)品(如利息計、計費器、密碼鎖及需要升級的產(chǎn)品,如微型打印機等)及需遠距離改變設備參數(shù)的產(chǎn)品(遙控報警器遙控家用電器等遙控設備)。
【SST89C54/58系列單片機的IAP應用技術(shù)】相關(guān)文章:
SPI總線在51系列單片機系統(tǒng)中的實現(xiàn)08-06
TOPSwitch-FX系列單片機開關(guān)電源的應用08-06
用PICC編譯器開發(fā)PIC系列單片機的代碼08-06
MCS51系列單片機雙機并行互連的實現(xiàn)方法08-06
用MSP430系列單片機設計便攜式醫(yī)用自動輸液器08-06
OpenGL擴展的應用技術(shù)08-06