Šta je memorijski čip i kako programirati mikro kola. Programiranje mikrokontrolera za početnike: lako i pristupačno Reprogramiranje kertridža


Tema elektronskog dizajna postaje sve popularnija. Predstavljamo vam članak koji će vam reći o mikrokontrolerima za početnike.

Koji mikrokontroleri postoje?

Prije svega, potrebno je ocrtati situaciju sa mikrokontrolerima. Činjenica je da ih ne proizvodi jedna kompanija, već nekoliko odjednom, tako da postoji dosta različitih mikrokontrolera koji imaju različite parametre, različite karakteristike kada se koriste i različite mogućnosti. Razlikuju se po brzini, dodatnim interfejsima i broju pinova. Najpopularniji širom bivšeg SSSR-a su predstavnici RIS-a i AVR-a. Programiranje AVR i PIC mikrokontrolera nije teško, što je osiguralo njihovu popularnost.

Kako se programiraju mikrokontroleri?

Programiranje mikrokontrolera se po pravilu vrši pomoću posebnih uređaja koji se nazivaju programatori. Programeri mogu biti kupljeni ili domaći. Ali kada flešujete mikrokontroler pomoću domaćeg programatora, šansa da će se pretvoriti u "ciglu" je prilično velika. Postoji još jedna opcija koja se može razmotriti koristeći Arduino ploču kao primjer. Ploča radi na Atmel mikrokontroleru i koristi se za programiranje AVR mikrokontrolera. Ploča već ima prethodno flešovani bootloader i USB port, koji vam omogućavaju bezbedno flešovanje mikrokontrolera u upotrebi, bez davanja korisniku pristup podacima koji bi mogli da oštete ovaj isti mikrokontroler. Programiranje mikrokontrolera za početnike nije tako teško kao što se čini, a uz određenu vještinu i inteligenciju to će vas spasiti od potrebe za novim mehanizmom.

Hardverske razlike između različitih mikrokontrolera

Prilikom odabira mikrokontrolera treba obratiti pažnju na neke hardverske razlike, čak i ne različitih kompanija, već i istog modela. Prvo treba obratiti pažnju na mogućnost ponovnog pisanja informacija u mikrokontroler. Ova funkcija će vam omogućiti da dugo eksperimentirate s jednim MK-om. Također obratite pažnju na broj pinova s ​​njihovom namjenom. Nemojte zanemariti radnu frekvenciju kristala na kojem krug radi: broj operacija u sekundi koje mikrokontroler može izvesti ovisi o tome. Kada se ispituju ove karakteristike, kao i memorija MK-a, u početku se može činiti da se na mikrokontrolerima ne može ništa smisleno uraditi, ali ovo je pogrešno mišljenje. Zapamtite da programiranje mikrokontrolera za početnike ne zahtijeva najbolju opremu na početku, ali možete imati nešto moćnije u rezervi.

Programski jezici mikrokontrolera

Za programiranje mikrokontrolera koriste se dva jezika: C/C++ i asembler. Svaki od njih ima svoje prednosti i nedostatke. Dakle, ako govorimo o asembleru, onda on omogućava da se sve radi vrlo suptilno i efikasno, što je posebno važno kada nema dovoljno RAM-a ili operativne snage (što se, međutim, događa prilično rijetko). Ali njegovo proučavanje i pisanje programa na njemu zahtijeva dosta truda, tačnosti i vremena. Stoga se za razvoj baziran na mikrokontrolerima često koriste programski jezici C i C++. Oni su po svom izgledu i strukturi bliski ljudskom govoru, iako ga ne predstavljaju u potpunosti. Takođe imaju veoma dobro razvijenu funkcionalnost koja može lako da stupi u interakciju sa hardverom, zamišljajući da je to samo programski element. Uz sve njihove očigledne prednosti, obimniji programi se kreiraju u C i C++ nego u asembleru.

Takođe, u nekim slučajevima, kada je operativni prostor kritičan, ovi jezici se mogu kombinovati. Gotovo sva razvojna okruženja za C i C++ imaju mogućnost instaliranja asemblerskih umetaka u program. Stoga, ako se pojavi problem u kritičnom području, možete napisati umetak sklopa i integrirati ga u firmver za mikrokontroler, a sam firmver, odnosno veći dio, može biti napisan u C ili C++. Programiranje mikrokontrolera u SI je lakše, zbog čega mnogi ljudi biraju ove jezike. Ali oni koji se ne boje poteškoća i žele razumjeti posebnosti načina rada opreme mogu se okušati u asembleru.

Rastanke

Ako želite eksperimentirati sa sjajnim. Možemo vam samo savjetovati da budete strpljivi i uporni, a tada će se svi ciljevi koji su zacrtani izumitelju pokazati izvodljivim. Programiranje mikrokontrolera za početnike i za iskusne izgleda drugačije: ono što je teško početnicima, za iskusne je rutina. Glavna stvar je zapamtiti da je sve što nije u suprotnosti sa zakonima fizike izvodljivo i rješivo.

Potreba za registracijom ključa u imobilajzeru može se pojaviti zbog njegove zamjene novim. Da biste dovršili zadatak, morat ćete reprogramirati ključ koristeći originalni čip.

[sakrij]

U kojim slučajevima je potrebno reprogramiranje ključa?

Razlozi zbog kojih trebate registrirati ključ mogu biti različiti:

  • ključ je istrošen i oštećen, zbog čega je rad automobila nestabilan;
  • bilo je potrebno napraviti duplikat za članove porodice;
  • kontrolna jedinica motora je oštećena;
  • Modul za paljenje automobila je oštećen.

Kome se obratiti za registraciju čip ključa imobilajzera

Kada postoji razlog za registraciju ključa u imobilajzeru, možete se obratiti servisnom centru ili sami obaviti zadatak.

Ukoliko je auto u garantnom servisu, ključ se upisuje u immo memoriju samo u servisnom centru.

Kako sami registrovati novi ključ

Registracija novog ključa se vrši pomoću čip ključa, koji se mora čuvati na sigurnom i bezbednom mestu. Prije izvođenja postupka reprogramiranja potrebno je u rezervoaru imati oko 10 litara goriva.

Algoritam akcija

Registriramo ključ sljedećim redoslijedom:

  1. Prvo morate zatvoriti sva vrata automobila, zatim uključiti paljenje pomoću čip ključa i pričekati najmanje 10 sekundi.
  2. Isključite paljenje. Ako ikone na kontrolnoj tabli trepere svakih 5 sekundi, programiranje se odvija ispravno.
  3. Sa isključenim kontaktom, uklonite čip u roku od 5 sekundi i ugradite novi ključ za dalje programiranje. U ovom trenutku zujalica bi se trebala oglasiti tri puta.
  4. Pričekajte 6 sekundi dok se zujalica ne oglasi još 2 puta, nakon čega morate isključiti kontakt i izvući novi ključ.
  5. Ubacite čip ključ i sačekajte prvo tri signala, a nakon 6 sekundi još dva.
  6. Izvadite čip ključ i pričekajte 10 sekundi, a zatim umetnite novi ključ i pokrenite motor.
  7. Probajte automobil.

