Contacte

Principiul funcționării unui baliză intermitentă cu un pic de microcontroler. Cea mai simplă schemă de pe microcontroler. Exemple de schimbare a valorilor în memoria microcontrolerului PIC12F629

Deci, este timpul să studiem microcontrolerele și apoi să le programați, precum și am vrut să colectez dispozitive pe ele, ale căror scheme sunt acum online, bine, doar la mare. Ei bine, a găsit schema, a cumpărat controlerul, a descărcat firmware-ul .... și la Gem Ce ??? Și aici, în fața unui radio amator, începând să stăpânească microcontrolere, apare întrebarea - alegerea programatorului! Aș vrea să găsesc optiune optimă, în ceea ce privește versatilitatea - simplitatea sistemului - fiabilitate. Programatorii "brandați" și analogii lor au fost imediat excluși din cauza destul de frumoasă schema complexăcare include aceleași microcontrolere care trebuie programate. Adică, se pare că este nevoie de un programator, este necesar un programator. Așa că a început să caute și experimente! La început, alegerea a căzut pe PIC JDM. Acest programator lucrează din portul COM și se hrănește de acolo. Această opțiune a fost testată, programată cu încredere a 4 din 10 controlori, în timp ce nutriția a îmbunătățit situația, dar nu prea mult, pe unele computere, el a refuzat, în general, să facă și protecția împotriva "nebunului" în ea nu este furnizată. Apoi a fost studiat programul Pony-Prog. În principiu, aproape la fel ca JDM. Programatorul "Pony-Prog" reprezintă o schemă foarte simplă, cu mese de pe un computer computer, în legătură cu care, pe forumuri, pe Internet, întrebările sunt foarte des pe defecțiuni în programare sau în alt microcontroler. Ca rezultat, alegerea a fost oprită pe modelul extra-PIC. M-am uitat la schemă - foarte simplu, competent! Intrarea este max 232 Transformarea semnalelor de port serial RS-232 la semnale potrivite pentru utilizare în circuite digitale Cu nivelele TTL sau CMOS, computerul nu suprapune portul COM, deoarece utilizează standardul de operare RS232, acesta nu reprezintă pericole pentru portul COM. Primul plus!
Este operațional cu orice port COM, ca standard (± 12V; ± 10V) și cu porturi necontrolate ale unor modele de laptopuri moderne care au tensiuni reduse ale liniilor de semnal, până la ± 5V - mai mult plus! Suport de programe comune IC-PROG, Ponyprog, WinPic 800 (WinPic800) și altele - Al treilea plus!
Și mănâncă totul de la propria sursă de energie!
A fost decisă - trebuie să colectați! Deci, versiunea finală a acestui programmer a fost găsită în Radio 2007 nr. 8. El a permis să programeze microcontrolere în două moduri.
Două moduri de a traduce microcontrolerele Picmicro în modul de programare sunt cunoscute:
1. Inclusiv tensiune de alimentare VCC pentru a ridica tensiunea VPP (pe -MCR) de la zero la 12V
2. Tensiunea VCC este oprită pentru a ridica tensiunea VPP de la zero la 12V, apoi porniți tensiunea Vcc
Primul mod este în principal pentru instrumentele evoluțiilor timpurii, impune restricții privind configurarea rezultatelor -MCLR, care, în acest caz, poate servi numai în intrarea semnalului instalare inițialăȘi în multe microcontrolere există o oportunitate de a transforma această ieșire într-o linie normală a unuia dintre porturi. Acesta este un alt plus al acestui programator. Schema este prezentată mai jos:

Mai mare
Totul a fost colectat pe laypete și testat. Totul este perfect și stabil, glitches nu au fost observate!
Speaker a fost desenat pentru acest programator.
depozitFiles.com/files/mk49Uejin.
Totul a fost colectat în cazul deschis, a căror fotografie este mai mică.




Cablul de conectare a fost făcut independent de segmentul unui cablu opt și timpuri comedian standard, nici un modem zero nu se va ascunde, te avertizez imediat! Anunțul de cablu trebuie luat cu atenție, imediat scapa de dureri de cap în viitor. Lungimea cablului nu trebuie să fie mai mare de o jumătate de metri.
Fotografie de cablu.


Deci, programatorul este asamblat, și cablul a ajuns la o schimbare de verificare a acestei economii pentru performanță, căutați glitches și erori.
La început, instalăm programul IC-PROG, care poate fi descărcat pe site-ul dezvoltatorului www.ic-prog.com, despachetați programul într-un director separat. În formare, catedrala trebuie să fie trei fișiere:
ICProg.exe - Fișierul Shell programator.
ICProg.sys - Driverul necesar pentru Windows NT, 2000, XP. Acest fișier trebuie să fie întotdeauna în directorul de programe.
Icprog.chm - Fișier de ajutor (fișier de ajutor).
Instalat, acum ar fi necesar să îl configurați.
Pentru aceasta:
1. (Numai Windows XP): Faceți clic dreapta pe fișierul icprog.exe. "Proprietăți" \u003e\u003e fila "Compatibilitate" \u003e\u003e Instalați "bifați" pentru a "executa programul în modul de compatibilitate cu:" \u003e\u003e Selectați "Windows 2000".
2. Despre fișierul icprog.exe. Selectați "Setări" \u003e\u003e "Opțiuni" \u003e\u003e Top "Language" \u003e\u003e Instalați limba "Rusă" și faceți clic pe OK.
Sunt de acord cu aprobarea "Trebuie să reporniți IC-PROG acum" (faceți clic pe OK). Cilindrul programator repornește.
Setări "\u003e\u003e" programator

