1. PIC PROGRAMAVIMAS

Tikiuosi, kad mano straipsnis padės kai kuriems radijo mėgėjams peržengti slenkstį nuo skaitmeninių technologijų iki mikrovaldiklių. Internete ir radijo mėgėjų žurnaluose gausu programuotojų: nuo pačių paprasčiausių iki labai suktų. Manasis nėra labai sudėtingas, bet patikimas.

Pirmoji programuotojo versija skirta 18 ir 28 „pin“ PIC valdiklių programavimui. Programuotojas remiasi 2007 m. radijo žurnalo Nr. 10 diagrama. Tačiau C7 kondensatoriaus pasirinkimas, eksperimentai su skirtingomis ICprog, PonyProg, WinPic versijomis ir skaitymo-rašymo greičiai nedavė norimo rezultato: sėkmingas programavimas buvo gautas kas antrą kartą. Ir tai tęsėsi tol, kol programuojamos mikroschemos + 5 V maitinimo šaltinis buvo pagamintas atskirai, o ne po 12 voltų stabilizatoriaus. Pasirodė tokia schema.

Bijodamas gedimų nupiešiau ženklą taip, kad lenta būtų įkišta tiesiai į Com-port, o tai nėra labai lengva dėl visokių "raištelių" ir nedidelio atstumo iki korpuso. Paaiškėjo, kad tai netaisyklingos formos ženklas, bet į COM prievadą įkišamas normaliai ir programuoja be klaidų.

Laikui bėgant pasidariau apie 1 metro ilgio ilginamąjį laidą. Dabar programuotojas guli šalia monitoriaus ir yra prijungtas prie COM prievado. Veikia puikiai: PIC16F84A, PIC16F628A, PIC16F873A mikrovaldikliai buvo programuojami daug kartų.

Atkreipkite dėmesį: „Max“ lustas ir šviesos diodai yra sumontuoti spausdintų laidininkų šone. Lizdai - ZIF-28, vienas iš jų naudojamas 18 kontaktų PIC. Plokštės pažymėtos pirmomis kojelėmis ir skaičiais „18“ ir „28“. 220 15 voltų, 4 vatų transformatorius yra sumontuotas adapterio kištuko korpuse. Įdėjus mikrovaldiklį į lizdą, jį reikia prijungti prie elektros lizdo. NPN tranzistoriai mažos galios aukšto dažnio (300 MHz) to-92 pakete.

Laikinai neįdiegiau XP jungties, o tada paaiškėjo, kad jos ne itin reikia. Teko kažkaip užprogramuoti lituotą MK, tad įkišau laidus tiesiai į ZIF ir sutvarkiau. Perprogramavimas buvo sėkmingas.

Dirbu su ICprog ir WinPic-800 programomis.

IC programoje 1.05D sekančius nustatymus programuotojas:

  • Programuotojas – JDM programuotojas
  • Prievadas -Com1
  • Tiesioginė prieiga prie uostų.
  • Invertuoti: įvestis, išvestis ir laikrodis (varnelė).

WinPic-800 –v.3.64f viskas yra identiška, bet vis tiek reikia nustatyti "paukštį", kad naudotumėte MCLR.

Internete galite laisvai ir nemokamai atsisiųsti šias programas. Bet kad gyvenimas būtų lengvesnis, pasistengsiu prisegti viską, ko reikia. Ką tik prisiminiau: kiek „nenaudingų dalykų“ aš pats atsisiunčiau iš interneto ir kiek laiko praleidau visa tai išardydamas.

  • PCB programuotojas
  • WinPic-800 programa ( )
  • IC-Prog() programa
  • Straipsnis apie IC-Prog.

2. PROGRAMUOTOJAS-2 PIC VALDIKLIUI

Laikui bėgant atsirado būtinybė užprogramuoti 14 ir 40 „pin“ smailių. Nusprendžiau sukurti programuotoją visai vidutinei PIC šeimai. Schema ta pati, pridėtos tik dvi plokštės. Visa tai patalpinta dėkle iš buvusio multimetro.

2014 m. vasario 13 d. buvo atlikta spausdintinės plokštės korekcija: nuo RS232 jungties 5 kontakto takelis eina į minusinį maitinimo šaltinį (o ankstesniame - į MAX mikroschemos 6 kaištį). Naujas ženklas programoje „programer2-2“.

Galite sutaupyti vieną KREN-ku. Tie. prijunkite visą grandinę nuo vieno 5 voltų stabilizatoriaus. Neįdiekite VR3 ir C9, o uždėkite trumpiklį (schemoje pažymėtą punktyrine linija). Bet aš dar negėriau Krenka. Pakartotinai programuojami PIC16F676, 628A, 84A ir 873A. Bet 877 dar neišbandžiau.

Kai kurie kondensatoriai yra sumontuoti spausdintų laidininkų šone. Ritinėliai yra horizontalioje padėtyje. Kad nebūtų klojami laidininkai, sumontavau C7 - 2vnt ir R12 - 3vnt.

