ISP 是In-System Programming(在系統編程)的縮寫,ICP 是In-Circuit Programming(在電路編程)的縮寫。這兩種編程方法使得用戶可以在軟件控制下更新應用程序代碼而不從實際終產品上取下MCU。下圖的“Megawin 8051 ISP-ICP Programmer”工具,將這兩個功能集成在一個U 棒體中。它既可以作為ISP 編程器,也可以作為ICP 編程器。另外,由于即將要用于編程的代碼可以存儲在編程器的非易失性存儲器中,因此本編程器也可以在沒有主機(PC)干預的情況下工作。這個特性在沒有PC 的場合尤其有用
ISP 編程器
當做為ISP 編程器的時候,它的功能像主機和目標MCU 之間的一座橋梁,主機提供新的編程數據,而MCU 已寫入引導程序。引導程序就是所謂的“ISP 代碼”,它須預先寫入目標MCU 的ISP 程序區。當上電時,目標MCU 從ISP 程序區啟動并且執行ISP 代碼來檢測是否需要進行ISP 操作。如果需要,目標MCU 將從編程器接收編程數據并且使用在系統編程的方法寫入到應用程序區。在ISP 過程完成后,目標MCU將會從應用程序區重新引導來運行新的應用程序代碼,當編程器已經從目標MCU 拔下的時候。如果不需要ISP 操作,目標MCU 將會直接從應用程序區重新引導并以標準模式來運行應用程序代碼









