Напоследок и я свои 5 копеек вставлю. Я тоже пользуюсь Протеусом уже несколько лет.
Есть конечно у него свои тараканы, но и помогал не раз. Особенно когда код разростается до необозримого размера.. Например была одна засада с живым прибором на 51-ом. Намодифицировал в программе чего-то (уже не помню что) , запрограммировал. Потом еще чего-то изменил. Короче после всего прибор вроде работает как надо, но в одном месте ведет себя как-то неадекватно и причем не постоянно, а по каким-то сложным условиям.
Долго бился головой об стенку, пока не запустил проект на Протеусе и не обнаружил баг (какой то тяжелый случай с прерываниями). Можно конечно это было выловить и внутрисхемным эмулятором (если есть под рукой )

и анализом исходников. Но когда размер кода за 20 Кбайт ( ассемблер), то не сильно поанализируешь.