Labai svarbu: RS232 jungties korpusas turi būti prijungtas prie minusinio maitinimo šaltinio.

Maitinimas (15 V) ir programos yra tokios pat kaip ir pirmoje versijoje.

Radijo elementų sąrašas

Paskyrimas Tipas Denominacija Kiekis PastabaRezultatasMano užrašų knygelė
1 schema
DD1 RS-232 sąsajos IC

MAX232E

1 MAX232CPE Į užrašų knygelę
VT1-VT4 bipolinis tranzistorius

2N3904

4 TO-92 Į užrašų knygelę
VDS1 Diodinis tiltas

DB157

1 Į užrašų knygelę
VD1 lygintuvo diodas

1N4148

1 Į užrašų knygelę
VR1, VR3 Linijinis reguliatorius

L7805AB

1 Į užrašų knygelę
VR2 Linijinis reguliatorius

KA78R12C

1 Į užrašų knygelę
C1 470uF 35V1 Į užrašų knygelę
C2, C3, C5, C6 elektrolitinis kondensatorius10uF 50V4 Į užrašų knygelę
C4, C8 elektrolitinis kondensatorius470uF 16V2 Į užrašų knygelę
C7 elektrolitinis kondensatorius1uF 25V1 Į užrašų knygelę
C11 Kondensatorius0,1 mF1 Į užrašų knygelę
R1, R7 Rezistorius

10 kOhm

2 Į užrašų knygelę
R2 Rezistorius

470 omų

1 Į užrašų knygelę
R3, R5, R11 Rezistorius

4,7 kOhm

3 Į užrašų knygelę
R4, R10 Rezistorius

2 kOhm

2 Į užrašų knygelę
R6, R8, R9 Rezistorius

1 kOhm

3 Į užrašų knygelę
R12 Rezistorius

240 omų

1 Į užrašų knygelę
HL1 Šviesos diodas 1 Raudona Į užrašų knygelę
HL2 Šviesos diodas 1 Žalias Į užrašų knygelę
2 schema
DD1 RS-232 sąsajos IC

MAX232E

1 MAX232CPE Į užrašų knygelę
VT1-VT4 bipolinis tranzistorius

2N3904

4 TO-92 Į užrašų knygelę
VDS1 Diodinis tiltas

DB157

1 Į užrašų knygelę
VD1 lygintuvo diodas

1N4148

1 Į užrašų knygelę
VR1, VR3 Linijinis reguliatorius

L7805AB

2 Į užrašų knygelę
VR2 Linijinis reguliatorius

KA78R12C

1 Į užrašų knygelę
C1, C2, C4, C5 Kondensatorius10uF 50V4 Į užrašų knygelę
C3 elektrolitinis kondensatorius470uF 35V1 Į užrašų knygelę
C6, C9 elektrolitinis kondensatorius470uF 16V2 Į užrašų knygelę
C7.1-C7.3 Kondensatorius0,1 uF3

Kartą nusprendžiau surinkti paprastą LC matuoklį ant pic16f628a ir, žinoma, jį reikėjo kažkuo blykstyti. Anksčiau turėjau kompiuterį su fiziniu kom prievadu, bet dabar turiu tik usb ir pci-lpt-2com plokštę. Pirmiausia surinkau paprastą JDM programuotoją, tačiau, kaip paaiškėjo, jis nenorėjo dirbti nei su pci-lpt-com plokšte, nei su usb-com adapteriu (žema RS-232 signalų įtampa). Tada puoliau ieškoti usb pic programuotojų, bet ten, kaip paaiškėjo, viskas apsiribojo brangių pic18f2550 / 4550 naudojimu, kurių aš natūraliai neturėjau, o gaila naudoti tokius brangius MK, jei labai retai. kažkas piko metu (man labiau patinka Avr- s, ne bėda juos blykstinti, jie daug pigesni, ir man atrodo, kad ant jų lengviau rašyti programas). Ilgai naršęs internete viename iš daugybės straipsnių apie EXTRA-PIC programuotoją ir įvairias jo galimybes, vienas iš autorių rašė, kad extrapic veikia su bet kokiais com prievadais ir net su usb-com adapteriu.

Šio programuotojo schemoje naudojamas max232 loginio lygio keitiklis.

Galvojau, jei naudosiu usb adapteris, tada būtų labai kvaila du kartus konvertuoti usb lygius į usart TTL, TTL į RS232, RS232 atgal į TTL, jei galite tiesiog paimti RS232 prievado TTL signalus iš usb-usart konverterio lusto.

Ir taip jis padarė. Paėmiau CH340G lustą (kuris turi visus 8 com-port signalus) ir prijungiau jį vietoj max232. Ir taip atsitiko.