1. Verificați setările, selectați portul COM pe care îl utilizați, faceți clic pe OK.
2. Dealer, "Setări" \u003e\u003e "Opțiuni" \u003e\u003e Selectați fila General \u003e\u003e Setați "bifați" pe punctul "ON. Driver NT / 2000 / XP "\u003e\u003e Faceți clic pe" OK "\u003e\u003e Dacă șoferul nu a fost anterior donat în sistemul dvs., în fereastra" Confirmare "care apare, faceți clic pe" OK ". Șoferul va fi instalat, iar shell-ul programator repornește.
Notă:
Pentru computerele foarte "rapide", este posibilă creșterea parametrului "I / O Întârziere". Creșterea acestui parametru mărește fiabilitatea programării, totuși, timpul și timpul petrecut pe programarea cipului.
3. »Setări" \u003e\u003e "Opțiuni" \u003e\u003e Selectați fila "i2c" \u003e\u003e Setați "TICKS" pe elementele: "Activați Mclr ca VCC" și "Activați înregistrarea blocului". Faceți clic pe OK.
4. "Setări" \u003e\u003e "Opțiuni" \u003e\u003e Selectați fila "Programare" \u003e\u003e Scoateți "bifați" din element: "Verificați după programare" și setați "bifați" la elementul "Programare Check". Faceți clic pe OK.
Deci, înființat!
Acum vom testa programul în loc cu IC-PROG. Și apoi totul este simplu:
Apoi, în programul IC-PROG, în meniu, executați: Setări \u003e\u003e Test de programator

Înainte de a efectua fiecare element al metodei de testare, nu uitați să setați toate "câmpurile" la poziția inițială (toate casetele de selectare "sunt îndepărtate), așa cum se arată în figura de mai sus.
1. Instalați "bifați" în "ON Ieșire de date ", în același timp, câmpul" Tick "ar trebui să apară în câmpul" login ", iar contactul (datele)) trebuie instalat. "1" (cel puțin +3,0 volți). Acum, contact mai strâns (date) și conector de contact (GND) X2, în timp ce marcajul din câmpul "Input de date" trebuie să dispară în timp ce contactele sunt închise.
2. Când instalați "Discuție" în "ON Tactarea ", pe contact (ceasul) conectorului X2, trebuie instalat nivelul jurnalului. "unu". (cel puțin +3,0 volți).
3. Instalați setarea "bifați" în "ON Resetați (MclR) ", la conectorul de contact (VPP) x3, trebuie instalat nivelul de + 13,0 ... +14,0 volt și LED-ul D4 (de obicei roșu) este aprins. Dacă comutatorul de mod este pus în poziția 1, LED-ul HL3 va fi aprins.
Dacă în timpul încercării, orice semnal nu trece, trebuie să verificați cu atenție întreaga cale a trecerii acestui semnal, inclusiv cablul de conectare cu portul COM Computer.
Testarea Extrapicului canalului de date al canalului:
1. 13 Ieșire de cip DA1: tensiune de la -5 la -12 volți. Când instalați "bifați": de la + 5 până la +12 volți.
2. 12 Ieșire de cip DA1: Tensiune +5 volți. Când instalați "bifați": 0 volți.
3. 6 ieșire de cip DD1: tensiune 0 volți. Când instalați "bifați": +5 volți.
3. 1 și 2 ieșire de cip DD1: tensiune 0 volt. Când instalați "bifați": +5 volți.
4. 3 ieșire de cip DD1: tensiune +5 volți. Când instalați "bifați": 0 volți.
5. 14 Ieșire cip DA1: Tensiune de la -5 la -12 volți. Când instalați "bifați": de la + 5 până la +12 volți.
Dacă toate testele au trecut cu succes, programatorul este gata de funcționare.
Pentru a conecta un microcontroler la programator, puteți utiliza panouri adecvate sau puteți efectua un adaptor bazat pe panouri ZIF (cu forță de conectare zero), de exemplu, ca radiokot.ru/circuit/digital/pcmod/18/.
Acum câteva cuvinte despre programarea ICS - Intrahehemal
Controlere pic.
Când utilizați ICSP pe bordul dispozitivului, trebuie să aveți grijă de programator. Când programarea utilizând ICSP, 5 linii de semnal trebuie conectate la programator:
1. Sârmă partajată GND (VSS).
2. Tensiune de alimentare VDD (VCC) - plus
3. Mclr "(VPP) - Microcontroler Resetare / programare Intrare tensiune
4. RB7 (date) - autobuz de date bidirecționale în modul de programare
5. RB6 (Ceas) Sincronizare Autentificare Programare
Concluziile rămase ale microcontrolerului nu sunt utilizate în modul de programare intraemid.
Opțiunea de conectare a ICSP la microcontrolerul PIC16F84 în carcasa DIP18:

1. Cazul Mclr este dezlănțuit din diagrama dispozitivului J2Per J2, care se deschide în modul de programare intrahehemal (ICSP), trecând ieșirea Mclr către programul de monopol.
2. VDD în modul de programare ICSP este deconectat de la diagrama dispozitivului J1 J1PER. Acest lucru este necesar pentru a elimina consumul curent din linia VDD a dispozitivului.
3. RB7 (autobuzul de date bidirecțională în modul de programare) este izolat de curentul de la diagrama dispozitivului rezistor R1 cu o valoare par a cel puțin 1 COM. În acest sens, curentul maxim de curgere / curge furnizat de această linie va fi limitat la rezistorul R1. Dacă este necesar, asigurați-vă curent maxim, rezistorul R1 trebuie înlocuit (ca în cazul VDD) cu un jumper.
4. Declinul RB6 (sincronizarea PIC în modul de programare), precum și RB7 este introdus la curent de la diagrama dispozitivului R2, o valoare par a cel puțin 1 COM. În acest sens, curentul maxim de curgere / curge furnizat de această linie va fi limitat la rezistorul R2. Dacă este necesar, asigurați-vă curent maxim, rezistența R2 trebuie înlocuită (ca în cazul VDD) cu un jumper.
Localizarea ieșirilor ICSP în controlorii PIC:


Această schemă este doar pentru referință, concluziile de programare sunt mai bune pentru a clarifica de la datashet la microcontroler.
Acum, luați în considerare firmware-ul microcontrolerului în programul IC-PROG. Vom lua în considerare în exemplul designului de aici de aici RGB73.mylivepage.ru/wiki/1952/579
Iată o schemă de dispozitiv


Iată firmware-ul
Flash controlerul PIC12F629. Acest microcontroler utilizează o constantă OSCCAL - reprezintă o valoare de calibrare de tip cu 16 tip a generatorului MK intern, cu care se raportează MK atunci când execută programele care sunt înregistrate în ultima celulă a datelor de vârf. Conectăm acest microcontroler la programator.
Mai jos pe țipătul cu numere roșii prezintă o secvență de acțiuni în programul IC-PROG.


1. Selectați tipul de microcontroler
2. Apăsați butonul "Contact Chip"
În fereastra "Cod program" din cea mai recentă celulă va fi constanta noastră acest controler. Pentru fiecare controlor constant propriu ! Nu-l ștergeți, scrieți pe o bucată de hârtie și obțineți-o pe cip!
Mergem mai departe


3. Faceți clic pe butonul "Deschideți fișierul ...", selectați firmware-ul nostru. La fereastră cod software. Apare codul firmware.
4. Mergeți până la sfârșitul codului, în ultima celulă Faceți clic pe butonul din dreapta al mouse-ului și selectați câmpul "Hex" din câmpul "Hex", introduceți valoarea constantă, care este scrisă, faceți clic pe "OK".
5. Faceți clic pe "Programați cipul".
Procesul de programare va merge, dacă totul a mers cu succes, programul va afișa notificarea corespunzătoare.
Am scos un micrower de la programator și inserați în aspectul colectat. Porniți puterea. Apăsați butonul Start. Aici lucrează video strălucitor
video.mail.ru/mail/vanek_rabota/_myvideo/1..html.
A fost înțeleasă. Dar ce să faceți dacă avem fișierul de cod sursă pe asamblorul ASM și avem nevoie de un fișier de firmware hexagonal? Aici aveți nevoie de un compilator. Și este - este MPLAB, în acest program puteți scrie firmware și compilați. Aici este o fereastră de compilator


Instalați MPLAB.
Găsiți în programul MPASMWIN.EXE MPLAB instalat, este situat de obicei în dosarul - Microchip - MPasm Suite - Mpasmwin.exe
Rulați-l. În fereastra (4) Răsfoiți găsiți sursa noastră (1) .asm, în fereastra (5) Processor, selectați microcontrolerul nostru, apăsați pe Asamble și în același folder unde ați specificat codul sursă va apărea firmware-ul dvs. Hex Totul este gata!
Sper că acest articol va ajuta începătorii în Mastering PIC Controlere! Noroc!


Acest dispozitiv nu strălucește o originalitate specială, dar poate veni la îndemână. Ideea este astfel, avem 3 intrări: semnale de picior, stânga și dreapta, precum și două benzi LED pe stânga și dreapta 8 LED-uri. Când faceți clic pe pedala de frână - ambele benzi clipește cu diverse efecte, complementând luminile principale de oprire. Când am activat, spuneți semnalul de întoarcere dreapta - în ceas, lumina rulează pe banda dreaptă, dacă stânga este pornită - apoi pe banda stângă. Când accidentul este pornit - toate LED-urile clipesc în matrice sincron cu situația de urgență.

