Pozdrav,
Evo da se i ja malo uključim.
Prvo odgovor na predhodni post: ako imaš asemblerski kod znači naredbe tipa
clr a
mov a,nešto
...
za PIC moguće je ručno redefinirati kod za atmel da radi isto ali nije baš jednostavno s obzirom da kontroleri (assembleri) nisu kompatibilni. Ako je kod u C-u ili Basicu treba ga samo prekompajlirati za odgovarajući kontroler.
Što se tiće korištenja atmela ili pic-a ili nekog trečeg mikrokontrolera smatram da je stvar odluke koji ćeš koristiti u tome što ti u konkretnom slučaju treba i naravno za koju cijenu. Mikrokontroleri opčenito imaju hrpu podverzija (s ugrađemim eepromom, ramom, flešom, AD konverterima ...) a bazirano na nekom osnovnom procesoru u njima (80C51 kod atmela). Od osnovnog procesora ovisi koji assembler ćeš koristiti, koliko ima instrukcija itd.
Sad malo o assembleru.
Same naredbe assemblera su ovisne o kontroleru kojeg odabereš i njih ćeš vjerujem bez problema shvatiti. Najvažnije je razumjeti načine adresiranja (direktno, indirektno itd) pa tome posveti malo više pažnje. Osnovni problem koji se meni javio kad sam počinjao a vjerujem i ostalima je ispravno definiranje prvih nekoliko linija programa odnosno onog što treba uraditi nakon reseta a odnosi se na definiranje interupt vektora, stack pointera, timerskih i programskih registara.
Sve u svemu kad to jednom savladaš assembler ti postaje vrlo močno sredstvo gdje su ti sve mogućnosti mikrokontrolera pod tvojom kontrolom (na primjer pomoću assemblera koristim iste četiri linije AT89C2051 za uključivanje releja a istovremeno preko njih idu i data linije za LCD display)
Kao što je već rečeno teško je sve to objasniti postovima pa se sad prvo odlući s kojim kontrolerom želiš raditi, malo se potrudi oko savladavanja (shvačanja) assemblera i kad nešto zapne javi se. Rado ću pomoći.