SST89F58單片機(jī)的系統(tǒng)內(nèi)編程
;;; SST89F58為Flash Flex 51系列單片機(jī)中的新產(chǎn)品,于1998年底由美國Silicon Storage Technology (SST)公司推出。它與標(biāo)準(zhǔn)的8×C5×微處理器在芯片尺寸和電氣性能上兼容,除具有AT89C5×系列單片機(jī)的功能以外,SST89F58還有如下技術(shù)特征:·看門狗(WDT); ;;; ·TTL及CMOS電平兼容;5V電源(主頻:0.25M~33MHz)或低3V電源(主頻:0~12MHz)。 ;;; 89F58具有36KB Flash程序存儲器,分為兩個塊:Block 0和Block 1。Block 0 地址為0000H~7FFFH,容量32KB;Block 1地址為0F000H~0FFFFH,容易4KB。這些Flash存儲器有兩種編程模式,一為外部編程模式,二為標(biāo)準(zhǔn)編程模式,也即ISP方式。 ;;; 在外部編程模式下,將89F58插入標(biāo)準(zhǔn)編程器中(如ALL-07和SuperPro/L等),可進(jìn)行擦除、寫入、讀出、校驗(yàn)等功能,電源Vpp為單一+5V。編程時序和邏輯與89系列其他單片機(jī)相似。 ;;; SST89F58標(biāo)準(zhǔn)編程模式為系統(tǒng)內(nèi)可編程(ISP)模式,可以程序控制對本芯片中的FLASH存儲器的編程,這是它高于一般單片機(jī)的獨(dú)特之處。此模式中程序可控制進(jìn)行六種功能:芯片擦除、塊擦除、區(qū)擦除(128B或64B/區(qū))、字節(jié)寫、連續(xù)字節(jié)寫和字節(jié)校驗(yàn)等。這些功能是程序通過對5個郵箱寄存器(Mailbox Register)的實(shí)時設(shè)置來實(shí)現(xiàn)的,它們在89F58的特殊功能寄存器SFR區(qū)的上部,其地址和名稱分別是:0F7H的設(shè)置寄存器SFCF,0F8H的數(shù)據(jù)寄存器SFDT,0F9H的低位地址寄存器SFAL,0FAH的高位地址寄存器SFAH和0FBH的命令寄存器SFCM。 ;;; 進(jìn)行Flash存儲器標(biāo)準(zhǔn)模式操作,就是按格式依次設(shè)置各郵箱寄存器,然后采用中斷或查詢的方法等待操作結(jié)束。六種操作設(shè)備如表1,表中各項(xiàng)的標(biāo)號(①~④)為對應(yīng)操作的步驟序號,所需操作時間為主頻12MHz時的折算值。
表1; 命令 SFAH SFAL SFDT SFCM 所需操作時間 1.片擦除 × × ①55H ②87H/07H 2.83mS 2.塊擦除 ①#0F0H/00H × ②55H ③8FH/0FH 2.83mS 3.區(qū)擦除 ①AH ②AL × ③8BH/0BH 0.72μS 4.字節(jié)寫 ①AH ②AL ③DI ④8EH/EH <64.6μS 5.字節(jié)連續(xù)寫 ①AH ②AL