În plus, există o altă intrare - "clipește". Nu are scop special, este doar o pare rău pentru piciorul picului de a arunca în aer. Când semnalul de 12V este umplut cu această intrare, toate matricea LED-uri bliț rapid, puteți aplica, de exemplu, când lampa inversă este pornită.

Pentru munca corectă Dispozitivele LED trebuie să fie aranjate așa cum se arată în figura de mai sus. Prima diodă conform schemei este cea mai apropiată de corpul dispozitivului, al 8-lea SD este LED-ul extrem de pe linie. În consecință, sunt indicate regulile stângi și corecte.

Acest dispozitiv poate fi plasat pentru sticlă spate. Masina sau pe un spoiler. LED-urile, desigur, ar trebui să fie roșu! Nu este necesar un dispozitiv de configurare, începe imediat. În modul de așteptare, consumul curent este neglijabil, deci nu este absolut înfricoșător pentru baterie.









Fişier:
Marimea:
Conţinut:

mk_stop_2r.
48,9 kb.
Imagine pCB. (Lay) și fișierul firmware microcontroler (hex)

Această schemă este simplă stroboscopul LED.Construit pe microcontroler PIC12F629. În Stroboscop există 4 jumperi cu care puteți selecta una dintre opțiunile pentru LED.

Există următoarele moduri: intervalul dintre impuls (30 ms și 10 ms), frecvența repetițiilor (1, 2, 3 și 4 secunde), crearea clipei unice sau duble.

Deoarece ieșirea din microcontroler PIC12F629 este capabilă să reziste la sarcina maximă în zona de 25 mA, tranzistorul poate descărca ieșirea microcontrolerului și poate crește curentul care trece prin LED-ul în circuitul strobe. Acest tranzistor are un colector de curent maxim 100 mA, suficient pentru a alimenta majoritatea tipurilor de LED-uri de 5 mm.

Rezistența R4 efectuează rolul limitatorului curent pentru LED. Atunci când nutriția unui stroboscină în 5 volți și o picătură a tensiunii de pe LED la 1,8 volți, curentul care curge prin LED-ul este limitat la 47 mA.

Tensiunea de intrare nu trebuie să depășească 5 volți. Circuitul de strobe LED este capabil să lucreze la 3 volți, dar va fi necesar să se reducă rezistența rezistorului R4. Ar trebui luată în considerare la calcularea rezistorului R4 că unele LED-uri creează o scădere de tensiune la 3 volți, în special un LED alb și unele LED-uri albastre și verzi.

Durata pulsului, intervalele și modul Stroboscope poate fi selectată de către utilizator utilizând unitatea de jumper. După cum sa menționat mai sus, în diagramă au fost implementate două moduri: focare unice și dublu (pauză între bufeurile duble este de 175 ms).

Intervalul dintre seria Bliț este măsurat de la capătul unui singur impuls de grup înainte de următorul grup.

Selectați modul de funcționare al Strobe LED

Timpul duratei pulsului, intervalul și modul dublu sunt configurate prin editarea valorii în microcontrolerul EEPROM PIC12F629, înainte de firmware-ul său. Simplifică foarte mult valorile de editare, deoarece nu este necesar să se re-compilați sursă Programe. Trebuie doar să clipească Hex în memoria microcontrolerului.

Exemple de schimbare a valorilor în memoria microcontrolerului PIC12F629

Modificați durata focarului. Să presupunem că doriți să obțineți durata pulsului Flash (în loc de 30 ms în mod implicit) 40 ms. Apoi, valoarea pe care doriți să o scrieți în EEPROM este definită după cum urmează: 40 ms / 1 ms \u003d 40. Acum vom transfera 40 la sistemul hexazecimal, avem 28 de ani, pe care trebuie să scrieți la 00 Adresa EEPROM.

Calculați modificarea intervalului între dublu clipește cu 0,2 secunde (în loc de 175 ms în mod implicit). Pentru aceasta, 200 ms / 1 ms \u003d 200. Traducem în sistemul hexazecimal pentru a obține C8 care este înregistrat în adresa 02.

Pentru a schimba intervalul dintre seria Bliț cu 1,3 secunde (în loc de 1 secunde în mod implicit), trebuie să faceți următoarele: 1.3 secunde / 100 ms \u003d 13. Traducem într-un tip hexazecimal de 0D. Această valoare este prescrisă la 03 EEPROM.

Trebuie remarcat faptul că 255 este valoarea maximă care poate fi prescrisă într-o singură adresă de memorie.

Cea mai ușoară modalitate de a traduce numărul de zecimale în sistemul hexazecimal (de exemplu, numărul 40) este în tipul motorului de căutare Google.com: 40 la HEX. Vom primi răspunsul: 0x28. Prefix 0x ca rezultat ne indică pur și simplu că valoarea este dată în sistemul hexazecimal.