Mano grandinėje yra trumpiklis jp1, kuris nėra papildomame pike, aš jį įdėjau, nes nežinojau, kaip TX išvestis elgsis TTL lygiu, todėl suteikiau galimybę jį apversti likusiame laisvame NAND elemente ir neprarado, kaip paaiškėjo, tiesiogiai TX kaištis yra logiškas, todėl įjungus yra 12 voltų VPP kaištyje ir programuojant nieko neatsitiks (nors galite programiškai invertuoti TX).

Surinkus plokštę, laikas išbandyti. Ir tada atėjo pagrindinis nusivylimas. Programuotojas buvo pasiryžęs iš karto (su ic-prog programa) ir uždirbo, bet labai lėtai! Iš esmės to reikia tikėtis. Tada kom porto nustatymuose aš nustatiau didžiausias greitis(128 kilobaudų) pradėjo testuoti visas rastas JDM programas. Dėl to „PicPgm“ pasirodė greičiausias. Mano pic16f628a buvo visiškai išjungtas (hex, eeprom ir konfigūracija) ir patikrinimas kažkur apie 4–6 minutes (be to, skaitymas yra lėtesnis nei rašymas). IcProg taip pat veikia, bet lėčiau. Programavimo klaidų nebuvo. Bandžiau ir eeprom 24c08 blykstyti, rezultatas tas pats - viskas siuva, bet labai lėtai.

Išvados: programuotojas gan paprastas, neturi brangių detalių (CH340 - $0.3-0.5, tarp radijo šlamšto galima rasti ir k1533la3), veikia bet kuriame kompiuteryje, nešiojamajame (ir netgi galite naudoti windows 8/10 planšetinius kompiuterius). Suvart: tai labai lėta. Jis taip pat reikalauja išorinė galia VPP signalui. Dėl to, kaip man atrodė, nedažnam smailių mirksėjimui tai yra lengvai kartojamas ir nebrangus variantas tiems, kurie po ranka neturi senovinio kompiuterio su reikiamais prievadais.

Čia yra gatavo įrenginio nuotrauka:

Kaip sakoma dainoje: „Aš jį apakinau nuo to, kas buvo“. Dalių rinkinys pats įvairiausias: ir smd, ir DIP.

Drįstantiems kartoti schemą, kaip usb-uart keitiklis tinka beveik bet kuris (ft232, pl2303, cp2101 ir pan.), vietoj k1533la3 tinka k555, manau net k155 serija ar užsienio analogas 74als00 tikriausiai veiks net su loginiais NE elementais, tokiais kaip k1533ln1. Pridedu savo spausdintinę plokštę, bet ten esantiems elementams laidus kiekvienas gali perbraižyti pats.

Radijo elementų sąrašas

Paskyrimas Tipas Denominacija Kiekis PastabaRezultatasMano užrašų knygelė
IC1 ChipCH340G1 Į užrašų knygelę
IC2 ChipK1533LA31 Į užrašų knygelę
VR1 Linijinis reguliatorius

LM7812

1 Į užrašų knygelę
VR2 Linijinis reguliatorius

LM7805

1 Į užrašų knygelę
VT1 bipolinis tranzistorius

KT502E

1 Į užrašų knygelę
VT2 bipolinis tranzistorius

KT3102E

1 Į užrašų knygelę
VD1-VD3 lygintuvo diodas

1N4148

2 Į užrašų knygelę
C1, C2, C5-C7 Kondensatorius100 nF5 Į užrašų knygelę
C3, C4 Kondensatorius22 pF2 Į užrašų knygelę
HL1-HL4 Šviesos diodasBet koks4 Į užrašų knygelę
R1, R3, R4 Rezistorius

1 kOhm

3