Video prikazuje reprogramiranje ključa za imobilajzer za domaći automobil, koji je snimio kanal Door Doctor.

Značajke programiranja i vezivanja ključa za imobilajzer

Osobitosti programiranja ključeva uključuju činjenicu da će za privjesak za ključeve imobilajzera s jednim gumbom, vezanje biti drugačije.

Za programiranje morate slijediti ove korake:

  1. Zatvorite sva vrata u autu.
  2. Pritisnite i držite veliko dugme dok dioda ne prestane da treperi. Kada otpustite ključ, indikator bi trebao stalno svijetliti.
  3. Pritisnite dugme ponovo. Dioda bi se trebala ugasiti.
  4. Vozač mora otvoriti vrata i staviti ključ u bravu.
  5. Pritisnite dugme na ključu u skladu sa uputstvima za određenu marku sistema.
  6. Aktivirajte paljenje, pričekajte najmanje 10 sekundi i isključite ga.
  7. Nakon 5 sekundi, privezak za ključeve bi trebao biti u radnom stanju i sačuvati sve pozicije u memoriji.

Mikrokontroleri su posebna vrsta čipa koji se koristi za upravljanje raznim elektronskim uređajima.

Uvod u mikrokontrolere

To su minijaturni računari čije su sve komponente (procesor, RAM, ROM) smještene na jednom čipu. Od mikroprocesora se razlikuju po prisutnosti tajmera, kontrolera, komparatora i drugih perifernih uređaja. Trenutno se u proizvodnji koriste mikrokontroleri:

  • Senzori za automobile;
  • igračke;
  • Indikatori napona, punjači;
  • kontrolne ploče;
  • minijaturnih elektronskih uređaja.

Upravljanje se vrši pomoću posebnih programa.

Početnicima se preporučuje da počnu savladavati programiranje mikrokontrolera proučavanjem arhitekture i varijanti. Industrija proizvodi sljedeće vrste MK:

  • ugrađeni;
  • 8-, 16- i 32-bitni;
  • procesori digitalnih signala.

Proizvođači mikrokontrolera moraju stalno balansirati između veličine, snage i cijene proizvoda. Zato su 8-bitni modeli još uvijek u upotrebi. Imaju prilično nisku produktivnost, ali je u mnogim slučajevima ova činjenica prednost, jer omogućava uštedu energetskih resursa. Procesori digitalnih signala su sposobni da obrađuju velike tokove podataka u realnom vremenu. Međutim, njihova cijena je mnogo veća.

Broj korištenih opkodova možda neće biti isti. Stoga se koriste RISC i CISC sistemi instrukcija. Prvi se smatra redukovanim i izvršava se u jednom taktu generatora. Ovo omogućava pojednostavljenje hardverske implementacije CPU-a i povećanje performansi čipa. CISC je složen sistem koji može značajno povećati efikasnost uređaja.

Nemoguće je naučiti programiranje mikrokontrolera za početnike bez razumijevanja algoritama. Naredbe se šalju CPU-u čipa određenim redoslijedom. Štaviše, procesor mora nedvosmisleno shvatiti njihovu strukturu. Stoga, prvo programer kreira sekvencu izvršenja naredbi. Možete prisiliti CPU da odmah zaustavi program pozivanjem prekida. U tu svrhu koriste se vanjski signali ili ugrađeni periferni uređaji.

Porodice mikrokontrolera

Najčešće porodice mikrokontrolera su:

  • MSP430 (TI);
  • ARM (ARM Limited);
  • MCS 51 (INTEL);
  • STMB (STMicroelectronics);
  • PIC (mikročip);
  • AVR (Atmel);
  • RL78 (Renesas Electronics).

Jedan od najpopularnijih proizvoda u elektronskoj industriji su Atmelovi proizvodi, izgrađeni na RISC jezgri. Prva mikro kola, razvijena 1995. godine, pripadaju grupi Classic. Preporučljivo je proučiti programiranje AVR mikrokontrolera za početnike na modernijim modelima:

  • Mega je porodica moćnih čipova sa naprednom arhitekturom.
  • Mali - jeftini proizvodi sa osam igala.

Mora se imati na umu da se kompatibilnost komandnih sistema održava samo kada se program prenosi sa mikrokontrolera niskih performansi na moćniji.

Atmel proizvodi su jednostavni i razumljivi. Međutim, da biste koristili sve funkcije, morat ćete razviti softver. Početnicima se preporučuje da počnu sa programiranjem AVR mikrokontrolera preuzimanjem specijalizovanog okruženja Atmel Studio. Aktuelnu verziju pruža službena web stranica proizvođača besplatno. Za razvoj softvera u ovom okruženju nisu potrebne dodatne softverske komponente.

Kompleks Atmel Studio uključuje ogroman broj primjera gotovih projekata. To će pomoći početniku da brzo savlada osnovne mogućnosti i počne stvarati vlastite programe. Takođe ima module za kompajliranje i konačno otklanjanje grešaka koda. Paralelno sa njegovim razvojem, potrebno je učiti programske jezike. Bez njih se ne može razviti softver.

Programski jezici

Po svojoj strukturi, programski jezici mikrokontrolera malo se razlikuju od onih koji se koriste za personalne računare. Među njima postoje grupe niskog i visokog nivoa. Moderni programeri uglavnom koriste C/C++ i Assembly. Postoje beskrajne rasprave između pristalica ovih jezika o tome koji je bolji.

Asembler niskog nivoa u posljednje vrijeme gubi tlo pod nogama. Koristi direktne upute upućene direktno čipu. Stoga se od programera traži da ima besprijekorno poznavanje naredbi procesorskog sistema. Pisanje softvera u Assembly zahteva značajno vreme. Glavna prednost jezika je velika brzina izvršavanja gotovog programa.

U stvari, može se koristiti gotovo svaki programski jezik mikrokontrolera. Ali najpopularniji je C/C++. Ovo je jezik visokog nivoa koji vam omogućava da radite sa maksimalnom udobnošću. Štaviše, kreatori C-a su učestvovali u razvoju AVR arhitekture. Stoga su čipovi koje proizvodi Atmel posebno prilagođen ovom jeziku.

C/C++ je harmonična kombinacija mogućnosti niskog i visokog nivoa. Stoga je moguće uvesti umetke asemblerskog jezika u kod. Gotov softverski proizvod se lako čita i modificira. Brzina razvoja je prilično visoka. U ovom slučaju nije potrebno detaljno proučavanje MK arhitekture i CPU komandnog sistema. C kompajleri su opremljeni bibliotekama impresivne veličine, što olakšava rad programera.

Treba napomenuti da izbor optimalnog programskog jezika zavisi i od hardvera. Ako imate malu količinu RAM-a, nije preporučljivo koristiti C visokog nivoa. U ovom slučaju, Assembler je prikladniji. Pruža maksimalne performanse zahvaljujući kratkom programskom kodu. Ne postoji univerzalno programsko okruženje, ali većina besplatnih i komercijalnih aplikacija može koristiti i Assembly i C/C++.

