Pessoal,
recentemente tive que usar o 89C2051 e AT90S2313 (sei que este não é daqui mas é compativeis pino a pino) no modo idle com um supercap. O problema surgiu que após delisgar e religar, os 2 não retiam informação.
Para o 89C2051 usei o keil e no AT90S2313 o codevision.
Após muita dor de cabeça, a conclusão foi que os compiladores ao gerarem os código fontes, eles incluem subrotinas de limpeza de registros e memória.
Para solucionar isto, no Codevision editei o fonte, apaguei as subrotinas e recompilei com o Studio AVR.
No Keil não tive tanta sorte, tive que refazer o programa do velho assembler por não conhecer o montador que use o arquivo gerado por ele.
E possível eliminarmos isto no C, pois não conheço muito da linguagem. Li em um fórum lá fora, que isto é normal e o cara aconselhava quem fosse usar neste modo deveria fazer em assembler.
Agradeço qualquer dica neste sentido.