În circuitul Strobe, puteți aplica un microcontroler atât PIC12F629 cât și PIC12F675.

Modificarea schemei de strobe LED (ABC Morse - SOS)

Aceasta este o versiune modificată de stroboscop care permite Morse în sistemul Morse să organizeze unelte ușoare sOS Signal.. Lungimea punctului poate fi instalată într-una din cele patru perioade, iar timpul dintre cele două secvențe "SOS" poate fi de asemenea ajustat.

Microcontrolerele PIC, posedă arhitectura Harvard și produse de Microchip Technology Inc. Numele PIC este o reducere de la fraza engleză a controlerilor interfeței periferice - pentru a transfera la "Controlere de interfață periferică" Mare și Mighty ". Controlerele PIC din marca Microchip produc microcontrolere de 8-, 16 și 32 de biți, precum și controlerele digitale de semnal DSC. Microcontrolerele PIC au următoarele avantaje semnificative: o bună continuitate a diferitelor familii: FULL compatibilitate software și instrumente generale de dezvoltare, inclusiv un mediu GRATUIT MPLAB ID, biblioteci generale, stive comune de protocoale de transmisie populare, compatibilitate asupra periferiei, ieșirilor, tensiunilor de alimentare. Nomenclatorul controlorilor are mai mult de 500 specii diferite Cu tot felul de periferice, diverse dimensiuni Memorie, productivitate, număr de concluzii, intervale de tensiuni de alimentare, temperaturi de funcționare etc.


Luați în considerare cea mai ușoară serie de controler PIC16C84 sau PIC16F84.

Prezența memoriei flash vă permite să îl reprogramați în câteva secunde. Numărul de cicluri de suprascriere de 1000 de microcontroler. Din cele 18 concluzii 13, este posibil să fie utilizat ca descărcări de intrare - producția de scop general. Când sunt cusute pe retragere, apoi nivelul actual al unității logice "1" la 20 mA și nivelul actual al zeroului logic "0" la 25mA (mai mult decât suficient pentru a se conecta, de exemplu, LED-uri). Aceasta face posibilă dezvoltarea simplă și ieftină pe acest controler. dispozitive electronice Și o face un candidat ideal pentru cei care doresc să exploreze și să înțeleagă principiile de a lucra cu microcontrolerul PIC. CONCLUZII CODOVKA Microcontrolerele de 8 biți sunt prezentate mai jos:


Contacte RA * și RB * - Aceasta este o intrare și ieșire asociată cu registrele controlerului PORTA și, respectiv, (ieșirea RA4 poate fi utilizată ca intrare internă a temporizatorului, iar RB0 este utilizat ca sursă de întrerupere). VDD și VSS - Putere (+ Upit și GND). Seria de microcontroler 16x84 funcționează într-un interval de tensiune larg, dar de obicei VSS este conectat la 0 V și VDD - + 5V. Ieșirea resetării principale / MCLR este de obicei conectată la VDD (direct sau prin rezistență), deoarece MK conține o schemă de descărcare fiabilă atunci când alimentează tensiunea de alimentare. Contacte OSC1 și OSC2 sunt conectate la generator frecvența ceasului și pot fi configurate pentru diferite tipuri de acesta, inclusiv modurile de generare a rezonatorului și RC. O schemă simplă, utilizând controlerul PIC 16C84 este prezentată în figura de mai jos:


Schema, cu excepția cipului are doar un generator RC și o ieșire RB4 este conectată la LED. Are un program uimitor de scurt (din 6 cuvinte) pentru MPASM pe ASEZACR - clipirea LED-ului.

Formați acest cod în orice editor de text, salvați cu extensia ASM (Lights.asm), apoi proasperbly utilizând MPASM (utilizați comanda MPASM Lights.asm) pentru a obține un fișier HEX care poate fi turnarea utilizând un programator la un microcontroler.

După alimentarea puterii la schemă, LED-ul va clipi.

ce trebuie să știți despre microcontrolerul PIC16F628A pentru a colecta cu succes radio structuri de amatori Pe aceasta, o mulțime de documentație de referință și scheme interesante.

Deci, am decis și am decis să colectăm prima noastră casă pe microcontroler, rămâne să fiți înțeles doar cum să o programați. Prin urmare, vom avea nevoie pIC programator, și îl puteți colecta cu propriile mâini, luați în considerare, de exemplu, câteva modele simple.

Această marcă și gratuită UTITA este un program excelent pentru dezvoltarea și depanarea programelor pentru toate microcontrolerele familiei PIC produse de Microchip Technology. MPLAB constă din aplicații individuale, dar conectate unul cu celălalt și constă dintr-un compilator de la asamblare, editor de text, Funcționarea simulator a firmware-ului controlerului, în plus, puteți utiliza compilatorul CA.

