LED utripalnik na krmilniku vrhov. LED strobe na mikrokontrolerju PIC12f629. Pojasnila za diagram

Ta diagram je preprost led stroboskop, zgrajen na mikrokrmilniku PIC12f629. Stroboskop ima 4 mostičke, s katerimi lahko izberete eno izmed možnosti delovanja LED.

Obstajajo naslednji načini: interval med impulzi (30 ms in 10 ms), hitrost ponavljanja (1, 2, 3 in 4 s), ustvarjanje enojnih ali dvojnih utripov.

Ker lahko izhod mikrokontrolerja PIC12F629 prenese največjo obremenitev okoli 25 mA, je v stroboskopsko vezje vključen tranzistor, ki lahko razbremeni izhod mikrokrmilnika in poveča tok, ki teče skozi LED. Ta tranzistor ima največji kolektorski tok 100 mA, kar zadostuje za napajanje večine tipov 5 mm LED.

Upor R4 deluje kot omejevalnik toka za LED. Ko se bliskavica napaja pri 5 voltih in je padec napetosti na LED 1,8 volta, je tok, ki teče skozi LED, omejen na 47 mA.

Vhodna napetost ne sme presegati 5 voltov. Svetlobno vezje LED lahko deluje pri 3 voltih, vendar boste morali zmanjšati upornost upora R4. Pri izračunu upora R4 je treba upoštevati, da nekatere LED diode povzročijo padec napetosti do 3 volte, zlasti bela LED ter nekatere modre in zelene LED.

Trajanje impulza, interval in način stroboskopiranja lahko uporabnik izbere s premostitvenim blokom. Kot je navedeno zgoraj, vezje izvaja dva načina: enojne utripe in dvojne utripe (pavza med dvojnimi utripi je privzeto 175 ms).

Interval med serijami bliskov se meri od konca enega impulza skupine do začetka naslednje skupine.

Izbira načina delovanja LED strobe

Čas trajanja impulza, interval in dvojni način se konfigurirajo z urejanjem vrednosti v EEPROM-u mikrokrmilnika PIC12F629, preden utripajo njegovo vdelano programsko opremo. To naredi urejanje vrednosti veliko lažje, ker vam ni treba znova prevajati izvorne kode programa. Preprosto morate vnesti HEX v pomnilnik mikrokontrolerja.

Primeri spreminjanja vrednosti v pomnilniku mikrokontrolerja PIC12F629

Spreminjanje trajanja bliskavice. Recimo, da želite, da je trajanje bliskovnega impulza (namesto privzetih 30 ms) 40 ms. Nato se določi vrednost, ki jo je treba zapisati v EEPROM, kot sledi: 40 ms / 1 ms = 40. Zdaj pretvorimo 40 v šestnajstiško, dobimo 28, ki ga je treba zapisati na naslov 00 EEPROM.

Izračunajmo spremembo intervala med dvojnimi utripi za 0,2 sekunde (namesto privzeto 175 ms). Če želite to narediti, 200 ms / 1 ms = 200. S pretvorbo v šestnajstiški sistem dobimo C8, ki je zapisan na naslov 02.

Če želite spremeniti interval med serijo utripov na 1,3 sekunde (namesto privzete 1 sekunde), morate narediti naslednje: 1,3 sekunde / 100 ms = 13. Če pretvorimo v šestnajstiško obliko, dobimo 0D. To vrednost zapišemo v naslov 03 EEPROM.

Upoštevati je treba, da je 255 največja vrednost, ki jo je mogoče zapisati na en pomnilniški naslov.

Število iz decimalne v šestnajstiško (na primer število 40) najlažje pretvorimo tako, da v iskalnik google.com vpišemo: 40 v HEX. Dobimo odgovor: 0x28. Nastala predpona 0x nam preprosto pove, da je vrednost v šestnajstiški obliki.

V stroboskopskem vezju je mogoče uporabiti tako mikrokontrolerja PIC12F629 kot PIC12F675.

Modifikacija LED stroboskopskega vezja (Morsejeva abeceda - SOS)

To je spremenjena različica stroboskopa, ki sistemu Morsejeve kode omogoča organizacijo svetlobnega prenosa signala SOS. Dolžino pike lahko nastavite na eno od štirih obdobij, prilagodite pa lahko tudi čas med dvema zaporedjema 'SOS'.