Mikrokontroleri PIC

Prvi PIC mikrokontroleri pojavili su se u drugoj polovini prošlog veka. Microchipovi brzi 8-bitni čipovi su odmah stekli popularnost. Dual-bus Harvard arhitektura pruža brzinu bez presedana. Razvijen je na osnovu skupa registara koji karakteriše razdvajanje magistrala.

Prilikom odabira programskog jezika za PIC mikrokontrolere, morate uzeti u obzir da je familija mikrokola bazirana na jedinstvenom dizajnu RISC procesora. Simetrični komandni sistem vam omogućava da proizvoljno odaberete metod adresiranja i izvršite operacije u bilo kojem registru. U ovom trenutku, kompanija Microchip proizvodi 5 vrsta MK-a koji su kompatibilni po softverskom kodu:

  1. PIC18CXXX (75 komandi, ugrađeni hardverski stog);
  2. PIC17CXXX (58 komandi 16-bitni format);
  3. PIC16CXXX (35 komandi, veliki set perifernih uređaja);
  4. PIC16C5X (33 instrukcije, 12-bitni format, 18-28 pin paketa);
  5. PIC12CXXX (verzije sa 35 i 33 komande, integrisani generator).

U većini slučajeva, PIC MCU-ovi imaju jednokratnu programabilnu memoriju. Postoje skuplji modeli sa blic ili ultraljubičastim brisanjem. Asortiman od 500 artikala omogućava vam da odaberete proizvod za bilo koji zadatak. Sada proizvođač koncentriše svoje napore na razvoj 32-bitnih verzija sa povećanim kapacitetom memorije.

Programski jezici za PIC mikrokontrolere su Assembler i C. Bilo koje integrirano razvojno okruženje (IDE) je pogodno za kodiranje. Programiranje s njima je vrlo zgodno. Oni automatski prevode programski tekst u mašinski kod. Važna karakteristika IDE-a je mogućnost da se korak po korak simulira rad gotovog softvera. Preporučujemo korištenje MPLAB razvojnog okruženja. Kreirao ga je Microchip.

Prije početka rada u MPLAB-u, preporučujemo da svaki put napravite posebnu mapu. Ovo je neophodno kako se ne biste zbunili u projektnim datotekama. Interfejs programa je intuitivan i s njim ne bi trebalo biti poteškoća. Za otklanjanje grešaka koriste se vlasnički debageri Pickit, ICD, REAL ICE, IC PROG. Imaju mogućnost pregleda sadržaja memorije i postavljanja kontrolnih tačaka.



Zalemite još jedan čip na drugu ploču ili po deseti put izrežete stazu na ploči kako biste napravili sljedeću (ali ne i posljednju) promjenu na novom uređaju, počinjete razmišljati: "Zar ne bih trebao napustiti ovaj dosadan zadatak?!" Vaš novi uređaj ne ispadne onako kako biste željeli, ali već ste umorni od mijenjanja strujnog kruga i ponavljanja svega na ploči.
Prelistavajući časopise o elektronici, sve češće nailazite na riječi: procesor, mikrokontroler, firmver, programiranje. Ali ove riječi za vas nemaju posebno značenje. Čuli ste negde, a možda i držali u rukama nešto o čemu čak i razmišljate sa strahopoštovanjem... mikrokontroleri! Nešto što smanjuje veličinu uređaja, dajući im mogućnosti koje su vama nedostižne... Ne, vi kao inženjer elektronike razumete opšte ideje o tome kako ti uređaji rade, ali njihova praktična upotreba u vašim proizvodima ne dolazi u obzir! Već ste nekoliko puta pokušali da savladate mikrokontrolere, čak ste kupili nekoliko knjiga iz serije “... za lutke” i preuzeli nekoliko popularnih tutorijala sa interneta. Prošlo je neko vrijeme i sve se zaustavilo na najzanimljivijoj tački: dijagrami prikazani u knjigama bili su vam jasni, ali načini kreiranja programa za vas su ostali misterija. Ukucavanje nekoliko znakova na engleskom (ili nekom drugom jeziku) u programu koji je naveden u knjizi ne predstavlja vam problem. Ali SUŠTINA i METODE upotrebe ovih misterioznih simbola, čiji je redosled u knjizi nazvan programom, nisu jasni. Krivili ste sebe što ste bili glupi i stavili ste ideju o ovladavanju mikrokontrolerima po strani. I zašto? Već radite sjajan posao: imate mnogo, mnogo čipova na kojima razvijate svoje uređaje... Uređaje na velikim pločama koje otklanjate greške i prerađujete dugo, dugo...
Ali upoznajte tipa iz susjedstva: on piše programe, učitava ih u mikrokontroler i ono što morate mjesecima otklanjati, on radi za nekoliko dana. Uspaničite se, počnete da tražite napuštene knjige i zapamtite sve što ste ranije pročitali... On može, a vi ne možete. Bolje upoznate ovog momka i pod krinkom sporednog razgovora počnete da ga pitate o mikrokontrolerima i njihovim mogućnostima. I mirno kaže da su mu kontrolori hobi. Zamolite ga da vam kaže o njihovom uređaju. Njegovi odgovori su jednostavni i nepretenciozni.

Mikrokontroleri. Šta je mikrokontroler?
Mikrokontroler je mali specijalizovani računar, na ruskom mikro-računaru. Štaviše, ovaj mikroračunar je napravljen u jednom čipu, na jednom kristalu. Otuda i puni naziv: „mikroračunar sa jednim čipom“. Poput kompjutera, mikrokontroler je elektronski uređaj čijim radom upravlja program - niz komandi unapred učitanih u memoriju. Ove komande izvršava procesor: neka vrsta “mega-mozaka” koji uključuje ALU – aritmetičko-logičku jedinicu. To jest, procesor "može" da izvodi matematičke operacije i da izvodi logičke operacije nad podacima.

Kapacitet procesora. Metode prezentiranja informacija.
I procesor i memorija su digitalni uređaji koji "razumeju" signale samo dva nivoa: postoji napon/struja i nema napona/struje na liniji. Ova dva stanja se obično pišu na sljedeći način: logička jedinica - "1", a logička nula - "0". Naredbe i podaci su skup jedinica i nula. Jedna linija (nazvana pražnjenje) u svoja dva stanja može prenijeti samo dvije vrijednosti. Ali kako se broj znamenki povećava, povećava se i broj vrijednosti: dvije znamenke su već četiri, a osam znamenki već 256 vrijednosti. Cifra se obično naziva bit: jedna cifra je jedan bit. A skup od osam bitova je bajt: osam bitova je jedan bajt. Ali jedan bajt ima samo 256 vrijednosti. Za prijenos više informacija koristi se nekoliko bajtova koji se uzastopno nalaze u memoriji. Dva bajta već prenose 65536 vrijednosti. Tri bajta - 16777216 vrijednosti! I tako dalje. Najčešći procesori su oni koji mogu obraditi osam bitova u jednoj operaciji, zbog čega se takvi procesori nazivaju osmobitni.