Autorul taverner K. a fost prezentat informații tehnice Pe software-ul de dezvoltare software bazat pe microcontrolere PIC. Aplicațiile au o colecție de circuite și soluții software. Pe microcontrolerele PIC, sunt implementate interfețe tipice. O mulțime de exemple de implementare software a unei varietăți de funcții sunt vopsite în cartea: organizarea de întreruperi, subprograme de aritmetică aritmetică extinsă, aritmetică, etc. Pentru a asigura teoria în practică, sunt date simple dispozitive, inclusiv un ceas cu alarmă de ceas și un voltmetru digital multicanal.

Puterea și microcontrolerele PIC
Dezvoltarea aplicației. Ce microcontroler trebuie să alegeți
Circuit soluții de interfețe de microcontrolere
Controlul LED-urilor și optocuploarelor, releelor, administratorilor digitali, ADC
Interacțiunea cu periferia pe interfața serială
Multiplicarea instabilă a numerelor de 8 biți
Semnal și multiplicare nesemnată a numerelor de 16 biți
Diviziune, adăugare și scădere de 16 riscuri
Floating.
Transformarea codurilor zecimale binare în binar
Soluții schematice gata: Un ceas deșteptător, implementarea I2C, I2C, voltmetru cu indicație LED
Gestionarea motoarelor Stepper

Ce este un microcontroler și cum funcționează
Sistem de sistem de comandă PIC16F84A
Care este programul și regulile pregătirii sale. Un exemplu de creare a unui program de multivibrator auto-oscilator. Directive.
Proiectare integrat MPLAB IDE și lucrează în ea
Un exemplu de creare a unui program
Lucrați în simulator. Programe de depanare
Un exemplu de dezvoltare a unui program cu întreruperea
Organizarea tranziției calculate.
Lucrul cu memoria de date EEPROM
Cum funcționează o comparație digitală
Schimbare ciclică. Operațiunea de multiplicare
Introducere în principiul construirii unei subrutină a indicației dinamice. Adresarea indirectă
Transformarea numerelor binare în zecimal binar. Formarea finală a textului subrutinei indicației dinamice
Principiul contului. Lucrați cu TMR0 Timer. Principiul instalării grupurilor de conturi în textul programului

Toate cele patru cărți, în plus, toate sursele programelor descrise sunt adăugate la arhivă și la altul suplimentar informații de referință. În arhivă veți găsi, de asemenea, textele sursă ale programelor și "firmware-ul" controlerului. Materialele de referință cu privire la toate microcontrolere discutate în toate cele patru cărți (PIC12c67x PIC16c432 PIC16c433 PIC16c505 PIC16c54_58 PIC16c554_558 PIC16c620_622 PIC16c623_625 PIC16c62B_72A PIC16c63a_65b_73b_74b PIC16c64x_66x PIC16c6x PIC16c717_77x PIC16C71xx PIC16c72 PIC16c72_77 PIC16c745_765 PIC16c77x PIC16c781_782 PIC16c92x PIC16F630_676 PIC16f7x PIC16F84A PIC16f85_86 PIC16F87xA PIC16hv540 PIC16Lc74b PIC17c4x PIC17c752_756 PIC17c7xx PIC17LC752P16 PIC18c601_801 PIC18cXX8)
Introducere în interfața CAN 2.0
Poate modulul în microcontrolerele PIC
Interfață software I2C și o scurtă trecere în revistă
Keeloq chipsuri cu tehnologie de cod de sărituri
universal anvelopă secvențială USB în microcontrolere PIC și software-ul USB Software
Modulele de descărcare X ADC în microcontrolere PIC
Recomandări pentru lucrul cu ADC în microcontrolerele PIC
Precum și software-ul pentru programarea descrisă în cărțile microcontrolerelor PIC IC-PROG și PONYPROG2000

Dezvoltarea întrebărilor dezvoltatorii sunt diferite. Unii cred că este suficient să analizați cu atenție textul sursă al programului, verificați generarea de semnale pe ieșirile MK și puteți corecta toate erorile. Altele utilizează seturile de subrutine speciale care sunt numite la punctele de control și sunt emise într-un anumit mod (de exemplu, o ieșire indicator sau un canal de comunicare serială) despre starea resurselor MK. Apropo, tehnologia ICD se bazează pe acest depanare (depanare in-circuit - intrahenaya), implementată în unele MK Motorola și Microchip. Dar, cu oricare dintre metodele de depanare de mai sus, apare o problemă semnificativă - necesitatea de a reprograma MK după intrarea în program chiar și modificări minore. Această problemă este deosebit de relevantă pentru o dată programabilă MK. Adevărat, în ultimul caz, depanarea poate fi făcută, spuneți, pe MK cu memorie flash, dar totuși timpul petrecut pe programare este suficient de mare și uneori ajunge la câteva minute. În plus, MK, de regulă, trebuie să fie eliminat din diagramă, conectați-vă la programator și apoi introduceți înapoi. Cei care s-au ocupat de programarea pe PC-uri simt în special diferența. De exemplu, atunci când programați în Borland C ++ 3.1 (BC ++), este suficient să porniți o combinație de taste CTRL + F9 și după câteva secunde va funcționa deja (dacă nu conține altfel erori). Aș dori să obțin un rezultat similar și când scriem programe de control MK. Și acest lucru este posibil datorită utilizării lui ALW, care este un software și un hardware care poate fi înlocuit cu un MK emulat în dispozitiv realCu care este conectat printr-un cablu cu un cap special de emulare. Utilizarea unui astfel de emulator nu diferă de utilizarea unui MC real, cu excepția faptului că programul modificat este repornit în Alw aproape instantaneu.

