Ściśle mówiąc 24C01 komunikuje się przez I2C (TWI), nie przez SPI - jakkolwiek jedno i drugie to interfejsy szeregowe
Napisanie podstawowych funkcji obsługi I2C oraz funkcji dostępu do zewnętrznego EEPROM to raczej większy nakład pracy niż oprogramowanie IAP w DS89C450 - gdybyś obie rzeczy miał robić od zera:!: Jednakże dostęp do zewnętrznej pamięci EEPROM przez I2C to "klasyka" i na pewno znajdziesz gotowe biblioteki (w internecie lub od kolegów). Wygrywa więc zewnętrzny EEPROM. Z drugiej strony za wykorzystaniem pamięci FLASH z mikrokontrolera i IAP przemawia większa prostota sprzętowa. W tej rozgrywce mamy zatem 1:1. Gdyby uzasadnienia ograniczały się do wyżej wymienionych, ja wybrałbym IAP.
Wydaje się jednak, ze górę bierze tu inna zasadnicza kwestia - liczba przeprogramowań. Dla FLASH w DS89C450 gwarantowane jest 10'000, dla 24C01 standardowo 1000'000 przeprogramowań - 100-krotna różnica to bardzo dużo. Dodatkowo, jeżeli nawet "zajeździsz" pamięć zewnętrzną, to jej wymiana będzie za pewne znacznie mniej kłopotliwa, niż wymiana mikrokontrolera. Tak więc wykorzystanie IAP proponowałbym dla zapisu danych, które w zamyśle mają być modyfikowane "kilkakrotnie" - dane konfiguracyjne, kalibracyjne, preferencje użytkownika, itp. Jeżeli potrzebne jest przechowywanie danych, które nieustannie zmieniają się w czasie pracy urządzenia (nastawy potencjometrów cyfrowych, wirtualnych przycisków, itp.), to raczej lepiej sprawdzi się zewnętrzny EEPROM.