Prišel je torej čas za študij mikrokrmilnikov in njihovo programiranje, nanje pa sem želel sestaviti tudi naprave, katerih vezij je zdaj na internetu na pretek. No, našli smo diagram, kupili kontroler, naložili firmware...in s čim naj ga flashamo??? In tu se radijski amater, ki začne obvladovati mikrokontrolerje, sooči z vprašanjem izbire programerja! Rad bi našel najboljšo možnost v smislu vsestranskosti - preprostosti vezja - zanesljivosti. Programatorji z blagovno znamko in njihovi analogi so bili takoj izključeni zaradi precej zapletenega vezja, ki vključuje iste mikrokontrolerje, ki jih je treba programirati. To pomeni, da se izkaže za "začaran krog": da bi naredili programerja, potrebujete programerja. Tako so se začela iskanja in poskusi! Na začetku je izbira padla na PIC JDM. Ta programator deluje prek vrat com in se napaja od tam. Ta možnost je bila preizkušena, samozavestno programirana 4 od 10 krmilnikov, z ločenim napajanjem se je stanje izboljšalo, vendar na nekaterih računalnikih sploh ni hotel storiti ničesar in ne zagotavlja zaščite pred "norcem". Nato smo proučevali programator Pony-Prog. Načeloma je skoraj enako kot programator "Pony-prog" je zelo preprosto vezje, ki se napaja iz com porta, zato se na forumih in v internetu zelo pogosto pojavljajo vprašanja o napakah pri programiranju. ali drug mikrokrmilnik. Kot rezultat, je bila izbira narejena na modelu "Extra-PIC". Pogledal sem diagram - zelo preprosto, kompetentno! Na vhodu je MAX 232, ki pretvarja signale serijskih vrat RS-232 v signale, primerne za uporabo v digitalnih vezjih z nivoji TTL ali CMOS, ne preobremenjuje COM vrat računalnika s tokom, saj uporablja standard delovanja RS232 in ne predstavljajo nevarnost za vrata COM. Tukaj je prvi plus!
Deluje z vsemi COM vrati, tako standardnimi (±12v; ±10v) kot tudi nestandardnimi COM vrati nekaterih modelov sodobnih prenosnikov, ki imajo zmanjšano signalno napetost do ±5v - še en plus! Podprto s priljubljenimi programi IC-PROG, PonyProg, WinPic 800 (WinPic800) in drugimi - tretji plus!
In vse to poganja lasten vir energije!
Odločeno je bilo - moramo zbrati! Tako smo v reviji Radio 2007 št. 8 našli spremenjeno različico tega programatorja. Omogočal je programiranje mikrokontrolerjev v dveh načinih.
Obstajata dva znana načina za preklop mikrokrmilnikov PICmicro v programski način:
1. Ko je napajalna napetost Vcc vključena, zvišajte napetost Vpp (na zatiču -MCLR) z nič na 12 V
2. Ko je napetost Vcc izklopljena, zvišajte napetost Vpp z nič na 12 V, nato vklopite napetost Vcc
Prvi način je namenjen predvsem napravam v zgodnjem razvoju; nalaga omejitve glede konfiguracije pina -MCLR, ki v tem primeru lahko služi le kot vhod za začetni namestitveni signal, številni mikrokrmilniki pa omogočajo pretvorbo tega pina v redna linija enega od pristanišč. To je še en plus tega programatorja. Njegov diagram je prikazan spodaj:

Večje
Vse je bilo sestavljeno na mizi in testirano. Vse deluje odlično in zanesljivo, nobenih napak ni opaziti!
Za tega programerja je bil narisan pečat.
depositfiles.com/files/mk49uejin
vse je bilo sestavljeno v odprtem ohišju, katerega fotografija je spodaj.




Povezovalni kabel je bil izdelan neodvisno iz kosa osemžilnega kabla in standardnih konektorjev Komov, ničelni modemi tukaj ne bodo delovali, takoj vas opozorim! Pri sestavljanju kabla bodite previdni, v prihodnosti se boste takoj znebili glavobolov. Dolžina kabla ne sme biti večja od enega in pol metra.
Fotografija kabla


Torej, programator je sestavljen, kabel je tudi sestavljen, čas je, da preverite vso to opremo za funkcionalnost, poiščete napake in napake.
Najprej namestimo program IC-prog, ki ga lahko prenesete s spletne strani razvijalca www.ic-prog.com Razpakirajte program v ločen imenik. Nastali imenik mora vsebovati tri datoteke:
icprog.exe - datoteka programske lupine.
icprog.sys je gonilnik, potreben za delovanje pod Windows NT, 2000, XP. Ta datoteka mora biti vedno v imeniku programa.
icprog.chm - datoteka pomoči.
Nameščeno, zdaj ga moramo konfigurirati.
Za to:
1. (Samo Windows XP): Desni klik na datoteko icprog.exe. “Lastnosti” >> zavihek “Združljivost” >> Potrdite polje za “Zaženi ta program v združljivem načinu za:” >> izberite “Windows 2000”.
2. Zaženite datoteko icprog.exe. Izberite »Nastavitve« >> »Možnosti« >> zavihek »Jezik« >> nastavite jezik na »Ruščina« in kliknite »V redu«.
Strinjam se z izjavo »Zdaj morate znova zagnati IC-Prog« (kliknite »V redu«). Programska lupina se bo znova zagnala.
Nastavitve" >> "Programer