Komandni sistem procesora.
Kada se procesor razvije, on je ugrađen u sposobnost izvršavanja određenih naredbi. Instrukcije koje je dati procesor u stanju da izvrši nazivaju se skupom instrukcija. Koje su to naredbe? Najčešće aritmetičke i logičke naredbe, kao i komande za rad sa portovima - komunikacijskim linijama između procesora i vanjskog svijeta. Procesor, nakon što je pročitao vrijednost iz memorijske ćelije ili stanje porta u vlastitu memoriju - registar, može na njoj izvoditi matematičke ili logičke operacije. Matematički su nam jasne operacije: sabiranje, oduzimanje i ostalo. Logičke radnje podrazumevaju sledeće radnje: poređenje - više, manje, jednako; rad na bitovima memorijske ćelije ili registra: nuliranje ili postavljanje, kao i operacije pomjeranja bitova lijevo ili desno.

Memorija i njeni tipovi.
Podaci se mogu čitati iz memorije. Memorija je mjesto gdje se program i/ili podaci mogu pohraniti neko vrijeme. Mogu se čuvati kratko - dok se ne isključi struja, ili dugo - bez obzira na prisustvo napona napajanja. Prva vrsta memorije se koristi za pohranjivanje međupodataka koji se koriste prilikom izvođenja različitih operacija. Zato se i zove "memorija slučajnog pristupa". Druga vrsta memorije se češće koristi za pohranjivanje programa. Postoji nekoliko tipova dugotrajne memorije: memorija koja se može jednom programirati, memorija koja se može izbrisati električnom energijom i memorija koja se može izbrisati ultraljubičastim ili rendgenskim zrakama. Fizička struktura i princip rada memorije mogu biti različiti, ali suština je ista: pohranjivanje podataka. Koncept "ćelije" se koristi za opisivanje skladištenja podataka. Stoga, što je više ćelija, to se više podataka može pohraniti. Svaka ćelija ima individualnu adresu. Procesor pristupa vrijednosti memorijske ćelije tačno po njenoj adresi.

Luke. Načini rada porta.
Podaci se mogu primati i od eksternih uređaja preko komunikacionih linija - pinova mikrokontrolera. Ove komunikacione linije se nazivaju portovi, ili naučno: uređaji za unos i izlaz podataka. Pinovi porta mogu biti ulazi, pomoću kojih procesor prima informacije izvana od različitih senzora, ili biti izlazi, šaljući signale kojima se može kontrolisati vanjski uređaj. U modernim mikrokontrolerima, pinovi gotovo svih portova su dvosmjerni, odnosno mogu biti i ulazi i izlazi. Univerzalni portovi moraju biti konfigurisani - podesite način rada na ulaz ili izlaz. U tu svrhu postoji posebna ćelija u memoriji - registar za kontrolu načina rada porta. Na primjer, da bi se potreban izlaz (bit) porta učinio ulazom, 1 ili 0 se upisuje u bit kontrolnog registra, ovisno o modelu mikrokontrolera.

Periferije.
Ali mikrokontroler ne sadrži samo procesor i memoriju. Glavnu ulogu imaju takozvani periferni uređaji: tajmeri, brojači, analogni komparatori, digitalno-analogni i analogno-digitalni pretvarači, serijski komunikacioni uređaji (često se nazivaju serijski port). Često mikrokontroler ima i određeni broj nepromjenjivih memorijskih ćelija (najčešće Flash), u koje se mogu pohraniti različiti podaci.

Porodice mikrokontrolera.
Prisustvo svih navedenih uređaja u mikrokontroleru nije neophodno. Najčešće proizvođač proizvodi nekoliko modela proizvoda koji sadrže različite periferne uređaje. Mikrokontroleri sa jednim tipom procesora (i skupom izvršnih mašinskih kodova), ali različitim perifernim uređajima, pripadaju istoj porodici. Tako kažu: mikrokontroleri porodice ATtiny.

Multifunkcionalnost pinova mikrokontrolera.
Može se postaviti pitanje: kako svi ovi uređaji "komuniciraju" sa vanjskim svijetom, ako većina čipova u DIP paketu nema više od 40 pinova? Da bi se riješio problem nedostatka pinova, koristi se metoda kombiniranja funkcija nekoliko uređaja pomoću jednog pina. Na primjer, pinovi jednog od portova (8 bita - 8 pinova) se također koriste za rad analogno-digitalnog pretvarača, a pinovi drugog porta se koriste kao ulazi analognih komparatora, serijskog porta ili za povezivanje drugih ugrađenih čvorova. Za upravljanje načinima rada pinova koristi se poseban registar za kontrolu načina rada porta (o tome je bilo riječi ranije kada su objašnjeni principi rada porta). U većini mikrokontrolera, pinovi imaju više funkcija. Ako pogledate tehničku dokumentaciju za regulator, prilikom opisa izlazne funkcije, bit će napravljena napomena o glavnim i alternativnim funkcijama ovog izlaza. Na primjer: PD0/RX - nulti bit porta D je također ulaz serijskog porta, PB1/Ain0 - prvi bit porta B je također ulaz analognog komparatora.

Algoritmi. Programi.
Komande procesoru daju se određenim redosledom, u skladu sa prethodno razvijenim algoritmom. Algoritam je sekvenca izvršenja od strane procesora. Štaviše, naredbe moraju biti razumljive procesoru, a istovremeno imati nedvosmislenu interpretaciju, bez ikakve nezavisnosti u svom izvršavanju. Algoritam se može zapisati usmeno. Na primjer: početak programa; neka nulti bit porta bude ulaz; učinite sedmi bit porta izlazom; pročitajte vrijednost nultog bita porta; ako je jednak logičkom, izvršite sljedeće radnje: učitajte logički u sedmi bit porta; povratak na početak programa. Ovako smo opisali algoritam rada kola koje se sastoji od prekidača, sijalice (ili drugog opterećenja) i izvora napajanja. Rezultat izvršenja će biti sljedeći: kada pritisnete tipku, napon se dovodi na ulaz porta, procesor izvršava program - napaja napon na izlaz porta. I dok su kontakti zatvoreni, na izlazu će biti napona.
Ali takvo pisanje je vrlo teško uočiti. Stoga su razvijene metode za grafičko opisivanje algoritma. Evo primjera grafičkog zapisa gornjeg algoritma.
Rice. Algoritam-1. Grafička metoda opisivanja algoritma