Taigi, laikas studijuoti mikrovaldiklius, o paskui juos programuoti, taip pat norėjau ant jų surinkti įrenginius, kurių grandinės dabar yra internete, na, tiesiog jūra. Na, mes radome grandinę, nusipirkome valdiklį, atsisiuntėme programinę įrangą .... o su kuo mirksi??? Ir čia kyla klausimas radijo mėgėjui, pradedančiam įvaldyti mikrovaldiklius - programuotojo pasirinkimas! Norėčiau rasti geriausią variantą, kalbant apie universalumą - grandinės paprastumą - patikimumą. „Firminiai“ programuotojai ir jų analogai buvo nedelsiant pašalinti dėl gana sudėtingos grandinės, apimančios tuos pačius mikrovaldiklius, kuriuos reikia programuoti. Tai yra, pasirodo „užburtas ratas“: norint sukurti programuotoją, reikia programuotojo. Taigi prasidėjo paieškos ir eksperimentai! Pradžioje pasirinkimas teko PIC JDM. Šis programuotojas veikia iš com prievado ir yra maitinamas iš ten. Išbandyta ši parinktis, užtikrintai užprogramavo 4 iš 10 valdiklių, su atskiru maitinimo šaltiniu, situacija pagerėjo, bet ne per daug, kai kuriuose kompiuteriuose jis iš viso atsisakė ką nors daryti, o tai neapsaugo nuo "kvailio". Toliau buvo tiriamas Pony-Prog programuotojas. Iš principo beveik tas pats kaip JDM.Pony-prog programuotojas labai paprasta grandinė, maitinamas kompiuterio com prievadu, dėl kurio forumuose, internete labai dažnai kyla klausimų apie gedimus programuojant vieną ar kitą mikrovaldiklį. Dėl to buvo pasirinktas „Extra-PIC“ modelis. Pažiūrėjau į diagramą - labai paprasta, kompetentingai! Prie įėjimo yra MAX 232, kuris konvertuoja RS-232 nuosekliojo prievado signalus į signalus, tinkamus naudoti skaitmeninės grandinės su TTL arba CMOS lygiais, neperkrauna kompiuterio COM prievado srove, nes naudoja RS232 veikimo standartą, nekelia pavojaus COM prievadui.Štai pirmas pliusas!
Veikia su bet kokiais COM prievadais, tiek standartiniais (±12v; ±10v), tiek nestandartiniais kai kurių šiuolaikinių nešiojamųjų kompiuterių modelių COM prievadais su žemos įtampos signalo linijomis, iki ±5v - dar vienas pliusas! Palaikomos bendrosios programos IC-PROG, PonyProg, WinPic 800 (WinPic800) ir kitos – trečias pliusas!
Ir visa tai maitinama savo maitinimo šaltiniu!
Buvo nuspręsta – privalome rinkti! Taigi žurnale Radijas 2007 Nr.8 buvo rasta modifikuota šio programuotojo versija. Tai leido programuoti mikrovaldiklius dviem režimais.
Yra du būdai, kaip įjungti PICmicro mikrovaldiklius į programavimo režimą:
1. Įjungę maitinimo įtampą Vcc, padidinkite įtampą Vpp (ant -MCLR kaiščio) nuo nulio iki 12 V.
2. Išjungę Vcc, padidinkite Vpp nuo nulio iki 12 V, tada įjunkite Vcc
Pirmasis režimas daugiausia skirtas ankstyvojo kūrimo įrenginiams, jis nustato apribojimus -MCLR kaiščio konfigūracijai, kuris šiuo atveju gali būti tik pradinio nustatymo signalo įvestis, o daugelyje mikrovaldiklių šį kaištį galima pasukti. į įprastą vieno iš uostų liniją. Tai dar vienas šio programuotojo pliusas. Jo diagrama parodyta žemiau:

Didesnis
Viskas buvo surinkta ant duonos lentos ir išbandyta. Viskas veikia gerai ir stabiliai, jokių gedimų nepastebėjau!
Šiam programuotojui buvo nupieštas antspaudas.
depositfiles.com/files/mk49uejin
viskas buvo surinkta atvirame dėkle, kurio nuotrauka yra žemiau.




Jungiamasis laidas buvo pagamintas atskirai nuo aštuonių gyslų kabelio segmento ir standartinių Komovsky jungčių, čia neveiks jokios nulinio modemo jungtys, iš karto įspėju! Kabelio surinkimas turėtų būti atliekamas atsargiai, nedelsdami atsikratykite galvos skausmo ateityje. Kabelio ilgis turi būti ne didesnis kaip pusantro metro.
Kabelio nuotrauka


Taigi, programuotojas surinktas, laidas taip pat, laikas patikrinti visą šitą ekonomiškumą, ar veikia, ieškoti nesklandumų ir klaidų.
Pirmiausia įdiekite programą IC-prog, kurią galite parsisiųsti iš kūrėjo svetainės www.ic-prog.com Išpakuokite programą į atskirą katalogą. Gautame kataloge turėtų būti trys failai:
icprog.exe – programuotojo apvalkalo failas.
icprog.sys – tvarkyklė, reikalinga darbui su Windows NT, 2000, XP. Šis failas visada turi būti programos kataloge.
icprog.chm – žinyno failas.
Įdiegta, dabar reiktų sukonfigūruoti.
Už tai:
1. (Tik Windows XP): Dešiniuoju pelės mygtuku spustelėkite spustelėkite failą icprog.exe. Ypatybės >> Skirtukas Suderinamumas >> Pažymėkite langelį šalia "Paleisti šią programą suderinamumo režimu:" >> pasirinkite "Windows 2000".
2. Paleiskite failą icprog.exe. Pasirinkite „Nustatymai“ >> „Parinktys“ >> „Kalba“ skirtukas >> nustatykite kalbą į „rusų“ ir spustelėkite „Gerai“.
Sutikite su teiginiu „Dabar reikia iš naujo paleisti IC-Prog“ (spustelėkite „Gerai“). Programuotojo apvalkalas bus paleistas iš naujo.
Nustatymai“ >> „Programuotojas