1. Preverite nastavitve, izberite vrata COM, ki jih uporabljate, kliknite »V redu«.
2.Nato, »Nastavitve« >> »Možnosti« >> izberite zavihek »Splošno« >> označite element »Vklopljeno«. Gonilnik NT/2000/XP" >> Kliknite "V redu" >> če gonilnik še ni bil nameščen v vašem sistemu, kliknite "V redu" v oknu "Potrdi", ki se prikaže. Gonilnik bo nameščen in programska lupina se bo znova zagnala.
Opomba:
Za zelo "hitre" računalnike boste morda morali povečati parameter "I/O Latency". S povečanjem tega parametra se poveča zanesljivost programiranja, vendar se poveča tudi čas, porabljen za programiranje čipa.
3. »Nastavitve« >> »Možnosti« >> izberite zavihek »I2C« >> potrdite polja: »Omogoči MCLR kot VCC« in »Omogoči snemanje blokov«.
4. “Nastavitve” >> “Možnosti” >> izberite zavihek “Programiranje” >> počistite element: “Preveri po programiranju” in označite polje “Preveri med programiranjem”. Kliknite »V redu«.
Torej je pripravljeno!
Zdaj bi morali preizkusiti programator na mestu z IC-progom. In tukaj je vse preprosto:
Nato v programu IC-PROG v meniju poženite: Settings >> Programmer Test

Preden izvedete vsako točko metodologije testiranja, ne pozabite nastaviti vseh "polj" na prvotni položaj (vsa "potrditvena polja" so nepotrjena), kot je prikazano na zgornji sliki.
1. Označite polje »Vklopljeno«. Data Output", v tem primeru bi se morala v polju "Data Input" pojaviti "kljukica", raven dnevnika pa bi morala biti nastavljena na (DATA) kontaktu konektorja X2. “1” (vsaj +3,0 volta). Sedaj zaprite kontakt (DATA) in kontakt (GND) konektorja X2 drug z drugim in oznaka v polju »Vnos podatkov« mora izginiti, medtem ko so kontakti zaprti.
2. Ko označite polje »Vklopljeno«. Ura" na zatiču (CLOCK) konektorja X2 mora biti nastavljena raven dnevnika. "1". (vsaj +3,0 volta).
3. Ko označite polje »Vklopljeno«. Reset (MCLR)", na kontaktu (VPP) konektorja X3 mora biti nivo nastavljen na +13,0 ... +14,0 voltov, LED D4 (običajno rdeča) pa mora svetiti. Če je stikalo za način nastavljeno na položaju 1 bo zasvetila LED HL3
Če med testiranjem kateri koli signal ne preide skozi, natančno preverite celotno pot tega signala, vključno s priključnim kablom do vrat COM računalnika.
Testiranje podatkovnega kanala programatorja EXTRAPIC:
1. Pin 13 čipa DA1: napetost od -5 do -12 voltov. Pri preverjanju polja: od +5 do +12 voltov.
2. Pin 12 čipa Da1: napetost +5 voltov. Ob potrditvi polja: 0 voltov.
3. Pin 6 čipa DD1: napetost 0 voltov. Ob potrditvi polja: +5 voltov.
3. 1 in 2 zatiča mikrovezja DD1: napetost 0 voltov. Ob potrditvi polja: +5 voltov.
4. Pin 3 čipa DD1: napetost +5 voltov. Ob potrditvi polja: 0 voltov.
5. Pin 14 čipa DA1: napetost od -5 do -12 voltov. Pri preverjanju polja: od +5 do +12 voltov.
Če so bila vsa testiranja uspešna, je programator pripravljen za uporabo.
Za povezavo mikrokrmilnika s programatorjem lahko uporabite ustrezne vtičnice ali naredite adapter na osnovi vtičnice ZIF (z ničelno silo pritiska), na primer tukaj radiokot.ru/circuit/digital/pcmod/18/.
Sedaj pa nekaj besed o ICSP - In-Circuit Programming
PIC krmilniki.
Pri uporabi ICSP na plošči naprave je potrebno zagotoviti možnost priključitve programatorja. Pri programiranju z uporabo ICSP mora biti na programator priključenih 5 signalnih linij:
1. GND (VSS) - skupna žica.
2. VDD (VCC) - plus napajalna napetost
3. MCLR" (VPP) - vhod za ponastavitev mikrokontrolerja / vhod za programiranje napetosti
4. RB7 (DATA) - dvosmerno podatkovno vodilo v programskem načinu
5. RB6 (URA) Sinhronizacijski vhod v načinu programiranja
Preostali zatiči mikrokrmilnika se ne uporabljajo v načinu programiranja v vezju.
Možnost povezave ICSP z mikrokontrolerjem PIC16F84 v ohišju DIP18:

1. "Linija MCLR" je ločena od vezja naprave z mostičkom J2, ki se odpre v načinu programiranja v vezju (ICSP) in prenese pin MCLR v izključni nadzor programatorja.
2. Linija VDD v načinu programiranja ICSP je odklopljena od vezja naprave z mostičkom J1. To je potrebno, da se izognete porabi toka iz linije VDD v vezju naprave.
3. Linija RB7 (dvosmerno podatkovno vodilo v načinu programiranja) je tokovno izolirana od vezja naprave z uporom R1 z nazivno vrednostjo najmanj 1 kOhm. V zvezi s tem bo največji vhodni/izstopni tok, ki ga zagotavlja ta linija, omejen z uporom R1. Če je treba zagotoviti največji tok, je treba upor R1 zamenjati (kot v primeru VDD) z mostičkom.
4. Linija RB6 (PIC sinhronizacijski vhod v načinu za programiranje) je tako kot RB7 tokovno izolirana od vezja naprave z uporom R2, nazivnim najmanj 1 kOhm. V zvezi s tem bo največji dovodni/odvodni tok, ki ga zagotavlja ta linija, omejen z uporom R2. Če je treba zagotoviti največji tok, je treba upor R2 zamenjati (kot v primeru VDD) z mostičkom.
Lokacije pinov ICSP za krmilnike PIC:


Ta diagram je samo za referenco, bolje je preveriti zaključke programiranja iz podatkovnega lista mikrokrmilnika.
Zdaj pa si oglejmo strojno programsko opremo mikrokrmilnika v programu IC-prog. Primer oblikovanja si bomo ogledali tukaj rgb73.mylivepage.ru/wiki/1952/579
Tukaj je diagram naprave


tukaj je firmware
Utripamo krmilnik PIC12F629. Ta mikrokrmilnik za svoje delovanje uporablja osccal konstanto - to je heksadecimalna kalibracijska vrednost notranjega MC generatorja, s pomočjo katere MC ob izvajanju svojih programov sporoča čas, ki je zapisan v zadnji celici s podatki o temenih. Ta mikrokontroler povežemo s programatorjem.
Spodnji posnetek zaslona z rdečimi številkami prikazuje zaporedje dejanj v programu IC-prog.


1. Izberite vrsto mikrokontrolerja
2. Pritisnite gumb "Preberi mikrovezje".
V oknu »Programska koda« bo v zadnji celici naša konstanta za ta krmilnik. Vsak krmilnik ima svojo konstanto ! Ne izbrišite ga, zapišite ga na list papirja in ga prilepite na mikrovezje!
Gremo naprej


3. Kliknite gumb »Odpri datoteko ...« in izberite našo vdelano programsko opremo. Koda vdelane programske opreme se prikaže v oknu programske kode.
4. Spustimo se do konca kode, z desno miškino tipko kliknemo na zadnjo celico in v meniju izberemo »območje urejanja«, v polje »Šestnajstiško« vnesemo vrednost konstante, ki smo jo zapisali, in kliknemo »V redu«. ”.
5. Kliknite »programiraj mikrovezje«.
Postopek programiranja se bo začel; če je bilo vse uspešno, bo program prikazal ustrezno obvestilo.
Čip vzamemo iz programatorja in ga vstavimo v sestavljeno mizo. Vklopite napajanje. Pritisnite gumb za zagon. Hura, deluje! Tukaj je videoposnetek delovanja bliskavice
video.mail.ru/mail/vanek_rabota/_myvideo/1.html
To je urejeno. Toda kaj naj storimo, če imamo datoteko z izvorno kodo v asemblerju asm, vendar potrebujemo datoteko hex firmware? Tukaj je potreben prevajalnik. in obstaja - to je Mplab, v tem programu lahko napišete firmware in ga prevedete. Tukaj je okno prevajalnika


Namestitev Mplab
Program MPASMWIN.exe najdemo v nameščenem Mplabu, običajno se nahaja v mapi - Microchip - MPASM Suite - MPASMWIN.exe
Zaženimo ga. V oknu (4) Browse najdemo našo izvorno kodo (1).asm, v oknu (5) Processor izberemo naš mikrokrmilnik, kliknemo Assemble in v isti mapi, kjer ste navedli izvorno kodo, se bo prikazala vaša vdelana programska oprema. HEX To je vse pripravljeno!
Upam, da bo ta članek pomagal začetnikom pri obvladovanju krmilnikov PIC! Vso srečo!

