SST89C54/58單片機是MCS-51系列單片機的派生產品。它們在指令系統、硬件結構和片內資源上與標準8052單片機完全兼容,只是加大了內部程序存儲器Flash的容量。 SST89C54/58的特色: *256%26;#215;8位內部RAM; *3個16位定時/計數器(T0、T1、T2); *1個全雙工、可編程串行通信口(UART); *6個中斷源,2 個優先級; *4個8位I/O口(32位I/O引腳); *TTL和CMOS電平全兼容; *5(1%26;#177;0.1)V供電時,工作頻率為0~33MHz; *3(1%26;#177;0.1)V供電時,工作頻率為0~12MHz; *內部看門狗定時器(WDT); *支持3種省電模式:空閑、下電和等待,并且支持外部低電平中斷退出下電模式。 1 SST89C54/58的存儲器結構 1.1 程序存儲器 89C54與89C58之間僅有存儲器容量大小的不同;前者20KB,后者為36KB。程序存儲器分為block0和block1兩塊:block0前者為16KB,后者為32KB,都分成了128字節大小的區段;block1均為4KB,分為64字節大小的區段。它們的程序存儲器結構如圖1所示。 block0和block1的地址不是連續的。Block1從F000H開始。SST89C54/58允許block0映射到block1,上電后程序既可以從block0(0000H)開始執行,也可以從block1(F000H)開始執行。程序從哪個塊開始執行由單片機的Re-Map[1:0]位決定。在這2位都為1的時候程序從0000開始執行,否則,從F000H開始執行。Re-Map[1:0]位是非易失性的,可以用編程器對其編程。 1.2 數據存儲器 SST89C54/58有256字節的內部數據存儲器,其中低128字節RAM(00H~FFH)與8052完全相同;在高128字節中增加了一些針對IAP功能的特殊功能寄存器(SFR)。新增加的SFR的定義及設置如表1所列。 表1 新增特殊功能寄存器 標識符 名 稱 地 址 初始化值 SFST Flash狀態 B6H xxx00000b SFCF Flash定義 B1H 000000xxb SFCM Flash命令 B2H 00h SFDT Flash數據 B5H 00h SFAL Flash地址低字節 B3H 00h SFAL Flash地址高字節 B4H 00h 2 SST89C54/58在應用中可編程(IAP) IAP是指在用戶的應用程序中對Flash塊、Flash寄存器、加密位等實現擦降和編程等操作。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,等待芯片擦除結束, ;用MOVC校驗是否每個單元均為FFH。 (2)塊擦除 命令格式如下: MOV SFCF,#0C0H ;啟動IAP MOV SFAH,#0F0H/#00H ;擦隊block1/block0 MOV SFDT,#55H MOV SFCM,#0DH ;寫放命令字 ;查詢SFST.2,等待芯片擦除結束, ;用MOVC校驗是否每個單元均為FFH。 (3)區段擦除 命令格式如下: MOV SFCF,#0C0H ;啟動IAP MOV SFAH,區段地址高字節 MOV SFAL,區段地址低字節 MOV SFCM,#0BH ;寫入命令字 ;查詢SFST.2,等待芯片擦除結束, ;用MOVC校驗是否每個單元均為FFH。 (4)字節編程 MOV SFCF,#0C0H ;啟動IAP MOV SFAH,要編程地址高字節 MOV SFAL,要編程地址低字節 MOV SFDT,要編程的數據 MOV SFCM,#0EH ;寫放命令字 ;查詢SFST.2,等待芯片擦除結束, ;校驗諞單元寫入數據是否正確。 (5)字節校驗 MOV SFCF,#0C0H MOV SFAH,要校驗數據的地址高字節 MOV SFAH,要校驗數據的地址低字節 MOV SFCM,#06H NOP MOV A,SFDT ;A保存規定單元地址讀出的內容 另外,通過字節編程可以對Re-Map[1:0]位為3個保密進行編程,只是在特定的地址寫入行定的內容。 3 SST89C54/58 IAP功能的用途 通過IAP功能可以不需編程器就可做單片機實驗。這對初次學習單片機的人們,尤其對學校單片機的教學帶來極大的方便,是一種最低成本的單片機開手段。 可以對產品的軟件進行升級。不需外加監控芯片,只是通過串行口便可將PC機內的產品升級軟件下載到產品中去,而實現產品軟件升級換代。在自己的實驗室便可通過Modem對遠方的產品進行軟件升級。這將是以后電子產品的必然趨勢。 還可以在線對產品參數進行修改。可實現在線對現場歷史數據的存儲、曲線參數校正等功能。適用于一些需經常改變數據的應用產品(如利息計、計費器、密碼鎖及需要升級的產品,如微型打印機等)及需遠距離改變設備參數的產品(遙控報警器遙控家用電器等遙控設備)。 |