Pentru programarea microcontrolerului se foloseste programarea ISP (“in-system programming”) care inseamna posibilitatea de a programa procesorul fara a-l demonta din circuit; exista si varianta programarii separate, prin scoaterea din soclu si montarea in soclulunui programator dedicat.
Programarea ISP presupune existenta a 2 componente:
1) circuitul de programare (programatorul), care se conecteaza la mufa ISP a placutei si la portulserial/paralel/USB al PC-uluil
2) soft-ul de programare, care preia fisierul utilizator si il transmite programatorului. Trebuie sa fie compatibil cu acesta din urma.
Circuitul de programare l-am realizat cu programatorul Pony Prog.
Schema cu mufa ISP folosita de noi pe placa de test este:
Valorile rezistentelor nu sint critice. Q1 poate fi orice tranzistor NPN de uz general: BC107-109, BC170-172, 2N2222, etc. Diodele Zener pot fi in gama 4V..5V1, de mica putere.
Tranzistorul Q1, cind primeste tensiuni pozitive pe baza, conduce si “trage” in 0 pinul reset al procesorului; este necesara aceasta metoda pentru a asigura un 0 “ferm”. Rezistenta R1 tine blocat Q1 atunci cind mufa DB9 nu este conectata.Rezistentele R5, R6 si diodele Zener corespunzatoare au rolul de a transforma tensiunile de +/-12V in cca. 5V/0V astfel: tensiunile pozitive mai mari de 5V sint limitate la 5V de dioda Zener, diferenta de tensiune cade pe rezistenta (a carei valoare deci nu e critica), iar tensiunile negative sint suntate de diodele Zener, care devin polarizate direct si se deschid, lasind maxim -0.6V pe ele (in conductie directa, diodele Zener se comporta ca niste diode obisnuite). Astfel se obtine un “0” dar mai putin “ferm” decit invarianta cu tranzistor.