To je tradicionalno eden prvih projektov na področju programiranja krmilnikov, analog najpreprostejšega tranzistorskega multivibratorja, le bolj zanimiv. To je dober preizkus vašega razvojnega okolja, vključno s programatorjem PIC, vezjem, kvarcem in samim MCU. Na podlagi te naprave lahko naredite celo nekakšen tester krmilnika.

MK utripajoče vezje

Naprava povzroči, da lučka LED utripa v približno 1-sekundnih intervalih. Shema je zelo preprosta. Poleg standardnih elementov, ki so skupni vsaki napravi, ki vključuje PIC16F84A, obstajata le dva dodatna elementa: LED in tokovno omejevalni upor 220 Ohmov. Vezje je bilo testirano na testni plošči. Tukaj je uporabljen eden od segmentov 10-smernega sklopa LED.

Kot je razvidno iz diagrama, je LED priključena na vrata rb1 16F84A. Če ta vrata oddajajo logično 1 (približno +5 V), LED sveti. V nasprotnem primeru je izklopljen. Če želite, da lučka LED utripa, jo morate občasno vključiti na ta vrata. To dosežemo s preprostim programom, ki je lahko

Mikrokontrolerji PIC imajo harvardsko arhitekturo in jih proizvaja Microchip Technology Inc. Ime PIC je okrajšava za angleško besedno zvezo peripheral interface controllers – prevedeno v veliki in mogočni “peripheral interface controllers”. Krmilniki PIC pod blagovno znamko Microchip proizvajajo 8-, 16- in 32-bitne mikrokontrolerje ter krmilnike digitalnih signalov DSC. Mikrokrmilniki PIC imajo naslednje pomembne prednosti: dobro kontinuiteto različnih družin: popolna združljivost programske opreme in skupna razvojna orodja, vključno z brezplačnim MPLAB IDE, skupnimi knjižnicami, skupnimi nizi priljubljenih prenosnih protokolov, združljivostjo perifernih naprav, pinov in napajalnih napetosti. Paleta krmilnikov vključuje več kot 500 različnih tipov z vsemi vrstami perifernih možnosti, različnimi velikostmi pomnilnika, zmogljivostjo, številom pinov, razponi napajalne napetosti, delovnimi temperaturami itd.


Razmislimo o najpreprostejšem krmilniku serije PIC PIC16C84 ali PIC16F84.

Prisotnost pomnilnika FLASH vam omogoča, da ga ponovno programirate v nekaj sekundah. Število ciklov prepisovanja mikrokontrolerja je 1000. Od njegovih 18 pinov jih je 13 mogoče uporabiti kot vhodno-izhodne bite za splošno uporabo. Ko so priključeni na izhod, omogočajo tok logične ene stopnje do 20mA in tok logične ničle do 25mA (več kot zadostuje za priklop npr. LED). To omogoča razvoj enostavnih in poceni elektronskih naprav na tem krmilniku in je idealen kandidat za tiste, ki se želijo naučiti in razumeti principe dela z mikrokontrolerjem PIC. Pinout 8-bitnih mikrokontrolerjev je prikazan spodaj:


Nožici RA* in RB* sta vhod in izhod, povezana z registroma krmilnika PORTA oziroma PORTB (pin RA4 se lahko uporablja kot notranji vhod časovnika, RB0 pa kot vir prekinitve). VDD in VSS - napajanje (+Up in GND). Serija mikrokontrolerjev 16x84 deluje v širokem razponu napetosti, vendar je običajno VSS priključen na 0 V, VDD pa na +5 V. Glavni zatič za ponastavitev /MCLR je običajno povezan z VDD (neposredno ali prek upora), saj MCU vsebuje zanesljivo vezje za ponastavitev, ko je priključena napajalna napetost. Zatiča OSC1 in OSC2 sta povezana z generatorjem takta in ju je mogoče konfigurirati za različne vrste takta, vključno z načinoma resonatorja in RC oscilatorja. Preprosto vezje s krmilnikom PIC 16C84 je prikazano na spodnji sliki:


Vezje ima poleg mikrovezja samo RC oscilator in en pin RB4 je povezan z LED. Priložen je neverjetno kratek (6 besed) program za MPASM v asemblerju - utripajoča LED.

Vnesite to kodo v kateri koli urejevalnik besedil, jo shranite s pripono ASM (LIGHTS.ASM), nato pa jo sestavite s programom MPASM (uporabite ukaz "MPASM LIGHTS.ASM"), da dobite HEX datoteko, ki jo lahko naložite v mikrokrmilnik. z uporabo programatorja.

Ko je tokokrog napajan, bo LED utripala.

