Ja ne vidim mnogo razliku izmedju pisanja programa i projektovanja digitalnog elektronskog sklopa. Sve se svodi na apstraktno razmisljanje. Eto recimo program za daljinsku komandu se svodi na uzorkovanje signala sa pina koji je vezan TSOP1736 i uporedjivanje procitane vrednosti sa predefinisanim taasterom. To se moze uvek resiti shift registrima ali je potreban klok od oko 1.77 ms (kolko se secam za RC5). Ovo resenje koje sam predlozio je "pacersko" ali vrsi posao. Drugi ,elegantniji,pristup je pomocu SPI modula koji je integralni deo MCU-a i koji je taktovan signalom iz MCU-a. Zato je bitno da se ne koristi budjavi PIC 16F84. Impulsi za SPI clock se mogu generisati pomocu brojaca tako da se svaki put kada MCU primi komandu generise interapt ,a u registru SPI modula je procitana komanda. Na osnovu ove komande treba preduzeti akciju. (uklj/isklj releja, motora ...). Po mom misljenju PIC je veoma precenjen ali ga ima svuda (marketing). Ja radim sa Freescale kontrolerima koji su nesto jeftiniji,brzi i laksi za programiranje u asembleru ali je podrska na netu nikakva (sve se placa i skupo je ko sirce). Sva sreca da smo u firmi razvili sopstveni razvojni alat (compajler i programator/dibager). Za aplikaciju kao sto je daljinac PIC 18F serije je ipak mnogo bolje resenje od 16-ce , a mislim i da je jeftiniji i ima neku vrstu dibagera pa je razvoj softvera laksi i brzi.