Upozornění: Informace na této stránce nebyly velmi dlouho aktualizovány a mohou být zastaralé. Autor už žádné podobně nespolehlivé programátory na LPT port nepoužívá, protože přešel na spolehlivý BiProg.
Protože jsou procesory Atmel AT89C52 (a další "céčka") již prakticky nesehnatelné, nahrazují se ve starších konstrukcích novějšími AT89S52. Ty mají jednu obravskou výhodu, a to možnost sériového programování přes SPI. Na druhou stranu většina programátorů určených pro starší procesory je nepodporuje, protože málo autorů se stará o aktualizace.
V souvislosti s "eskama" se tedy vyskytl problém, jak je programovat. Chtěl bych zde proto popsat postup. Nebudete potřebovat žádný programátor, ale pouze LPT konektor a pár odporů na sestavení očesané verze STK200. Pokud vlastníte jiný programátor pro mikroprocesory AVR, pravděpodobně ho budete také moci použít.
Pro programování používám UISP, který je sice také primárně navržený pro AVR, ale funguje i s 89Sxx. Existuje jako zdrojový kód pro Linux, ve Windows lze použít s knihovnou Cygwin a jeho zkompilovaná verze se nachází např. v balíku WinAVR. Odtud také pochází soubory, které jsem vybral do archívu níže.
Postup programování:C:\uisp>prog emir_v207.hex C:\uisp>uisp -dprog=stk200 -dlpt=0x378 -d89 -v if=emir_v207.hex --erase --upload --verify AVR Direct Parallel Access succeeded after 0 retries. Atmel AT89 AT89S52 is found. Erasing device ... Reinitializing device AVR Direct Parallel Access succeeded after 0 retries. Atmel AT89 AT89S52 is found. Uploading: flash ################################################################################ ################################################################################ #################### (total 5756 bytes transferred in 23.03 s (250 bytes/s) Polling: count = 5738, min/avg/max = 1.00/1.47/8.00 ms Verifying: flash ################################################################################ ################################################################################ #################### (total 5756 bytes transferred in 7.70 s (747 bytes/s)