Vse, kar morate vedeti o mikrokontrolerju PIC16F628A, da na njem uspešno sestavite radijske amaterske zasnove, veliko referenčne dokumentacije in zanimivih vezij.

Tako smo se odločili in se odločili, da sestavimo naš prvi domači izdelek na mikrokontrolerju, ostalo je le še razumeti, kako ga programirati. Zato bomo potrebovali programator PIC, njegovo vezje pa lahko sestavite sami; poglejmo nekaj preprostih modelov kot primer.

To lastniško in brezplačno orodje je odlično okolje za razvoj in odpravljanje napak za vse mikrokontrolerje PIC, ki jih proizvaja Microchip Technology. MPLAB je sestavljen iz ločenih aplikacij, ki so med seboj povezane in je sestavljen iz prevajalnika zbirnega jezika, urejevalnika besedila, simulatorja vdelane programske opreme krmilnika, poleg tega pa lahko uporabite prevajalnik s SI.

Avtor Tavernier K. je predstavil tehnične informacije o orodjih za razvoj programske opreme na osnovi mikrokontrolerjev PIC. Aplikacije vsebujejo zbirko veznih in programskih rešitev na PIC mikrokontrolerjih, implementirani so standardni vmesniki. Knjiga vsebuje veliko primerov programske implementacije najrazličnejših funkcij: organizacija prekinitev, razširjene aritmetične rutine, aritmetika s plavajočo vejico itd. Za utrditev teorije v praksi so podane preproste naprave, vključno z budilko in večkanalnim digitalnim voltmetrom.

Napajanje in taktiranje mikrokontrolerjev PIC
Razvoj aplikacij. Kateri mikrokrmilnik izbrati?
Načrti vezij vmesnika mikrokrmilnika
Krmiljenje LED in optičnih sklopnikov, relejev, digitalnih indikatorjev, ADC
Interakcija s perifernimi napravami prek serijskega vmesnika
Množenje 8-bitnih števil brez predznaka
Predznačeno in nepredznačeno množenje 16-bitnih števil
Deljenje, seštevanje in odštevanje 16-bitnih števil
Operacije s plavajočo vejico
Pretvorba BCD v dvojiško
Pripravljene rešitve vezja: budilka, izvedba vmesnika i2ts, voltmeter z LED indikacijo
Krmiljenje koračnega motorja

Kaj je mikrokrmilnik in kako deluje
Sistem ukazov PIC16F84A
Kaj je program in pravila za njegovo pripravo. Primer izdelave programa za samonihajni multivibrator. direktive.
Integrirano oblikovalsko okolje MPLAB IDE in delo v njem
Primer izdelave programa
Delo v simulatorju. Odpravljanje napak v programu
Primer razvoja programa s prekinitvami
Organiziranje izračunanega prehoda.
Delo s podatkovnim pomnilnikom EEPROM
Kako deluje digitalni primerjalnik?
Ciklični premik. Operacija množenja
Uvod v princip konstruiranja podprograma dinamičnega prikaza. Posredno naslavljanje
Pretvarjanje binarnih števil v BCD. Končno oblikovanje besedila podprograma dinamičnega prikaza
Načelo štetja. Delo s časovnikom TMR0. Načelo namestitve skupin ukazov za štetje v programsko besedilo

Vse štiri knjige, poleg tega so v arhiv dodani vsi viri opisanih programov in druge dodatne referenčne informacije. V arhivu boste našli tudi izvorne kode programov in vdelano programsko opremo krmilnika. Referenčni materiali za vse mikrokontrolerje, obravnavane v vseh štirih knjigah (PIC12c67x PIC16c432 PIC16c433 PIC16c505 PIC16c54_58 PIC16c554_558 PIC16c620_622 PIC16c623_625 PIC16c62B_72A PIC16c63a_65b_73 b_74b PIC16c64x_66x PIC16c6x PIC16c717_77x PIC16C71xx PIC16c72 PIC16c72_77 PIC16c745_765 PIC16c77x PIC16c781_782 PIC16c92x PIC16F630_676 PIC16f7x 6f 84a PIC16f85_86 PIC16F87xA PIC16hv540 PIC16Lc74b PIC17c4x PIC17c752_756 PIC17c7xx PIC17LC752P16 PIC18c601_801 PIC18cXX8)
Uvod v vmesnik CAN 2.0
CAN modul v mikrokontrolerjih PIC
Programska izvedba vmesnika I2C in kratek pregled le-tega
KeeLoq čipi s tehnologijo skokovite kode
Universal Serial Bus USB in PIC mikrokontrolerji in programska oprema za delo z USB
X-bitni moduli ADC v mikrokontrolerjih PIC
Priporočila za delo z ADC v mikrokontrolerjih PIC
Kot tudi programsko opremo za programiranje mikrokontrolerjev PIC IC-Prog in PonyProg2000, opisanih v knjigah