1. Patikrinkite nustatymus, pasirinkite naudojamą COM prievadą, spustelėkite „Gerai“.
2. Toliau „Nustatymai“ >> „Parinktys“ >> pasirinkite skirtuką „Bendra“ >> pažymėkite laukelį „Įjungta. NT/2000/XP tvarkyklė“ >> Spustelėkite „Gerai“ >> jei tvarkyklė anksčiau nebuvo įdiegta jūsų sistemoje, atsidariusiame lange „Patvirtinti“ spustelėkite „Gerai“. Tvarkyklė bus įdiegta ir programuotojo apvalkalas bus paleistas iš naujo.
Pastaba:
Labai greitiems kompiuteriams gali prireikti padidinti I/O delsos nustatymą. Padidinus šį parametrą, padidėja programavimo patikimumas, tačiau pailgėja ir laikas, praleistas programuojant mikroschemą.
3. „Nustatymai“ >> „Parinktys“ >> pasirinkite skirtuką „I2C“ >> pažymėkite langelius: „Įjungti MCLR kaip VCC“ ir „Įjungti bloko įrašymą“. Spustelėkite „Gerai“.
4. "Nustatymai" >> "Parinktys" >> pasirinkite skirtuką "Programavimas" >> panaikinkite varnelę prie punkto: "Patikrinti po programavimo" ir pažymėkite langelį "Patikrinti programavimo metu". Spustelėkite Gerai.
Čia jis nustatytas!
Dabar norėtume išbandyti programuotoją vietoje su IC-prog. O čia viskas paprasta:
Toliau programoje IC-PROG meniu paleiskite: Settings >> Programer Test

Prieš vykdydami kiekvieną testavimo metodikos punktą, nepamirškite nustatyti visų „laukų“ į pradinę padėtį (visos „varnelės“ nepažymėtos), kaip parodyta aukščiau esančiame paveikslėlyje.
1.Pažymėkite „varnelę“ lauke „Įjungta. Data Out“, tuo pačiu metu lauke „Duomenų įvestis“ turėtų pasirodyti „varnelė“, o X2 jungties kontakte (DATA) turi būti nustatytas žurnalo lygis. "1" (mažiausiai +3,0 voltų). Dabar uždarykite X2 jungties kontaktą (DATA) ir GND (GND), o ženklas lauke „Duomenų įvestis“ turėtų išnykti, kol kontaktai yra uždaryti.
2.Nustatant "varnelę" lauke "Įjungta. Laikrodis “, ant X2 jungties kontakto (CLOCK), turi būti nustatytas žurnalo lygis. "vienas". (ne mažiau kaip +3,0 voltų).
3.Nustatant "varnelę" lauke "Įjungta. Reset (MCLR) “, ant X3 jungties kontakto (VPP), lygis turi būti nustatytas į +13,0 ... +14,0 voltų, o D4 šviesos diodas (dažniausiai raudonas) turi užsidegti. Jei nustatytas režimo jungiklis į 1 padėtį, užsidegs HL3 šviesos diodas
Jei bandymo metu koks nors signalas nepraeina, turėtumėte atidžiai patikrinti visą šio signalo kelią, įskaitant kabelį, jungiantį prie kompiuterio COM prievado.
EXTRAPIC programuotojo duomenų kanalo testavimas:
1. 13 DA1 lusto išėjimas: įtampa nuo -5 iki -12 voltų. Nustatant "varnelę": nuo +5 iki +12 voltų.
2. 12 lusto Da1 išėjimas: įtampa +5 voltai. Pažymėjus langelį: 0 voltų.
3. 6 išvesties lustas DD1: įtampa 0 voltų. Nustatant "varnelę": +5 voltai.
3. 1 ir 2 išvesties lustas DD1: įtampa 0 voltų. Nustatant "varnelę": +5 voltai.
4. 3 išvesties lustas DD1: įtampa +5 voltai. Pažymėjus langelį: 0 voltų.
5. DA1 lusto 14 išėjimas: įtampa nuo -5 iki -12 voltų. Nustatant "varnelę": nuo +5 iki +12 voltų.
Jei visi bandymai buvo sėkmingi, programuotojas yra paruoštas darbui.
Norėdami prijungti mikrovaldiklį prie programuotojo, galite naudoti tinkamus lizdus arba sukurti adapterį, pagrįstą ZIF lizdu (su nuline spaudimo jėga), pavyzdžiui, kaip čia radiokot.ru/circuit/digital/pcmod/18/.
Dabar keli žodžiai apie ICSP – In-Circuit Programming
PIC valdikliai.
Naudojant ICSP įrenginio plokštėje, būtina numatyti galimybę prijungti programuotoją. Programuojant naudojant ICSP, prie programuotojo turi būti prijungtos 5 signalo linijos:
1. GND (VSS) - bendras laidas.
2. VDD (VCC) - plius maitinimo įtampa
3. MCLR" (VPP) - mikrovaldiklio atstatymo įėjimas / programavimo įtampos įėjimas
4. RB7 (DATA) – dvikryptė duomenų magistralė programavimo režimu
5. RB6 (CLOCK) Laikrodžio įėjimas programavimo režimu
Likę mikrovaldiklio kaiščiai nenaudojami programavimo grandinėje režimu.
Galimybė prijungti ICSP prie PIC16F84 mikrovaldiklio DIP18 pakete:

1. Linija MCLR" nuo įrenginio grandinės atsiejama trumpikliu J2, kuris atsidaro ICSP (in-circuit programing) režimu, perduodant MCLR išvestį išskirtiniam programuotojo valdymui.
2. VDD linija ICSP programavimo režimu atjungiama nuo įrenginio grandinės trumpikliu J1. Tai būtina norint išvengti srovės suvartojimo iš VDD linijos įrenginio grandinėje.
3. Linija RB7 (dviejų krypčių duomenų magistralė programavimo režimu) yra izoliuota srove nuo įrenginio grandinės su rezistoriumi R1, kurio vardinė vertė ne mažesnė kaip 1 kOhm. Šiuo atžvilgiu maksimali šios linijos įtekėjimo / išleidimo srovė bus apribota rezistorius R1. Jei reikia užtikrinti maksimalią srovę, rezistorius R1 turi būti pakeistas (kaip ir VDD atveju) trumpikliu.
4. Linija RB6 (PIC sinchronizavimo įvestis programavimo režimu), taip pat RB7, yra izoliuota srovėje nuo įrenginio grandinės rezistoriumi R2, kurio vardinė vertė ne mažesnė kaip 1 kOhm. Todėl didžiausią šios linijos nuskendimo / grimzdimo srovę ribos rezistorius R2. Jei reikia užtikrinti maksimalią srovę, rezistorius R2 turi būti pakeistas (kaip ir VDD atveju) trumpikliu.
PIC valdiklių ICSP kaiščių vieta:


Ši diagrama skirta tik nuorodai, geriau paaiškinti programavimo išvadas iš mikrovaldiklio duomenų lapo.
Dabar apsvarstykite mikrovaldiklio programinę-aparatinę įrangą programoje IC-prog. Mes apsvarstysime statybos pavyzdį iš čia rgb73.mylivepage.ru/wiki/1952/579
Čia yra įrenginio schema


čia yra programinė įranga
Mirksi PIC12F629 valdiklis. Šis mikrovaldiklis savo darbui naudoja oskalinę konstantą – tai šešioliktainė MK vidinio generatoriaus kalibravimo reikšmė, su kuria MK praneša savo programų vykdymo laiką, kuris įrašomas paskutinėje piko duomenų langelyje. Šį mikrovaldiklį prijungiame prie programuotojo.
Žemiau esančioje ekrano kopijoje raudonais skaičiais parodyta veiksmų seka IC-prog programoje.


1. Pasirinkite mikrovaldiklio tipą
2. Paspauskite mygtuką „Skaityti lustą“.
Kodo lange paskutinis langelis bus mūsų konstanta šis valdiklis. Kiekvienas valdiklis turi savo konstantą ! Neištrinkite jo, užsirašykite ant popieriaus lapo ir priklijuokite ant lusto!
Einame toliau


3. Paspauskite mygtuką "Atidaryti failą ...", pasirinkite mūsų programinę įrangą. Lange programos kodas pasirodys programinės įrangos kodas.
4. Einame į kodo pabaigą, dešiniuoju pelės mygtuku spustelėkite paskutinį langelį ir meniu pasirinkite "redaguoti sritį", įveskite konstantos reikšmę, kurią užsirašėte lauke "Šešioliktainis", spustelėkite "Gerai" .
5. Spustelėkite „programuoti lustą“.
Programavimo procesas prasidės, jei viskas gerai, programa parodys atitinkamą pranešimą.
Iš programuotojo išimame lustą ir įdedame į surinktą maketą. Įjungiame maitinimą. Spaudžiame starto mygtuką Ura veikia! Čia yra vaizdo įrašas, kaip veikia blykstė
video.mail.ru/mail/vanek_rabota/_myvideo/1.html
Sutvarkė. Bet ką daryti, jei turime failą pirminis kodas asm assembler, bet mums reikia hex firmware failo? Čia reikalingas kompiliatorius. ir tai yra - tai Mplab, šioje programoje galite rašyti programinę-aparatinę įrangą ir kompiliuoti. Čia yra kompiliatoriaus langas


Įdiekite MPlab
Programą MPASMWIN.exe randame įdiegtame Mplab, paprastai esančiame aplanke - Microchip - MPASM Suite - MPASMWIN.exe
Paleiskime. (4) Naršymo lange randame mūsų (1) .asm šaltinio kodą, (5) lange Procesorius pasirenkame savo mikrovaldiklį, spustelėkite Surinkti ir jūsų programinė įranga atsiras tame pačiame aplanke, kuriame nurodėte šaltinio kodą. HEX Tai yra tai!
Tikiuosi, kad šis straipsnis padės pradedantiesiems įsisavinti PIC valdiklius! Sėkmės!