Curs 1 - Introducere

Microchip a fost de mult timp cunoscut pentru electronica domestică datorită liniei larg răspândite a microcontrolerelor ieftine pe 8 biți care au găsit o utilizare uriașă în diferite dispozitive Regulatoare de temperatură, dispozitive de automatizare scăzută, senzori etc. Pentru a ține pasul cu principalele sale concurenți, Microchip a prezentat noile sale microcontrolere pe 32 de biți ale familiei PIC32 în 2007.

În linia PIC32MX o cantitate mare Dispozitive de la PIC32MX1 ** la PIC32MX7 ** Cu cantități diferite de memorie (de la bliț de 16 kB și 4096 de byte de RAM la 512 kB bliț și 131 KB RAM), capabilități periferice și execuția corpului. În general, există modele practice pentru orice aplicație.

Versiunea completă a prelegerii cu descrierea conexiunii modelului MK și exemplul programării sale poate fi luată aici:

Curs 2 - Microcontrolerele familiei PIC32. Lucrul cu cronometrele.

Folosind cronometrele, numărătoarea inversă este implementată, organizarea întreruperilor, formează semnale cu modularea impulsului etc. În controlorii PIC-32, există două tipuri de cronometre - cronometre A (de fapt, se pare ca un - TMR1) și cronometrele de tip B (TMR2, TMR3, TMR4, TMR5). Toate cronometrele sunt de 16 biți, de la o sursă externă sau internă și la întreruperi.

Curs 3 - Microcontrolere PIC32 - întrerupe. Este un eveniment extern sau intern care necesită un răspuns imediat la acesta de la controler. În acest caz, executarea codului actual al programului este finalizată, MK salvează valorile registrelor de servicii și este inclusă în manipulatorul de întrerupere, apoi procesează această întrerupere și restabilește registrele de serviciu la ieșirea din ea și revine la locația codului.

MK Series Pic16 Firmele Microchip sunt capabile să efectueze echipe aritmetice simple cu operanzi de 8 biți, deoarece kernelul lor în sine este pe 8 biți. Dar în unele proiecte aveți nevoie de mult mai mult resurse computaționalePrin urmare, la astfel de momente este utilă utilizarea unei biblioteci speciale de operații aritmetice. Prezentat, pe link-ul de deasupra bibliotecii vă va permite să multiplicați, împărțiți, scăderea și adăugarea de numere de 16 biți, puteți converti numerele în diferite forme, Verificați paritatea, construiți un număr într-un pătrat și o altă mână tehnică de lipici utile.

La sărbătorile de Anul Nou, și nu numai, există o mare nevoie de iluminare ușoară.

Acest dispozitiv poate fi numit diferit: o lampă de starea de spirit, o lampă RGB, o lampă de Anul Nou, un baliză LED etc. Cum se va folosi - va spune fantezia.

Aici este o diagramă a unei lămpi multicolore RGB pe un microcontroler PIC12F629 (sau PIC12F675). Pentru a mări apăsați pe imagine.

Aspectul lămpii RGB colectate.

Funcționarea video a lămpii în modul lămpi de starea de spirit (lampă de starea de spirit).

Schema dispozitivului propus este destul de simplă, dar are o multitudine de moduri de operare. Iată câteva dintre ele:

    Schimbarea lentă a culorii. Strălucirea verde, roșie și albastră de intensitate diferită este amestecată, ceea ce vă permite să obțineți o supraîncărcare netedă a culorilor curcubeului;

    Alternativ rapid clipește roșu, verde și albastru;

    Creșterea netedă a luminiscenței albe și apoi 4 clipește. Apoi, există o repetare a ciclului;

    Eldly Sharp Flainelation și atenuarea lentă a culorilor de bază (albastru, roșu, verde). După repetarea ciclului.

    Strălucire netedă roșie;

    Albastru strălucitor albastru;

    Verde strălucitor verde;

    Clipește albastru;

    Schimbarea culorii accelerată;

    Strălucire albă netedă;

    Strălucire albă netedă, cu luminozitate redusă;

    Strălucirea netedă albă cu strălucire minimă;

    Strălucire netedă violet (roșu + albastru);

    Lumina netedă portocalie (roșu + verde).

Acestea sunt principalele moduri de funcționare a lămpii. Toate celelalte sunt opțiuni pentru schimbarea netedă a culorilor curcubeului la viteze diferite.

Pentru a aprecia întreaga paletă bogată a modurilor și a performanței dispozitivului, este mai bine să o colectați mai întâi pe un dummy Invoko. Așa-numitul "panou de breadboard" (panou).