Razvijalci se odpravljanja napak lotevajo drugače. Nekateri verjamejo, da je dovolj skrbno analizirati izvorno kodo programa, preveriti nastanek signalov na zatičih MK in vse napake je mogoče popraviti. Drugi uporabljajo nabore posebnih podprogramov, ki se kličejo na kontrolnih točkah in na določen način zagotavljajo informacije o stanju virov MK (na primer z izhodom v indikator ali serijski komunikacijski kanal). Mimogrede, na tem temelji tehnologija ICD (In-Circuit Debugger), ki je implementirana v nekaterih MK Motorola in Microchip. Toda s katero koli od zgornjih metod odpravljanja napak se pojavi ena pomembna težava - potreba po ponovnem programiranju MK po izvedbi celo manjših sprememb v programu. Ta problem je še posebej pomemben za mikrokontrolerje, ki jih je mogoče enkrat programirati. Res je, da je v slednjem primeru mogoče odpravljanje napak izvesti, recimo, na MK s pomnilnikom FLASH, vendar je čas, porabljen za programiranje, precej velik in včasih doseže nekaj minut. Poleg tega je treba MK praviloma odstraniti iz vezja, ki ga odpravljajo napake, povezati s programatorjem in nato vstaviti nazaj. Razliko občutijo predvsem tisti, ki so imeli opravka s PC programiranjem. Na primer, pri programiranju v okolju Borland C++ 3.1 (BC++) za zagon programa, v katerem se odpravljajo napake, preprosto pritisnite kombinacijo tipk Ctrl+F9 in po nekaj sekundah bo že deloval (razen če seveda vsebuje napake) . Podoben rezultat bi rad dobil pri pisanju krmilnih programov MK. In to je mogoče zaradi uporabe VSE, ki je programsko in strojno orodje, ki lahko nadomesti emulirani mikrokrmilnik v pravi napravi, na katero je povezan s kablom s posebno emulacijsko glavo. Uporaba takega emulatorja se ne razlikuje od uporabe pravega MK, le da se spremenjeni program skoraj v trenutku znova naloži v VSE.

1. predavanje - uvod

Microchip je že dolgo poznan domačim inženirjem elektronike zaradi svoje razširjene linije poceni 8-bitnih mikrokrmilnikov, ki so našli široko uporabo v različnih termostatskih napravah, majhnih napravah za avtomatizacijo, senzorjih itd. Da bi bil v koraku s svojimi glavnimi konkurenti, je Microchip leta 2007 elektronskemu svetu predstavil svoje nove 32-bitne mikrokontrolerje družine PIC32.

Linija PIC32MX ima ogromno naprav od PIC32MX1** do PIC32MX7** z različnimi količinami pomnilnika (od 16 KB flash in 4096 bajtov RAM-a do 512 KB flash in 131 KB RAM-a), perifernimi zmogljivostmi in dizajnom paketov. Na splošno obstajajo modeli za skoraj vsako uporabo.

Celotno različico predavanja z opisom tipične MK povezave in primerom njenega programiranja najdete tukaj:

2. predavanje - Mikrokrmilniki družine PIC32. Delo s časovniki.

S pomočjo časovnikov izvajajo štetje časa, organizirajo prekinitve, generirajo signale s širinsko modulacijo impulzov itd. V krmilnikih PIC-32 sta dve vrsti časovnikov - časovniki A (pravzaprav se zdi kot eden - TMR1) in časovniki tipa B (TMR2, TMR3, TMR4, TMR5). Vsi časovniki so 16-bitni, taktirani iz zunanjega ali notranjega vira in povzročajo prekinitve.

3. predavanje - Mikrokrmilniki PIC32 - prekinitve. To je vsak zunanji ali notranji dogodek, ki zahteva, da se krmilnik nanj takoj odzove. V tem primeru je izvajanje trenutne programske kode začasno zaključeno, MK shrani vrednosti servisnih registrov in vstopi v upravljalnik prekinitev, nato obdela to prekinitev in po izhodu iz nje obnovi servisne registre in se ponovno vrne v mesto, kjer se izvaja koda.

MCU-ji serije Microchip PIC16 so sposobni izvajati preproste aritmetične ukaze z 8-bitnimi operandi, saj je njihovo jedro samo 8-bitno. Toda nekateri projekti zahtevajo veliko več računalniških virov, zato bo v takih trenutkih uporaba posebne knjižnice aritmetičnih operacij prišla prav. Knjižnica, ki je predstavljena na zgornji povezavi, vam bo omogočila množenje, deljenje, odštevanje in seštevanje 16-bitnih števil, pretvarjanje števil v različne oblike, preverjanje paritete, kvadriranje števila in še kup drugih tehničnih uporabnih malenkosti.