Taip jau sutapo, kad pažintį su mikrovaldikliais pradėjau nuo AVR. PIC mikrovaldikliai kol kas, kol kas - apeiti. Tačiau, nepaisant to, jie taip pat turi unikalų, įdomų pakartoti dizainą! Tačiau šiuos mikrovaldiklius taip pat reikia mirkyti. Šį straipsnį rašau daugiausia dėl savęs. Kad nebūtų pamiršta technologija, kaip be problemų ir beprasmio laiko praradimo paleisti PIC mikrovaldiklį.

Kaip programuoti PIC mikrovaldiklius arba paprastą JDM programuotoją

Pirmajai grandinei - ilgai ir sunkiai bandžiau padaryti PIC programuotoją pagal internete rastas grandines - nieko neatsitiko. Gaila, bet turėjau kreiptis į draugą, kad pamirksėtų MK. Bet ne čia esmė – nuolat lakstyti aplink pažįstamus! Tas pats draugas taip pat patarė paprastą schemą, kuri veikia iš COM prievado. Bet net kai aš jį sujungiau, jis vis tiek neveikė. Juk neužtenka surinkti programuotoją - reikia ir jam sukurti programą, kurią sumirksime. Ir būtent šito aš negavau. Visas debesis instrukcijų internete, ir keletas iš jų man padėjo ...

Tada man pavyko paleisti vieną mikrovaldiklį. Bet kadangi aš jį mirgau labai stokodamas laiko, negalvojau išsaugoti bent nuorodos į instrukciją. O juk vėliau neradau. Todėl kartoju – rašau straipsnį tam, kad turėčiau savo nurodymus.

Taigi, programuotojas PIC mikrovaldikliams. Paprasti, bet ne 5 laidai AVR mikrovaldikliai kurį naudoju ir šiandien. Štai diagrama:

Čia spausdintinė plokštė ().

COM jungtis yra lituojama su kaiščiais tiesiai prie trinkelių (svarbiausia, kad nesusipainiotumėte su numeracija). Antra kaiščių eilė yra prijungta prie lentos mažais džemperiais (labai nesuprantamai pasakiau, taip). Pabandysiu duoti foto...nors ir baisu (dabar neturiu normalaus fotoaparato).
Pats piktiausias dalykas yra tai, kad PIC mikrovaldikliams programinei įrangai reikia 12 voltų. Ir geriau ne 12, o šiek tiek daugiau. Tarkim 13. Arba 13,5 (beje, ekspertai – pataisykite komentaruose, jei klystu. Prašau.). Kai kur dar galima gauti 12 voltų. Kur yra 13? Ką tik išėjau iš situacijos – pasiėmiau ką tik įkrautą ličio polimero bateriją, kuri turėjo 12,6 volto. Na, ar net keturių elementų baterija, su savo 16 voltų (aš taip pamirksėjau vieną PIC - jokių problemų).

Bet aš vėl nukrypstu. Taigi - programinės įrangos PIC mikrovaldiklių instrukcijos. Ieškome WinPIC800 programos (deja, paprastas ir populiarus icprog man netiko) ir sukonfigūruojame, kaip parodyta ekrano kopijoje.

Po to atidarykite programinės įrangos failą, prijunkite mikrovaldiklį ir paleiskite jį.

Siūlomas programuotojas pagrįstas leidiniu iš Radijo žurnalo Nr. 2, 2004 m. „Programavimas šiuolaikiniame PIC16, PIC12 on PonyProg“. Tai mano pirmasis programuotojas, kuriuo namuose mirgėjau PIC lustus. Programuotojas yra supaprastinta JDM programuotojo versija, originalioje grandinėje yra RS-232 į TTL keitiklis MAX232 lusto pavidalu, jis yra universalesnis, tačiau jo negalima surinkti „ant kelio“. Ši schema neturi aktyvus ingredientas, neturi ribotų dalių ir yra labai paprastas, gali būti surinktas nenaudojant spausdintinės plokštės.

Ryžiai. vienas: grandinės schema programuotojas.

Schemos aprašymas
Programuotojo schema parodyta fig. 1. Rezistoriai grandinėse CLK (laikrodis), DATA (informacija), Upp (programavimo įtampa) tarnauja tekančios srovės ribojimui. PIC valdikliai yra apsaugoti nuo gedimo integruotais zenerio diodais, todėl gaunamas tam tikras TTL ir RS-232 logikos suderinamumas. Pateiktoje grandinėje yra diodai VD1, VD2, kurie „atima“ teigiamą įtampą iš COM prievadas palyginti su 5 kaiščiu ir perkelti jį į valdiklio maitinimo šaltinį, dėl kurio kai kuriais atvejais galima atsikratyti papildomo maitinimo šaltinio.

Įsteigimas
Praktikoje ne visada atsitinka taip, kad šis programuotojas dirbs be reguliavimo, nuo 1 karto, nes. šios schemos veikimas labai priklauso nuo COM prievado parametrų. Tačiau aš turiu dviejų motinų Gigabaito plokštės 8IPE1000 ir WinFast pagal XP viskas veikė iš karto. Jei esate per daug tingus dirbti su neveikiančia, sudėtingesne programavimo grandine, turėtumėte pabandyti surinkti šią. Štai keletas dalykų, kurie gali turėti įtakos:

Naujesnis kilimėlis. plokštės, kūrėjai šiems prievadams skiria mažiau dėmesio, nes šie prievadai jau seniai paseno. To galite atsikratyti įsigiję USB-COM adapterį, nors vėlgi, įsigytas įrenginys gali netikti. Reikalingi parametrai yra šie: kintamoji įtampa turi pasikeisti bent nuo -10V iki +10V (log. 0 ir 1), palyginti su 5 jungties kaiščiu. Išėjimo srovė turi būti bent tokia, kad tarp 5 kontakto ir bandomojo kontakto pajungus 2,7 kΩ rezistorių, įtampa nenukristų žemiau 10V (pats tokių plokščių nemačiau). Taip pat prievadas turi teisingai nustatyti iš valdiklio gaunamas įtampas, kai įtampos lygis yra artimas 0 V, bet ne didesnis kaip 2 V, aptinkamas nulis, o atitinkamai virš 2 V – vienas.

Taip pat problemų gali kilti dėl programinės įrangos.
Tai ypač pasakytina apie LINUX OS, nes dėl emuliatorių, tokių kaip vynas, „VirtualBox“ prievadai gali neveikti tinkamai ir iš jų reikia daug funkcijų. Šias problemas plačiau paliesiu kitame straipsnyje.

Žinodami šias savybes, pradėkime kurti.
Tam labai pageidautina turėti ICProg 1.05D programą.
Programos meniu pirmiausia turite pasirinkti nustatymuose resp. prievadą (COM1. COM2), pasirinkite JDM programuotoją. Tada meniu „Nustatymai“ atidarykite langą „Aparatinės įrangos patikrinimas“. Šiame meniu turite paeiliui pažymėti langelius ir voltmetru išmatuoti įtampą prijungtos jungties kontaktuose. Jei įtampos parametrai neatitinka normos, deja, tai gali būti neveikimo priežastis, tada turėsite surinkti grandinę su RS-232 TTL keitikliu. Pažymėję visus žymimuosius langelius, turite įsitikinti, kad ant zenerio diodo susidaro apie 5 V maitinimo įtampa. Jei įtampa yra normali ir nėra montavimo klaidų, tada viskas turėtų veikti. Įkišame valdiklį į lizdą, atidarome programinę įrangą, užprogramuojame. Nereikia įjungti žymimųjų laukelių, pvz., „Išversti duomenis“ (visi nepažymėti). Taip pat nepamirškite, kad kai kurios valdiklių partijos gali turėti ne visai standartinius parametrus, be to, jų negalima blykstyti, tokiais atvejais su šiuo programuotoju galima tik bandyti sumažinti maitinimo įtampą nuo 5V iki 3-4V, prijungus atitinkamą. Zenerio diodas, pažiūrėkite į valdiklį, ar klaidingai įjungtas LVP režimas (žemos įtampos programavimas), kaip to išvengti, galite perskaityti internete apie konkretaus tipo valdiklį. Tikriausiai probleminio valdiklio programavimo įtampą galite padidinti tik apsunkindami grandinę, įvedant stiprintuvo pakopą su bendru emiteriu, maitinamą iš papildomo maitinimo šaltinio.

Dabar daugiau apie įrenginio maitinimo problemą. Programuotojas buvo išbandytas su ICProg programomis ir konsoline picprog Linux sistemoje, jis turėtų veikti su visais, kurie palaiko JDM, jei prijungiate papildomą maitinimo šaltinį (jis prijungtas per 1kΩ rezistorių prie zenerio diodo, diodai su rezistoriais šiuo atveju gali būti visiškai neįtraukti). Faktas yra tas, kad atskiros programinės įrangos programuotojo valdymo algoritmai skiriasi, ICProg programa yra pati nepretenzinga. Pastebėta, kad Windows OS ši programa buvo iškelta ant nenaudojamo kontakto 2 tinkama įtampa maitinimo šaltinis, ta pati programa pagal emuliatorių Linux sistemoje ant kito kilimėlio. Plokštė to padaryti nebegalėjo, tačiau išeitis buvo rasta paėmus maitinimą iš programavimo įtampos. Apskritai, su ICProg, manau, galite naudoti šį programuotoją be papildomos galios. Naudojant kitą programinę įrangą tai greičiausiai nebus garantuota, pavyzdžiui, „gimtoji“ iš Ubuntu saugyklos picprog be maitinimo tiesiog neaptinka programuotojo, parodydamas pranešimą „JDM hardware nerastas“. Tikriausiai jis arba gauna kai kuriuos duomenis nenaudodamas programavimo įtampos, arba daro tai per greitai, todėl filtro kondensatorius dar nespėjo įkrauti.