Naredbe grananja: uslovne i bezuslovne grane.
Posebne instrukcije procesora uključuju uvjetne i bezuvjetne upute za skok. Da bi se ovo razumjelo, potrebno je objasniti koncept „pokazivača adrese naredbe koja se izvršava“. Procesor ima poseban registar koji čuva adresu instrukcije koja se trenutno izvršava. Kada se uključi napajanje, ovaj registar se resetuje i na njega se upisuje nula. Zatim, procesor počinje izvršavati naredbe pohranjene u memoriji, počevši od adrese nula - na kraju krajeva, registar pokazivača adrese izvršene naredbe sadrži nulu. Nakon izvršenja naredbe, ovaj pokazivač se inkriminiše, odnosno povećava mu se vrijednost. Procesor čita sljedeću instrukciju iz memorije na adresi navedenoj u pokazivaču. To jest, komande se izvršavaju sekvencijalno. Možete prekinuti slijed izvršavanja programa korištenjem uvjetnih i bezuvjetnih naredbi za skok. Da bi se to postiglo, komanda se pohranjuje u jednu od memorijskih ćelija, koja daje instrukcije procesoru da promijeni vrijednost registra pokazivača adrese instrukcije koja se izvršava. Instrukcija bezuvjetnog skoka daje instrukcije procesoru da promijeni sekvencijalni redoslijed izvršavanja programa i započne izvršavanje instrukcija pohranjenih u memoriji počevši od prethodno navedene adrese.
Komanda uslovnog skoka je složenija: kada se izvrši, proverava da li je neki uslov ispunjen. Na primjer, trebate uporediti vrijednost dvije memorijske ćelije. Ako je vrijednost prve ćelije veća, nastavite s izvršavanjem programa na adresi A, u suprotnom (tj. vrijednost prve ćelije je manja) - idite na adresu C.

Prekidi i njihovi tipovi. Prioriteti prekida.
Postoji još jedan način da "primorate" procesor da zaustavi sekvencijalno izvršavanje programa i počne izvršavanje programa na određenoj adresi - pozovite "prekid". Koncept prekida pojavio se zajedno sa prvim procesorima. Stvar je u tome što procesor kontroliše uređaje koji su sporiji od njega. Na primjer, procesor mora obraditi podatke dok se ne pojavi određeni signal. Navedimo jednostavan primjer: procesor pokreće program za brojanje broja impulsa primljenih na jednom od njegovih portova. Kada pritisnete dugme, procesor mora prekinuti izvršavanje ovog programa i izvršiti drugi program: uključiti neki uređaj (tj. primijeniti logički na jedan od bitova porta - “1”). Kako riješiti ovaj problem? U samom programu možete stalno ispitivati ​​potrebnu cifru porta na koji je dugme spojeno. Ali u isto vrijeme, dio procesorskih resursa (brzina) će se praktično potrošiti na ispitivanje porta. Drugi način je korištenje prekida. Procesor (a samim tim i mikrokontroler) ima poseban pin. Obično se naziva “Int” (engleski: “Prekid”). Kada se signal primeni na pin "Int", dešavaju se sledeće radnje:
- zaustavljanje izvršavanja glavnog programa,
- vrijednost registra pokazivača adrese izvršene naredbe pohranjena je u RAM-u (mjesto gdje je prekinuto izvršavanje programa),
- nakon čega se nova adresa učitava u isti registar (u zavisnosti od želje proizvođača procesora),
- u memorijskoj ćeliji sa navedenom adresom nalazi se naredba bezuslovnog skoka: "idi na adresu xx",
- u memoriji, počevši od ćelije sa adresom xx, postoji još jedan program, nazovimo ga pomoćni program.

U našem slučaju, uslužni program mora izdati logičku jedinicu portu, čime se uključuje potreban uređaj. I ovdje počinje zabava: posljednja komanda uslužnog programa je komanda „prekid izlaza“. Nakon što primi ovu naredbu, procesor čita prethodno pohranjenu vrijednost registra pokazivača adrese instrukcija iz memorije i učitava je u ovaj registar. Shodno tome, procesor nastavlja izvršavanje glavnog programa odakle je prekinut.
Ali prekid mogu uzrokovati ne samo vanjski signali, već i unutarnji uređaji samog mikrokontrolera: tajmeri, brojači, serijski portovi, pa čak i stalna memorija. Opet, ovo se radi uglavnom kako bi se smanjio broj naredbi koje se izvršavaju za analizu stanja ovih perifernih uređaja. Navedimo primjer: proces upisivanja podataka u nepromjenjivu memoriju je vrlo dug, a za to vrijeme procesor može izvršiti vrlo veliki broj naredbi. Stoga, procesor izvršava glavni program, izdaje naredbu za brisanje nepromjenjive memorije, a zatim nastavlja izvršavanje glavnog programa. Čim se završi brisanje nepromjenjive memorije, upravljačka kola generiraju signal prekida iz ove memorije. Procesor prekida izvršavanje glavnog programa i počinje proces upisivanja podataka u memoriju. Ova metoda izvođenja radnje izvan glavnog programa naziva se pozadinski način rada. Također se često kaže: "ovaj dio programa radi u pozadini."
Kada radite s prekidima, morate biti oprezni: moguća je situacija u kojoj se može poremetiti izvršavanje programa i rad cijelog uređaja. Činjenica je da mikrokontroler ima nekoliko prekida. Za kontrolu režima rada prekida postoji registar za kontrolu prekida. Prilikom postavljanja režima rada prekida, dozvolili ste da radi nekoliko prekida - to je normalna situacija. Ali, nakon što ste primili eksterni ili interni signal prekida glavnom programu i nastavili sa izvršavanjem programa usluge prekida, niste onemogućili prekide. Procesor izvršava pomoćni program i u ovom trenutku prima drugi signal prekida. Procesor prekida izvršavanje uslužnog programa i nastavlja sa izvršavanjem programa za obradu novog prekida. Lako je zamisliti do čega bi to moglo dovesti.
Da bi se riješio ovaj problem, razvijena je metoda kojom se svakom prekidu dodjeljuje stepen ozbiljnosti ili "prioritet prekida". Ovisno o modelu mikrokontrolera, prioritet prekida se može postaviti rigidno (a programator samo dozvoljava ili onemogućuje obradu određenog prekida), ili ga programeri mogu programski implementirati (tj. prioritet prekida ovisi o preferencijama programera i algoritam za implementaciju određenog zadatka).

Mi kontrolišemo procesor. Programski jezici. Prevodioci.
Mašinski kodovi. Asembler.
Naredbe za procesor su nizovi jedinica i nula. Često se komande procesora nazivaju mašinskim kodovima, naglašavajući da su ove komande prvobitno dizajnirane za određenog izvođača - mašinu, ali ne i osobu. Pamtiti komande iz brojeva (mašinskih kodova) je veoma teško. Stoga je, da bi se posao pojednostavio, izmišljen način da se digitalne sekvence zamjene simboličkim skraćenicama koje su ljudima razumljivije. Na primjer, za naredbu “load data” smislili su jasnu skraćenicu “ld” (engleski “load” - load), za naredbu “compare” - “cp” (engleski “compare” – usporedba), i tako on. Ova metoda simboličkog snimanja procesorskih naredbi naziva se “assembler”. Ako pri radu sa mašinskim kodovima programer direktno unosi komande upravljanja procesorom u memoriju uređaja, onda kada radi sa asemblerom, između programa i procesora postoji neka vrsta posrednika koji pretvara simboličke notacije u mašinske kodove. Program koji djeluje kao posrednik naziva se prevodilac, odnosno prevodilac. Ali postoji mala nijansa: asembler se ne odnosi samo na metodu simboličkog označavanja digitalnih instrukcija (mašinskih kodova), već i na program prevodilac koji pomaže programeru da prevede simboličke oznake komandi direktno u mašinske komande. Stoga se često koristi sljedeća tehnika: kada govore o jeziku, pišu Asembler, kada govore o programu, pišu jednostavno asembler.
Assembler ima ogromnu prednost: programe napisane na Assembly-u procesor izvršava vrlo brzo. Činjenica je da je asembler praktično strojna komanda. Ali asembler ima i nedostatke: glavni nedostatak je teškoća pisanja programa, drugi je da čak i relativno jednostavni programi imaju veliku količinu izvornog teksta, što otežava analizu programa.