1 diagram
Za ponovitev vam ponujam shematski diagram svetlobnih učinkov, izdelanih na osnovi priljubljenega mikrokontrolerja Pic12f629. Vezje ima 15 različnih svetlobnih učinkov, vključno z učinkom, ki simulira policijski utripajoči signal. Za povečavo kliknite na sliko.

To vezje je zelo enostavno sestaviti in ne zahteva prilagajanja. Ko pritisnete " Začetek"Aktiviran je samodejni način predvajanja.


Način samodejnega predvajanja je, ko se vsi svetlobni učinki predvajajo enega za drugim. Če želite ustaviti predvajanje učinkov, znova pritisnite gumb "Start".


Ko pritisnete gumbe " Naprej" ali " Nazaj"Ko je predvajanje ustavljeno, se bo prvi učinek vklopil in deloval neprekinjeno.


Za preklop učinka pritisnite gumb " Nazaj" - za prehod na prejšnji svetlobni učinek, " Naprej" - za pomik na naslednjega.


Naprava je sestavljena na tiskanem vezju, risba in firmware za krmilnik sta v arhivu. Plošča vsebuje tudi preprost 5V stabilizator za napajanje krmilnika (ni prikazan na diagramu). Ohišje je majhna plastična škatlica. Same LED diode izberemo poljubne vrste in barve, primerne za napetost in tok. Imamo jih v kakršni koli obliki - tukaj uporabite svojo domišljijo. In če morate narediti učinke za diskoteko na podlagi te naprave, preprosto ojačamo izhode mikrokrmilnika z zmogljivimi tranzistorji z učinkom polja tipa IRF. Avtor zasnove: Pelekh.M
2. del
Ta članek ponuja 2 vezji z efektom LED na mikrokontrolerjih PIC in AVR.

1) PIC12F629

Obstajajo 4 funkcije:

* NAČIN Chaser
*Zavorni NAČIN
*Način zasledovanja/zaviranja
* IZKLOP

Načini se preklapljajo z zaporednim pritiskom na gumb.

2) Attiny2313

LED girlanda na osnovi mikrokontrolerja ATtiny231320PI

Ta projekt LED girlande na mikrokrmilniku je zelo primeren za začetnike. Vezje se odlikuje po preprostosti in vsebuje najmanj elementov.

Ta naprava krmili 13 LED diod, povezanih z vrati mikrokrmilnika. Kot mikrokontroler je uporabljen mikrokrmilnik ATtiny231320PI. Zahvaljujoč uporabi notranjega oscilatorja se pina 4 in 5 uporabljata kot dodatna vrata mikrokrmilnika PA0, PA1. Vezje zagotavlja izvajanje 12 programov učinkov, od katerih je 11 posameznih kombinacij, 12. program pa je zaporedno enkratno ponavljanje prejšnjih učinkov. Preklop na drug program izvedemo s pritiskom na tipko SB1. Programi učinkov vključujejo zagon enojnega ognja, povečanje ognja, zagon sence in še veliko več.

Naprava ima možnost prilagajanja hitrosti spreminjanja kombinacij pri izvajanju programa, ki se izvaja s pritiskom na tipki: SB2 - povečanje hitrosti in SB3 - zmanjšanje hitrosti, pod pogojem, da je stikalo SA1 v položaju "Programska hitrost". možna je tudi nastavitev frekvence LED osvetlitve (od stabiliziranega sijaja do utripanja svetlobe), ki se izvaja s pritiskom na tipki: SB2 - znižanje (do utripanja) in SB3 - povečanje, pod pogojem, da je stikalo SA1 v "Flicker" položaj frekvence. Pri stikalu SA2 zaprt položaj ustreza načinu prilagajanja hitrosti izvajanja programa, odprt položaj pa načinu prilagajanja frekvence LED osvetlitve.
Vrstni red oštevilčevanja LED v vezju ustreza njihovemu vrstnemu redu osvetlitve med izvajanjem programa. Po potrebi lahko za ponastavitev uporabite pin RESET, vendar se ne uporablja kot vrata PA2. Pri programiranju je naprava izbrala taktno frekvenco 8 MHz iz notranjega oscilatorja (varovalke CKSEL3..0 - 0100), čeprav je možno uporabiti frekvenco 4 MHz (varovalke CKSEL3..0 - 0010) z ustreznimi spremembami v. časovne intervale vezja.
V prototipu je bil uporabljen tip LED diod z napajalno napetostjo 2-3 voltov; za nastavitev svetlosti LED diod je mogoče uporabiti upore R1-R17.