Pentru ca strălucirea din diferite LED-uri să fie amestecate și a format o nuanță de culoare netedă, LED-urile trebuie plasate la fel de aproape unul de celălalt. De asemenea, după efectuarea schemei, puteți lua o foaie albă de format A4, rotiți-o în cilindru și fixați-o pe părțile laterale ale clipurilor. Cilindrul de hârtie rezultat este instalat pe un manechin nebun - închideți LED-urile. Ca rezultat, vom avea un fel de tip matal. Asta poate funcționa.

Microcontrolerul înainte de etanșare în taxa de care aveți nevoie pentru a "bliți". Despre cum să o faci, am vorbit deja pe paginile site-ului. Ce trebuie să clipească - o întrebare separată. Dacă nu este nimic, atunci mai întâi trebuie să vă colectați propriul programator de microcontroler USB pic sau cumpărați gata. El este încă mai util.

În timpul firmware-ului PIC12F629 sau PIC12F675, trebuie să acordați atenție constatării de calibrare. Nu va fi superfluă să numărați mai întâi ( "CITIT") Datele de la un microcontroler pur și scrieți o valoare constantă undeva pe hârtie. După firmware-ul microcontrolerului, trebuie să verificați dacă valoarea constantă în celulă 0x3ff. Valorile anterioare. Dacă este diferită, schimbați constanta. Despre ce este deja spus o constatare de calibrare.

Lista componentelor radio necesare pentru asamblarea lămpii RGB.

Nume Desemnare Parametri / nominali. Brand sau tip de element
Microcontroler DD1. Microcontroler pe 8 biți PIC12F629 sau PIC12F675.
Stabilizator integrat Da1. tensiune de ieșire de 5 volți 78L05, MC78L05ACP (orice analog)
Mosfet tranzistori VT1 - VT3. - 2N7000 sau KP501A ( Atenţie! KP501A este o altă legătură!)
Diode semiconductoare Vd1. (nu este necesar) 1N4148, 1N4007 sau analog
LED-uri HL1 - HL4. roșu Culorile strălucirii orice diametru luminos de 5 mm.
HL5 - HL7. verde Culorile strălucirii
HL8 - HL10. sfânt Culorile strălucirii
Rezistoare. R1. 120 oh. MLT, MON (putere de dispersie - 0,125 W)
R2, R3. 68 Oh.
Condecatoare C2. 220 NF (0,22 μF) Ceramică multi-strat sau orice analogi
C3. 100 NF (0,1 μF)
Condensator electrolitic C1. 47 μF * 16 volți orice aluminiu (K50-35 sau analogi străini)
Buton SB1. - orice buton ceas (de exemplu, kan0610-0731b)
Săritor J1. (nu este instalat) -

După alimentare, dispozitivul începe să funcționeze imediat. Prin apăsarea butonului SB1, puteți comuta modul de funcționare al lămpii RGB. Butonul poate fi apăsat cel puțin la infinit - comutarea modurilor are loc într-un cerc.

Plăci de circuite imprimate este ușor de făcut folosind un marker pentru plăci. Asa am facut. Dacă nu există nici un marker pentru panouri, puteți aplica o metodă "creion" sau o cont. Știți cum să faceți taxe Lout'om - chiar mai bine.

Ei bine, dacă nu există nimic despre enumerate, dar chiar vreau să fac o casă de casă, apoi în loc de o fibră de sticlă, puteți folosi o carton groasă, o bucată de plastic subțire sau placaj. În general, toate acestea pot fi instalate în schema de instalare. Compușii pot fi efectuați cu firul de cupru pe partea inversă a bazei.

Acum, un astfel de consiliu va părea sălbăticie, dar când tocmai am început să mă angajez în electronică, am încercat tot felul de metode de instalare. În cele apropiate vremuri, consumabilele și detaliile cumpărate pe radiourile radio, care erau numai în marile orașe. Am putea visa doar la componente radio online.

Explicarea schemei.

Tranzistorii 2N7000 pot fi înlocuiți cu KP501A. Dar merită să luăm în considerare faptul că KP501A un alt subsol! Aceasta este.

O diodă de protecție VD1 nu poate fi salvată în schemă. Acesta servește pentru a proteja schema cu conexiuni de alimentare incorecte - cabluri. Dacă nu este necesară o astfel de protecție, dioda VD1 nu este de asemenea necesară.

Rezistoarele pot fi selectate cu rate aproape de indicate în diagramă (deviație standard admisibilă ± 20%). De exemplu, am instalat R1 la 130 ohmi și R2, R3 - 82 ohmi.

Pentru a alimenta schema, va fi necesară o sursă de alimentare stabilizată cu o tensiune de ieșire de 12 volți. Este potrivit, de exemplu, o sursă de alimentare reglabilă, a cărui diagramă este descrisă. De asemenea, pentru a alimenta aparatul poate fi utilizat



Ți-a plăcut articolul? Împărtășește-l