Modularnost programa. Zadaci koji se često ponavljaju.
Svaki programer je tokom svog rada akumulirao određeni broj programa. Ali mnogi programi sadrže iste radnje. Na primjer, mnogi programi ispituju tastaturu i analiziraju pritisnuto dugme. To znači da se ovaj dio programskog koda može prenijeti iz jednog programa u drugi. Od takvih dijelova (modula) postepeno su se formirale programske biblioteke. Programeri su počeli da „vajaju” program od modula: to jest, ubacili su traženi modul na potrebno mesto u programu. Ovaj pristup je ubrzao proces pisanja programa i povećao pouzdanost programa u cjelini zbog korištenja već otklonjenih modula. Ali od prvih dana pojavio se problem dijeljenja modula: na kraju krajeva, svaki je programer pisao module prema vlastitom „standardu“ - kako mu je u jednom ili drugom trenutku bilo zgodnije. Stoga se postepeno razvijao standard (tačnije nekoliko početaka) za pisanje ovih modula. Oni su opisali strukturu modula za praktičnije "lijepljenje" u jedan program.

Programski jezici i njihova funkcionalna podjela.
Postepeno, ovi različiti standardi za upotrebu modula formirali su ono što će se kasnije nazvati "programski jezici". Kao i ljudski jezici, programski jezik ima nekoliko podnivoa koji određuju i pisanje pojedinačnih riječi (modula) i metode za njihovo pisanje, kao i pravila za njihovu upotrebu. Vremenom su se programski jezici razvijali i mijenjali. Postupno su svi programski jezici podijeljeni u nekoliko grupa, ovisno o njihovoj "profesionalnoj orijentaciji":
- primijenjeni programski jezici (FORTRAN za matematičare, FoxPro za finansijske radnike);
- univerzalni (Pascal i Basic);
- sistem (Assembler i C).

Sistemske riječi počele su se nazivati ​​jezicima niskog nivoa, tj. programer radi na nižem nivou, najbližem procesoru. A jezici, pri radu s kojima programer ne mora direktno kontrolirati rad procesora, počeli su se nazivati ​​jezicima visokog nivoa (često se nazivaju i Java jezici). Nemojte brkati ovu skraćenicu sa nazivom Java jezika - "Java".

Emitovanje programa. Metode emitovanja programa.
Kao i kod asemblera, program napisan na bilo kom jeziku visokog nivoa mora biti konvertovan u instrukcije koje procesor može da razume. U početku se to radilo ručno: komanda u asembleru je pronađena u tabeli i zapisana u mašinskom kodu. Da bi se ubrzao proces konvertovanja (prevođenja) programa, napisani su posebni programi - prevodioci. Postoje dvije metode za prevođenje programa: interpretacija i kompilacija. Prema tome, prevodilac se naziva ili tumač ili prevodilac. Kada se koristi interpretator, izvorni tekst programa se analizira i sekvencijalno, naredba po naredba, izvršava interpreter. Interpretator sadrži module za sve upotrebljive radnje. Ova konverzija po instrukciji je vrlo spora. Ali ova metoda ima veliku prednost: možete zaustaviti program, promijeniti njegov kod i nastaviti njegovo izvršavanje. Ovo je zgodno prilikom otklanjanja grešaka u programu. Također u ovom slučaju imamo izvorni tekst programa i možemo ga uređivati ​​više puta.
Kada se koristi kompajler, tekst programa se analizira i kreira se fajl koji sadrži mašinske instrukcije, nazvan izvršni fajl. Ovo osigurava vrlo veliku brzinu izvršenja kompajliranog programa - na kraju krajeva, konverzija programskog teksta u mašinske kodove se dešava samo jednom tokom njegove kompilacije. Ali nećete moći promijeniti program u hodu: trebate promijeniti tekst programa i ponovo ga kompajlirati. Ako izvorni kod nedostaje iz nekog razloga, tada je nemoguće ponovo kompajlirati program, a promjena izvršne datoteke je izuzetno teška.

Proces kreiranja programa. Okruženje za razvoj programa.
Pojavom prevodilaca, proces kreiranja programa počeo je izgledati ovako:
- razvija se algoritam za budući program,
- algoritam je kodiran (tj. opisan u obliku naredbi programskog jezika),
- rezultirajući kod je napisan u nekom tekstualnom uređivaču,
- fajl sa tekstom programa se prenosi prevodiocu,
- prevodilac pretvara simboličke komande u naredbe razumljive procesoru i sprema ih u datoteku,
- ova datoteka se učitava u memoriju.
Kao što vidite, programer je morao raditi u nekoliko programa. Najčešće su sve ove programe pisali različiti proizvođači, tako da kompatibilnost ovih programa među sobom nije bila zagarantovana. Njihova kompatibilnost se morala utvrditi pokušajem i greškom.

Integrisano okruženje za razvoj softvera.
Nedavno se pojavio novi pristup: „Integrisano razvojno okruženje“ (IDE). Integracija se odnosi na izvršenje u jednom programu cjelokupnog procesa kreiranja programa: nakon što je napisao tekst programa, programer klikom miša započinje prijevod teksta programa u mašinske kodove, nakon čega se rezultirajuća izvršna datoteka automatski učitava u memoriju procesorskog uređaja. Odnosno, sve se radi u jednom programu. Ovaj pristup ubrzava rad programera.

Prve poteškoće.
Sva prethodna poglavlja su bila uvodni kurs, pripremajući vas za sagledavanje novih informacija. Imamo nekoliko problema na tom putu.
1. Velika količina raznovrsnih informacija: elektronika, dizajn mikrokontrolera, algoritmi, sintaksa programskih jezika, opisi rada sa softverskim alatima. A kako pisati? Jedan čitalac je dobar inžinjer elektronike, ali nikada nije napisao program, drugi je programer, ali elektronika je na nivou radio kruga, treći je nešto između...

2. Izbor MK: ako su svi mikrokontroleri dobri, onda na osnovu kog proizvoda i kog proizvođača treba bazirati proces daljeg usavršavanja i praktične primene mikrokontrolera?
Da bismo odabrali mikrokontroler za TRENING potrebno je da ispunimo sledeće uslove:
A) Mikrokontroler odabran za obuku mora biti pristupačan i jeftin.
B) mora biti moderan proizvod, ali ne i najnoviji.

Sada detaljnije o svakoj tački.
Sa tačkom A sve je jasno: koja je svrha proučavanja proizvoda koji je teško kupiti ili mu je cijena previsoka za početnika.
Tačka B zahtijeva pojašnjenje. Činjenica je da novi proizvodi uvijek imaju neke nedostatke. Otkrivaju se tek nakon nekog vremena, sve dok neko slučajno ne naiđe na ovaj problem dok radi sa ovim proizvodom. Ali novi proizvodi ne pronalaze odmah svoj put u nove dizajne: potrebno je vrijeme za pisanje programa za nove modele. Ovdje postoji ljudski faktor: programeri već imaju gotova rješenja za prethodne modele mikrokontrolera, a prelazak na nove je težak.
Takođe, svi novi mikrokontroleri imaju samo vlasnički opis. I napisana je na engleskom i uz brojne stručne termine: na kraju krajeva, namijenjena je profesionalcima! A mi smo studenti... Nakon nekog vremena pojavljuju se primjeri dizajna, detaljniji opisi sa brojnim komentarima i savjetima. Tada će neko početi prevoditi dokumentaciju na ruski (ne svu, ali barem najkompleksniju ili najčešće korištenu).
Možda ne postoje alati za novi mikrokontroler: kompajleri, debugeri i programeri "ne razumiju" ovaj proizvod. Opet čekamo da autori ovih programa ažuriraju svoje kreacije...

3. Morate odabrati programski jezik, na kojem planiramo pisati programe za MK.
Odabir programskog jezika je vrlo osjetljiv zadatak. Za podučavanje programiranja mikrokontrolera, želio bih koristiti programski jezik sa jednostavnom sintaksom: programer se mora baviti programom, ali ne i njegovim dizajnom!
Ovdje je potrebno unaprijed dati objašnjenje: trenutno su među programerima programa i uređaja na mikrokontrolerima popularne tri „familije“ jezika: C (zapisano kao „C“), Pascal (Pascal) i BASIC (BASIC) . Pascal je prvobitno razvijen kao alat za učenje programiranja. Sam BASIC je po strukturi sličan Pascalu, ali je pisanje naredbi pojednostavljeno i zahtjevi za dizajnom programa su mnogo manji. C se smatra jezikom za profesionalce. Xi je poput kineske filozofije: nije važan samo simbol (naredba), već i njegov stil i boja. Šalu na stranu, ali moje mišljenje je sljedeće: C je noćna mora. Njegova upotreba je opravdana samo u nekim vrlo usko specijalizovanim zadacima. Ali naš zadatak je da okušamo svoje snage i da ih što manje trošimo na zadatke koji nemaju direktnu vezu s glavnim ciljem.

4. Potrebno nam je okruženje za razvoj programa za mikrokontrolere. Njegov izbor direktno zavisi od tipa MK koji se koristi i programskog jezika.
Razvojno okruženje programa je veoma važno za uspešno savladavanje programiranja mikrokontrolera. Moguće je pisati programe u uređivaču teksta kao što je Notepad, ali je nezgodno (testirano!). A pozivanje kompajlera na komandnoj liniji je nezahvalan zadatak u našem dobu zasnovanom na grafičkim prozorima.
Izbor razvojnog okruženja direktno zavisi od mikrokontrolera na kome ćemo graditi praktični deo obuke. Povrh svega ostalog, moramo imati besplatne alate. Ali, kako je pokazalo testiranje takvih programa, besplatni softver najčešće ima osrednji kvalitet i sa stanovišta upotrebe i sa stanovišta učenja MK programiranja: prisustvo grešaka ili nedostataka u samim prevodiocima stvara dodatne poteškoće i lišiti samopouzdanja.
Došla bi i demo verzija, da ima minimum ograničenja i da radi najmanje pola godine - upravo to je period potreban za stjecanje vještina rada s mikrokontrolerima kod kuće.

5. Programator koji će se koristiti za učitavanje napisanih programa u memoriju MK-a. Izbor programatora zavisi i od tipa MK koji se koristi. Postoje, naravno, "univerzalni" programeri koji vam omogućavaju rad s različitim mikrokontrolerima i memorijskim čipovima, ali su skupi. Da, i nije potrebno u većini slučajeva. Stoga je lakše proizvesti nešto visoko specijalizirano za ovu porodicu MK-ova.
Ali poenta nije toliko u složenosti krugova programatora, već u načinu povezivanja ovog programatora na PC. Ovdje je potrebno pojasniti: programator je elektronički adapter koji pretvara signale s računalnih sučelja (COM, LPT i USB portovi) u signale koji se isporučuju na izlaze MK-a za učitavanje programa u njegovu memoriju. Elektronski adapter kontroliše PC program, koji „prisiljava“ adapter da izda potrebne sekvence signala MK pinovima.
Ako se adapter za programiranje povezan na PC preko COM i LPT portova može napraviti kod kuće - "na kolenu", onda je izrada takvog adaptera, ali spojenog na USB priključak, već pomalo problematična: srce takvog adaptera je često... mikrokontroler. Ovdje nastaje paradoks: da bismo programirali MK moramo programirati MK.
Postavlja se logično pitanje: zašto praviti složeni adapter koji se spaja na USB, kada možete napraviti jednostavan i spojiti ga na LPT ili COM port. Stvar je u tome što mnogi (skoro svi) moderni računari nemaju ove portove. Stoga ćete morati napraviti složeniji adapter za programiranje MK-a.

mart 2010

Ova pitanja sam sebi postavio u martu, a sada je već kraj novembra. Ali ovaj put nije bio uzaludan: pronašao sam izlaz iz gore opisanih situacija i našao odgovore na sva pitanja koja su me mučila. A sada prve stvari.

Odgovor na pitanje broj 1
Ako bi se materijali iz prethodnih poglavlja mogli nekako logički sistematizirati i prezentirati korak po korak, onda su materijali u narednim poglavljima dati paralelno: jedno implicira drugo. Možda će vam se moj način predstavljanja novih materijala učiniti pomalo haotičnim, ali nisam mogao smisliti nešto ljepše u dizajnu.

Odgovor na pitanje broj 2
Mikrokontroler proizvođača ATMEL ATMEGA48. Dobro je opisan, u proizvodnji je nekoliko godina, ne planira se gašenje još najmanje 3 godine i ima optimalne tehničke parametre.

Odgovori na pitanja 3 i 4
Programsko okruženje je BASCOM (proizvođač MCS Electronics, autor Mark Alberts). Programski jezik je po stilu i zahtjevima za dizajn programskog teksta sličan Pascalu, ali je sintaksa komande preuzeta iz BASIC-a.
Razlozi za izbor:
- potpuno funkcionalna demo verzija kompajlera (jedino ograničenje: kod generiran od strane kompajlera ograničen je na veličinu od 4 KB)
- želja autora programa za saradnjom (preveo sam poruke interfejsa i sistem pomoći na ruski, on je ovom programu dodao ruski)
- prisustvo foruma na ruskom jeziku za korisnike ovog kompajlera

Odgovor na pitanje broj 5
Nije bilo moguće kombinovati jednostavnost kola i USB-a. Odlučeno je da se opiše dva modela programatora: jedan se povezuje na LPT port računara, drugi na COM port. Ako ovi portovi nedostaju, druga verzija programatora se može povezati sa računarom pomoću USB-COM pretvarača. Ovako dobijamo kombinaciju USB-COM-programer-mikrokontroler.
Prvi model programatora poznat je kao STK-200/300, sadrži bafer čip trećeg stanja i nekoliko otpornika. Drugi model je dobro poznati USBasp programator.

Situacija kada korisnici uredske opreme za ispis moraju riješiti problem kako resetirati kertridž prilično je česta. Možete se nositi s tim na nekoliko načina, i to apsolutno samostalno. Ali prije nego što počnemo rješavati problem kako resetirati čip kertridža, treba reći da je čip na pisaču dizajniran za snimanje informacija koje se odnose na resurs potrošnog materijala i ispisanih stranica.

Kada uredska oprema signalizira potrebu za zamjenom spremnika s tintom, imajte na umu da to ne znači da u njemu zapravo nema više tinte. Samo je čipirani kertridž dostigao određenu granicu odštampanih stranica. A na njima je, zauzvrat, moglo biti samo 5-6 redova teksta. Ispostavilo se da se nivo mastila štampača i MFP-a izračunava programski i, po pravilu, nema informacija o tome koliko je mastila zapravo ostalo u kontejneru. Iz tog razloga se često postavlja pitanje kako resetovati čip na kertridžu da bi se potrošilo sve mastilo koje se nalazi u njegovom kontejneru.

Naravno, umjesto da resetujete kertridž i resetujete brojač, možete jednostavno zanemariti upozorenja iz vaše kancelarijske opreme da je potrošni kapacitet skoro prazan. Ali ovo je relevantno samo ako vaš štampač ili višenamenski uređaj ne blokira automatski proces štampanja kada se takve poruke pojave. Da biste se nosili sa zadatkom kako resetirati kertridž i na taj način deblokirati pisač, trebali biste pribjeći metodama opisanim u nastavku.

Kako koristiti programator?

Da biste odgovorili na pitanje kako resetirati pisač, morate koristiti poseban programator. Imajte na umu da će resetiranje štampača biti obavljeno što uspješnije ako u tu svrhu koristite programator koji je dizajniran posebno za vaš model uredske opreme za štampanje.

Programator čipova može raditi sa velikim brojem čipova iz raznih štampača. Jednostavan je za korištenje (često takav softver ima funkciju automatskog programiranja), ima pun USB interfejs, ručnu i automatsku CRUM kontrolu napajanja, kao i ergonomiju.

Dakle, da biste resetirali brojač, samo trebate odabrati željeni model pomoću takvog univerzalnog softvera i pričekati da se postupak završi. Često univerzalni programeri imaju vrlo zgodnu funkciju skeniranja. Uz njenu pomoć. Možete saznati kojem uređaju pripada ovaj ili onaj čip. Treba dodati i da takav programer čipova ne treba internet.

Dakle, ako ste za rješavanje problema poput “kako resetirati brojač” kupili programator koji odgovara vašem štampaču, onda prvo pažljivo pročitajte upute za korištenje. Tamo se možete informirati o svim preporukama koje se odnose na rad uređaja.

  • Prije resetovanja brojača, obavezno rastavite kertridž s tonerom/tintom, a zatim uklonite čip iz njega. Unatoč činjenici da svaki model uredske opreme za štampu ima svoje karakteristike nuliranja brojača, općenito je proces gotovo identičan na većini modela.
  • Da biste resetovali brojač, umetnite čip u konektor prethodno kupljenog programatora, koji zauzvrat mora biti povezan na port personalnog računara.
  • Preuzmite softver za čip kako biste riješili problem kako flešovati kertridž.
  • Nakon otvaranja softvera dizajniranog za čipove potrošnog materijala kancelarijske opreme za štampanje, resetujte sve informacije vezane za upotrebu potrošnog materijala. Bilo bi dobro da prvo preuzmete šemu resetovanja firmvera sa tematskih web resursa.
  • Sačuvajte ceo rezultat obavljenog posla, zatim pažljivo uklonite čip iz uređaja i napunite toner ili posudu za mastilo.
  • Na kraju, sve što treba da uradite je da ubacite potrošni materijal sa brojačem za resetovanje nazad u uređaj za štampanje i testirate njegov rad štampanjem probne stranice.

Ali morate shvatiti da takav programator košta dosta novca - njegova cijena je usporediva s cijenom novog uređaja za ispis, tako da je za kućni pisač najbolja opcija zamjena čipa. Čipovi za štampač su jeftini i vrlo ih je lako promijeniti.

Self-reset

Drugi način za resetovanje brojača kertridža kako biste zaobišli funkciju zaključavanja štampanja i dopunjavali potrošni materijal je ručni pristup. U tu svrhu slijedite ove korake:

  • Prije svega, uklonite potrošni materijal iz uredske opreme.
  • Kliknite na dugme “Otkaži” u servisnom meniju uređaja za štampanje dok držite pritisnuto “OK”. Nakon nekoliko sekundi možete otpustiti oba dugmeta.
  • Pronađite stavku u meniju pod nazivom “Resetuj meni”, a zatim kliknite na “OK”.
  • Sada biste trebali odabrati "Parcijalno resetiranje". Vaš uređaj će se tada isključiti.
  • Uključite svoj pisač ili višenamjenski uređaj, odaberite svoju regiju i jezik, a zatim slijedite sva uputstva koja vam nudi uređaj za štampanje.
  • Provjerite nivo tinte ako ovaj parametar nije 100 posto, a zatim ponovite prethodno navedene korake. Međutim, umjesto stavke "Parcijalno resetiranje", morate kliknuti na "Polupotpuno resetiranje".
  • Alternativno, možete pokušati držati pritisnuto dugme Reset/Stop na samom uređaju za štampanje oko deset sekundi. Zahvaljujući ovoj akciji, štampač jednostavno više neće pratiti nivo mastila u potrošnom materijalu. Ali ovaj pristup ima jedan nedostatak. Činjenica je da ćete nakon takve operacije sami morati pratiti nivo tinte u svakom kertridžu.

Imajte na umu da su gore opisani koraci prikladni samo za neke modele štampača. Većina uređaja zahtijeva firmver kertridža. Da biste saznali kako da ga napravite posebno za vaš model štampača, koristite pretragu po modelu uređaja u bočnom meniju.

Šta učiniti ako ne možete resetovati čip?

Ali ako ne možete da otkopčate štampač ili potrošni materijal za MFP, postoji samo jedan izlaz iz ove situacije, a to je zamena čipa. Ali morate uzeti u obzir da će se čip morati zamijeniti svaki put kada punite potrošni materijal. Generalno, pronalaženje odgovarajućih čipova za kertridže raznih modela štampača danas nije problem, jer... Moderno tržište kancelarijske opreme i njenih komponenti je prepuno ogromnog broja ponuda.

Drugi način za rješavanje ovog problema je ponovno ažuriranje same uredske opreme. Da biste to učinili, morat ćete se upoznati s relevantnim materijalima na našoj web stranici ili koristiti usluge stručnjaka iz bilo kojeg pouzdanog servisnog centra.