Sistemi i modelimit të ISIS Proteus. Fillimi i shpejtë. Simulimi i funksionimit të mikrokontrolluesve Proteus: si të lëvizni një rezistencë të ndryshueshme

Me siguri, shumë nga lexuesit e kësaj faqeje do të dëshironin të zhvillonin dhe montonin në mënyrë të pavarur një lloj pajisjeje në AVR MK. Por mund të ketë shumë arsye pse kjo është e vështirë të bëhet në harduer. Për shembull, të jetosh në një zonë rurale ku nuk ka dyqane radio me një përzgjedhje të madhe të pjesëve të radios. Edhe pse në këtë rast, si gjithmonë, na vjen në ndihmë faqja e Ali Express. Ose kufizime buxhetore. Kjo është veçanërisht e vërtetë për nxënësit e shkollave dhe studentët që nuk kanë ende një burim të përhershëm të ardhurash.

Pra, çfarë të bëni në këtë rast? Këtu na vijnë në ndihmë programe speciale simulatore të krijuara posaçërisht për korrigjimin e qarqeve.

Ne do të analizojmë një prej tyre, versionin 7.7 të Proteus, në këtë artikull në lidhje me projektin tonë.

Çfarë na jep ky program? Fillestarët do të mendojnë se është shumë e vështirë për t'u zotëruar. Jo, kjo nuk është e vërtetë. Ne thjesht nuk do të përdorim të gjitha funksionet e programit kur imitojmë projektet tona të para. Ju mund të zotëroni bazat e tij në një ose dy mbrëmje. Çfarë na jep ai për të mësuar se si të punojmë me mikrokontrolluesit? Atje, për shembull, ekziston një paraqitje vizuale e funksionimit të LED-ve dhe ekraneve në kohë reale. Ju mund të zgjidhni të imitoni shumë lloje të mikrokontrolluesve AVR, duke përfshirë ata mbi të cilët do të bazohen mësimet tona: Tiny2313 dhe Mega8. Çfarë do të thotë kjo dhe si bëhet? Ne shkruajmë kodin për firmware-in tonë, e përpilojmë atë, marrim skedarin HEX që na nevojitet dhe praktikisht ndezim MK-në tonë në programin Proteus. Për më tepër, ne gjithashtu mund të ndryshojmë pjesët e siguresave të MK-së tonë virtuale.

Le të shohim se çfarë veprimesh duhet të kryejmë në mënyrë që ta montojmë vetë këtë qark në fushën e punës dhe të kryejmë emulim.

Kjo është dritarja që hapet menjëherë pas fillimit të programit (kliko për ta zmadhuar):


Pastaj duhet të zgjedhim nga biblioteka ato komponentë radio që na duhen për projektin dhe t'i vendosim në listën e pjesëve. Më pas mund t'i zgjedhim dhe t'i instalojmë në fushën e punës. Në projektin tonë ne do të përdorim një MCU Attiny2313, një LED të verdhë LED-YELLOW (ajo "ndriçon" mirë në Proteus) dhe një rezistencë RES për të kufizuar rrymën që rrjedh nëpër LED. Përndryshe, pa marrë parasysh sa qesharake mund të tingëllojë, ne do të "djegim" LED virtuale :-).

Për të zgjedhur këta elementë radio, duhet të klikojmë në shkronjën "P":

Pasi të klikoni, do të shfaqet dritarja e mëposhtme:


Në fushën "Maska" futim atë që duam të gjejmë, përkatësisht MK, LED dhe rezistencën tonë


Shkruajmë "Tiny2313" në fushën Maskë dhe klikojmë në MK që gjetëm në kolonën "Rezultatet (1)":


Më pas e përsërisim të njëjtën gjë me rezistencën. Shkruani "res":


dhe kërkoni për LED në të njëjtën mënyrë:


Epo, tani të tre këta elementë duhet të shfaqen në kolonën "Pajisjet":

Tani klikoni në shigjetën e zezë dhe më pas zgjidhni elementin e radios që na nevojitet nga lista:

Në të majtë në kolonën vertikale shohim ikonën "Terminal". Ne jemi të interesuar për dy linja atje: Fuqia dhe Toka. Ky është përkatësisht furnizimi me energji dhe tokëzimi +5 volt në qarkun tonë. Nuk ka nevojë për furnizim me energji elektrike për MK-në, ai furnizohet automatikisht. Për diagramin, marrim vetëm ikonën "tokë".

Ne nxjerrim të gjithë radioelementet në fushën e punës


Më pas duhet t'i lidhim me një linjë komunikimi, pas së cilës do t'i kemi sikur të ishin lidhur me një përcjellës, për shembull një trase në një tabelë ose një tel.


Unë do të them menjëherë, mos u përpiqni të instaloni një kunj të një pjese ngjitur me një tjetër apo edhe të mbivendosur, pa përdorur linja lidhjeje. Programi nuk do ta kuptojë këtë si lidhje dhe qarku nuk do të funksionojë.

Ne gjithashtu duhet të ndryshojmë vlerën e rezistencës. Si parazgjedhje nuk është i përshtatshëm për skemën tonë. Si ta bëjmë atë?

Klikoni me të djathtën mbi rezistencën dhe zgjidhni Edit Properties


Dhe pastaj e ndryshojmë vlerën në 200 Ohms. Mjafton që LED ynë virtual nuk ka vdekur)


Ndonjëherë fusha jonë e punës përpiqet të largohet nga ekrani, atëherë ne duhet të përdorim rrotullën e rrotës së miut për të ndryshuar shkallën dhe klikojmë, duke vendosur një kornizë jeshile në këndin e sipërm të majtë në mënyrë që i gjithë projekti ynë të jetë brenda tij

Nga rruga, dua të them menjëherë se nëse kemi bërë ndonjë veprim të gabuar, thjesht duhet të klikojmë butonin "Anulo" dhe veprimi i fundit do të anulohet. Unë mendoj se shumë njerëz e dinë këtë nga programet e palëve të treta, por ju kurrë nuk e dini).

Pra, ne kemi bashkuar një diagram. Tani duhet të ngarkojmë firmuerin në mikrokontrolluesin tonë dhe të shohim se si duket në veprim. Për ta bërë këtë duhet të klikojmë klikoni me të djathtën në MK dhe klikoni ikonën me imazhin e një dosjeje të verdhë në kolonën Program Files. Nga rruga, këtu mund të vendosni pjesët e siguresave nëse është e nevojshme (kliko për të zmadhuar figurën):


Pastaj ju duhet të zgjidhni skedarin e firmuerit me shtesën *.HEX dhe klikoni "Open". Gjithçka është gati, ju mund të imitoni projektin.

(kliko mbi foto për ta zmadhuar)


Për të filluar emulimin, duhet të shtypni butonin "trekëndësh" në këndin e poshtëm të majtë të programit "Proteus":


Ne do të fillojmë emulimin. Ne do të shohim LED të ndezur. Në një moment në kohë, LED ynë do të shkëlqejë. Shikoni sa fort digjet në të verdhë :-)


Dhe pastaj do të dalë përsëri:


Tani, nëse dëshirojmë, mund ta ruajmë projektin tonë me çdo emër duke zgjedhur "Ruaj projektin si", dhe gjithashtu nëse duhet të hapim një skedar të përfunduar të një projekti tjetër duke zgjedhur "Hap projektin"

Kështu duket ikona e projektit të ruajtur në desktop:

Shpresoj që ju, lexues, të mos keni ndonjë vështirësi në montimin e këtij projekti vetë dhe në të ardhmen, pasi të keni përmirësuar aftësitë tuaja, mund të montoni lehtësisht vetë ndonjë projekt më kompleks. Projekti i përfunduar për programin Proteus 7.7 dhe firmware janë bashkangjitur në arkiv.

OK tani ka mbaruar! Më poshtë është një video e funksionimit të qarkut, si dhe të gjitha fazat e emulimit:

Le të flasim për një program kaq të mrekullueshëm për simulimin e qarqeve elektronike si Proteus 7 (më konkretisht versioni 7.10). Së pari, çfarë është një simulator dhe pse është i nevojshëm? Simulatori i qarkut elektronik Proteus 7 është krijuar për të simuluar qarqet elektronike që keni krijuar. Kjo do të thotë, ju vizatoni qarkun (duke shtuar përbërësit e nevojshëm dhe duke i lidhur ato në sekuencën e dëshiruar), dhe më pas shtoni instrumentet matëse që ju nevojiten për të monitoruar performancën. E bukura është se nuk keni nevojë të montoni asgjë në pajisje. Ju skiconi një diagram dhe shihni se si funksionon, matni parametrat e tij. Ndonjëherë, natyrisht, ndodh që në harduer gjithçka funksionon ndryshe. Në përgjithësi, Proteus 7 kërkon një kompjuter më të fuqishëm. Tani le të njihemi me vetë programin. Nisim programin dhe pas ngarkimit shohim: hapësirën e punës, shiritat e veglave (të vendosura lart dhe majtas) dhe panelin e vetive.

Le të krijojmë një projekt të thjeshtë. Le të shtojmë një LED, një rezistencë, një buton, energji dhe lidhim të gjitha në mënyrë që kur shtypet butoni, LED të ndizet. Klikoni "Përbërësit" dhe në panelin e vetive kliko "P".

Ne mund të kërkojmë nëpër kategori për komponentin që na nevojitet, ose thjesht me emër. Në shiritin e kërkimit shkruajmë "LED" dhe zgjedhim një LED, për shembull blu. E klikojmë 2 herë dhe i shtohet komponentëve tanë. Ne gjithashtu do të shtojmë një buton dhe një rezistencë.

Tani paneli ynë ka një LED, një buton dhe një rezistencë. Zgjidhni komponentin e parë dhe bëni një klikim në fushën e punës. Komponenti është shtuar. Ne i vendosim komponentët sa më lehtë që të jetë e mundur. Ju duhet të vendosni vlerën për rezistencën. Për ta bërë këtë, klikoni mbi të 2 herë dhe futni emërtimin që na nevojitet në dritaren e vetive.

Tani ata duhet të lidhen. Për ta bërë këtë, lëvizni kursorin mbi njërën nga kunjat dhe klikoni me butonin e majtë të miut dhe vizatoni përcjellësin te kunja e lidhur dhe klikoni përsëri.


Tani ju duhet të shtoni fuqi. Klikoni në butonin "Terminal" dhe shtoni elementet Fuqia (+) dhe Toka (-).

Tensioni i paracaktuar këtu është 5 V. (ato shtohen në hapësirën e punës në të njëjtën mënyrë si komponentët). Dhe ne i lidhim ato me pikat e kërkuara të diagramit. Rezultati është diagrami i mëposhtëm.

Tani shikoni në këndin e poshtëm të majtë të panelit të nisjes së simulimit. Gjithçka është e njëjtë si në luajtës, trekëndësh - fillim, katror - ndalesë, etj. E nisim, e vendosim kursorin mbi butonin dhe e shtypim.

Tani që kemi zgjedhur elementët, duhet të kalojmë në hapin tjetër - vendosjen e tyre në zonën e vizatimit - në dritaren e redaktimit. Le të fillojmë me më të thjeshtën - tampon, i paraqitur në këndin e sipërm të majtë të diagramit të tutorialit. Më poshtë është paraqitur më në detaje:

Pamja e përfunduar e bllokut të parë të diagramit,
e cila duhet të vizatohet.

Sigurohuni që jeni në modalitet element (dmth ajo që është përzgjedhur ikona e elementit ) dhe filloni duke klikuar në 741 në përzgjedhësin e objektit. Ju duhet të shihni dritaren e shikimit paraprak mbi çelësin që ndryshon në një dritare paraprake të pajisjes së zgjedhur. Pamjet e mëposhtme të ekranit tregojnë gjendjen e përzgjedhësit të objektit dhe dritaren e përmbledhjes pas zgjedhjes së artikullit 741.

· Dritarja e përmbledhjes së shpejtë tregon jo vetëm një pamje paraprake të pajisjes, por orientimin e saj aktual. Kur rrotulloni ose rrotulloni një element (duke përdorur ikona Rrotullimi dhe Reflektimi ), pajisja riprodhohet për të parë paraprakisht orientimin e saj të ri. Pamja paraprake e pajisjes mbetet në dritare derisa të vendoset ose të kryhet një komandë ose veprim tjetër.

Tani lëvizni treguesin e miut në mes të dritares së redaktimit dhe shtypni butonin e majtë. Skica e op amp do të shfaqet poshtë treguesit të miut dhe do ta ndiqni atë ndërsa lëvizni nëpër dritaren e redaktimit. Kur shtypni përsëri butonin e majtë, elementi do të vendoset në diagram dhe do të vizatohet plotësisht. Provoni këtë duke e vendosur përforcuesin diku në mes të dritares së redaktimit.


Skica e elementit është gjithmonë në lëvizje
prapa treguesit të miut në modalitetin e vendosjes.

Zgjidhni pajisjen MINRES1K dhe vendosni një rezistencë mbi përforcuesin siç tregohet në diagramin e mësipërm. Shtypni butonin e majtë një herë në ikonën e rrotullimit në drejtim të kundërt të akrepave të orës (treguar më poshtë); Vini re se pamja paraprake e rezistorit në dritaren e Shikimit të Shpejtë e tregon atë të rrotulluar 90°. Së fundi, vendosni rezistencën e dytë (vertikale) R2.


Ikonat e rrotullimit
(rrotullimi i zgjedhur në drejtim të kundërt të akrepave të orës).

Nëse nuk keni përvojë të mjaftueshme, nuk ka gjasa t'i vendosni elementët sipas nevojës në provën e parë, kështu që le të shohim se si t'i lëvizni ato. Objektet në ISIS zgjidhen për modifikim të mëtejshëm duke 'përzgjedhur'. Ka disa mënyra për të zgjedhur një objekt në ISIS:


Një kontejner alokimi që rrethon op-amp.

Në të njëjtën mënyrë, ju mund të hiqni një përzgjedhje (ose një grup përzgjedhjesh) ose duke klikuar me të majtën në një hapësirë ​​boshe, ose duke klikuar me të djathtën në një hapësirë ​​boshe dhe duke zgjedhur artikullinPastro përzgjedhjen(Pastro përzgjedhjen ) në menynë e kontekstit që shfaqet.


Zgjedhja e të gjitha objekteve
përmes menysë së kontekstit.

Kur zgjidhet një element, ai mund të zhvendoset duke mbajtur butonin e majtë të miut mbi element (ose në drejtkëndëshin e përzgjedhjes nëse përdorni këtë metodë), duke lëvizur miun në vendin e dëshiruar dhe duke lëshuar butonin e majtë të miut. Kursori i miut do të ndryshojë për të treguar se elementi mund të zhvendoset, siç tregohet më poshtë.


Lëvizja e op-amp të zgjedhur.

Përndryshe, mund të klikoni me të djathtën mbi një objekt dhe të përdorni veprimin zvarrit dhe lësho nga menyja e kontekstit që shfaqet.

Të gjitha sa më sipër mund të duken konfuze me leximin e parë, por do të rezultojnë të jenë jashtëzakonisht të thjeshta në praktikë. Edhe pse ne priremi të mendojmë se mekanizmi i përzgjedhjes pa mode është më i lehtë për t'u punuar, ju duhet të zgjidhni metodën për të punuar bazuar në preferencat tuaja. Eksperimentet e mëposhtme të thjeshta do t'ju ndihmojnë të njiheni me metodat e ndryshme të disponueshme dhe të pastroni dyshimet tuaja:

Kjo metodë është e thjeshtë dhe intuitive dhe ia vlen të zgjidhet për të vendosur dhe rrotulluar më vonë pajisjet në ISIS. Për të përforcuar sa më sipër, eksperimentoni pak me ripërpunimin e diagramit në mënyrë që objektet të vendosen në të njëjtën mënyrë si në pamjen e ekranit në fillim të këtij seksioni.

Në përgjithësi, ka shumë sisteme për modelimin e qarqeve elektronike. Nga të gjitha ato që pashë, më pëlqyen më shumë Multisim Dhe ISIS Proteus. Multisim ka një ndërfaqe shumë të përshtatshme dhe është i përshtatshëm për të korrigjuar pajisjet analoge, sepse ju lejon të përdorni transistorë dhe amplifikues virtualë (d.m.th., specifikoni parametrat vetë), por nuk mbështet fare sisteme komplekse, siç janë mikrokontrolluesit ose lloje të ndryshme drejtuesish. Më saktësisht, ai mbështet, por jashtëzakonisht i ngadaltë. Vetëm kohët e fundit ka shtuar mbështetjen për të lashtët AT89C2051 dhe disa PIC's

Kundër, Proteus Mund të funksionojë mrekullisht me kontrolluesit, por është i kufizuar nga biblioteka e tij me elementë realë, kështu që pa e ditur saktësisht se çfarë pjese ju nevojitet, nuk mund të bëni shumë atje, dhe gjithashtu ka një ndërfaqe thjesht të mjerueshme, por ky është sistemi më i mirë i modelimit Unë kam parë ndonjëherë. Dhe prandaj do ta përshkruaj saktësisht.

Peshon rreth tridhjetë metra në arkiv, versioni i fundit që unë di është 7.2 Vetëm mbani në mend se versioni i plasaritur i Proteus ndonjëherë funksionon shumë çuditshëm, për shembull, ju shihni kodin e procesorit, por korrigjimi nuk funksionon dhe regjistrat kanë lënë vlera. Kështu që kërkoni me kujdes ;))))

Unë propozoj që menjëherë ta kapni demin nga brirët dhe të simuloni shpejt një qark të thjeshtë në një mikrokontrollues. Unë do të shpjegoj se ku është gjithçka ndërsa procesi përparon.

Nisja Proteus, duhet të hapet menjëherë një dritare bezhë me pika. Kjo është fusha e punës. Këtu do të ndërtojmë skemën tonë. Për shembull, le të ndërtojmë një qark në kontrolluesin tim të preferuar AT89S51 nuk do të bëjë asgjë të dobishme, thjesht do të dërgojë letra në dritaren e terminalit duke shtypur butonat e bashkangjitur në portat e kontrolluesit.

Për të shtuar një komponent, së pari duhet të zgjidhni shigjeta e zezë në këndin e sipërm të majtë dhe më pas shtypni butonin me xham zmadhues dhe trekëndësh ndodhet në shiritin e sipërm të veglave në mes.

Një listë e madhe e elementeve që ai e di se do të hapet. Proteus. Bibliotekat po plotësohen dhe përditësohen vazhdimisht, ndaj kërkoni në internet për detaje të reja.
Gjeni kontrolluesin në listë AT89S51, në mënyrë që të mos ngatërroni, përdorni kërkimin e fjalëve kyçe - thjesht shkruani " AT89"Do të shihni të gjithë familjen MSC-51 i famshëm Proteus.

Zgjidhni atë që ju nevojitet dhe klikoni " Ne rregull" Pastaj vendoseni çipin në një vend të përshtatshëm për ju. Më lejoni të bëj një rezervë menjëherë që modelet e procesorëve të futen Proteus disi e thjeshtuar, kështu që ata nuk kërkojnë praninë e kuarcit në qarkun virtual, një sistem rivendosjeje (ngritje RISET në nivelin e kërkuar), prania e një sinjali për të përdorur memorien e brendshme (+5 në EA, një veçori e procesorëve C51 të cilët mund të punojnë nga jashtë ROM) dhe nuk duhet ta harrojmë këtë kur përfundimisht bëjmë një qark të vërtetë, përndryshe, në fund, mund të duhet një kohë shumë e gjatë për të kërkuar arsyen e një qarku që nuk funksionon.

Edhe pse nuk janë të nevojshme, ne përsëri do të shtojmë pjesë të trupit. Përsëri, drejtojeni zmadhuesin me trekëndëshin dhe kërkoni kuarcin atje, borgjezia e quajnë atë " Kristal“Ja ku është dhe vendoseni në diagram pranë përfundimeve XTAL.

Mjerimi kryesor i ndërfaqes Proteus Problemi është se klikimi i djathtë gjithmonë së pari zgjedh dhe më pas fshin komponentin, dhe klikimi i majtë vendos një të ri të të njëjtit lloj. Është tmerrësisht e bezdisshme, Multisim gjithçka është bërë shumë më e përshtatshme dhe tradicionalisht, por, mjerisht, Multisim jo aq i fuqishëm.

Tani lëvizni kursorin te kunja e kuarcit dhe lidheni me kutinë XTAL1 procesor, bëni të njëjtën gjë me këmbën e dytë të kuarcit, vetëm në XTAL2. Tani na duhen konders, shkoni përsëri në bibliotekë dhe shikoni atje Kondensatorë. Do të ketë një listë të madhe të Conders të vërtetë, zgjidhni një SMT kondensator me kapacitet rreth 33 pF. Në dritaren e sipërme në të djathtë do të ketë përcaktimin e saj në diagram, dhe më poshtë janë dimensionet e përgjithshme, ose më mirë jastëkët e kontaktit për vulosjen e tij.

Nga rruga, shikoni dritaren pikërisht poshtë shiritit të kërkimit. A e shihni linjën atje Modelimi primitiv? Aty ka primitivë virtualë. Ata nuk kanë një strehë, kështu që kur shtrojnë tabelën e qarkut të printuar do të shfaqen një gabim, por nëse nuk do të shtroni tabelën, por thjesht dëshironi të modeloni qarkun, atëherë është më mirë ta merrni atë. - vlerat e tij mund të ndryshohen sipas dëshirës.

Ngjitni disa përçues pranë kuarcit dhe varni në këmbët e kuarcit me një terminal, dhe bashkoni të dytin dhe varni në tokë. Ku të merrni tokë? Pyetje e mirë:). Shikoni në shiritin e majtë të veglave për këto dy gjëra që duken si etiketa, të quajtura Modaliteti i terminalit. Shtypeni, një panel do të hapet pikërisht pranë tij, në të majtë, ku duhet të zgjidhni një rresht TOKE kjo është toka. Instaloni atë kudo që është e përshtatshme për ju. Fuqia në të njëjtin vend - ky është voltazhi i furnizimit të qarkut. Zakonisht është e zakonshme, por ndonjëherë mund të ketë probleme me faktin që qarku ka furnizim të shumëfishtë me energji (si, për shembull, në një kompjuter, ka 5 dhe 12 dhe 3.3 volt dhe në përgjithësi ka shumë tensione të ndryshme) .

Tjetra ju duhet të montoni një qark të rivendosur. Proteus nuk ka nevojë për këtë, gjithsesi do të funksionojë normalisht, por një qark i vërtetë ka nevojë për të. Kjo bëhet thjesht. Ne instalojmë një rezistencë dhe kondensator. Kur ndizet, kur kondensatori nuk është i ngarkuar, rezistenca e tij është zero dhe prodhimi RST Furnizohen +5 volt, d.m.th. logjike 1, dhe sapo të ngarkohet kondensuesi, kjo do të ndodhë në disa milisekonda, atëherë këmba përmes rezistencës do të shtrihet në tokë, dhe kjo është një zero e vërtetë logjike dhe përqindja do të fillojë në modalitetin normal.

Bëni gjithçka si në foto dhe filloni të bashkëngjitni butonat në pajisjen tonë. Është më mirë të varesh në portin 1. Pse? Dhe nuk nevojiten rezistorë shtesë. Fakti është se në portin C51 0 është bërë me aftësinë për të punuar në autobusin e të dhënave, që do të thotë se ka të ashtuquajturën gjendje Z. Kjo është kur dalja nuk është as 1 as 0, ka një rezistencë të lartë (rezistencë), pothuajse një thyerje, por porti mund të nuhasë autobusin pa paralajmërim në këtë moment për vlerat që fluturojnë atje, pa u dorëzuar ose ndërhyrë. me pajisje të tjera.

Porta 3 është e varur me të gjitha llojet e pajisjeve periferike shtesë dhe porta 2 nuk është shumë e përshtatshme në modelin proteus. Prandaj, ne përdorim portin 1 :))))). Kërkoni një çelës ose buton në bibliotekë. Më pëlqen komponenti i butonit, prandaj e përdor. Do të vendos katër butona dhe do t'i var në kunjat P1.0, P1.2, P1.4, P1.6 dhe do t'i vendos kunjat e tjera të butonit masivisht në tokë. Si do të funksionojë?

Është e thjeshtë! Së pari, nxjerr një në port për të gjitha daljet. Këmbët nga brenda tërhiqen menjëherë lart në njësinë logjike. Tani, për të lexuar të dhënat, mjafton të marrim vlerën nga regjistri i portit P1 dhe nëse shtypim ndonjë nga butonat, atëherë kjo këmbë vendoset fort në tokë, duke e kapërcyer tërheqjen e brendshme në një. ato. butoni i shtypur jep një zero në bitin e tij në portë. Ky është parimi i zbulimit të shtypjes së butonit në të gjithë mikrokontrolluesit. Unë gjithashtu rekomandoj fuqimisht që të anashkaloni butonat me kondensatorë 40pF - nuk do të ketë alarme false nga zhurma e impulsit.

Por kjo është vetëm në pajisjet reale, në Proteuse Ende nuk ka rëndësi, por do ta shtoj. Kjo është e gjitha, futja e të dhënave është gati. Tani duhet të nxjerrim një përfundim. Për dalje, ju mund të varni në mënyrë marrëzi LED virtuale në këmbë dhe gjithashtu t'i mbyllni ato virtualisht, por kjo është sjellje e keqe, megjithëse, nuk e argumentoj, shpesh ndihmon në korrigjimin e programit.

Unë preferoj të përkëdhel veten me të dashurit e mi UART ohm Me fjalë të tjera, një terminal. Le të shkojmë në seksionin e instrumenteve virtuale. Kërkoni një ikonë me një pajisje shigjete të vizatuar në shiritin e majtë të veglave dhe shkoni atje. Ju do të keni një listë të të gjitha mbeturinave që mund të përdorni. Këtu keni një voltmetër, një ampermetër, një oshiloskop, një analizues dixhital dhe pajisje të ndryshme shumë të specializuara si një monitor protokolli SPI ose I2C. Për argëtim, merrni një oshiloskop ( oshiloskop) dhe vareni me një kanal në dalje TxD. Ne gjithashtu kemi nevojë Terminali virtual. Zgjidhni atë dhe ngjisni atë në diagram. Tani lidhni daljet e tij me daljet e procesorit, në mënyrë tërthore. Rx me Tx, Tx me Rx.

Gati! Epo, për lumturi të plotë, vendosni një LED tjetër në port P2. Si të lidhni LED me portat e procesorit? Po, shumë e thjeshtë! Ju varni plusin e LED në furnizimin me energji elektrike, dhe minusin në rezistencë, dhe kjo rezistencë është tashmë në daljen e procesorit. Për të ndezur diodën, duhet të nxirrni 0 në këtë këmbë.

Atëherë diferenca e tensionit midis tensionit të furnizimit dhe tensionit zero në këmbë do të jetë maksimale dhe dioda do të digjet. Kërkoni në komponentë LED Epo, futeni ashtu siç ju thashë. Ndoshta e kam vënë re tashmë se më shpesh ne përcaktojmë ose vendosim një ngjarje me zero, sesa me një. Kjo për faktin se është më e lehtë të detyrosh zero sesa të tërheqësh këmbët lart. Por kjo nuk është gjithmonë rasti, për shembull, kontrollorët e familjes AVR Ata dinë t'i vendosin fort këmbët në zero dhe në tensionin e furnizimit, kështu që ju mund të ndizni diodën atje me një. Për ta bërë këtë, do t'ju duhet ta ktheni atë dhe ta varni me skajin tjetër përmes një rezistence Fuqia, dhe në tokë.

Pra, ne vizatuam pjesën e harduerit. Është koha për të filluar konfigurimin dhe korrigjimin e gabimeve.

Zgjidhni mikrokontrolluesin dhe klikoni dy herë mbi të, dritarja e vetive do të hapet.
Paketa PCB- ky është lloji i strehimit, është i rëndësishëm kur vendosni bordin e qarkut të printuar. Le të jetë DIL40

Skedari i programit– ky është skedari aktual i firmuerit. Këtu duhet të futni shtegun për në skedarin hex.

Frekuenca e orës– frekuenca me të cilën do të funksionojë procesori.

Në jetën reale, frekuenca varet nga kuarci, ose nga gjeneratori i integruar i orës. NË Proteusështë ekspozuar këtu. Mos harroni ta vendosni saktë, pasi vlerat e paracaktuara shpesh ndryshojnë nga ato që do të përdorni.
Vendosni frekuencën e kërkuar të procesorit dhe shkruani shtegun për në firmware, dhe kjo përfundon konfigurimin e qarkut. Mund të filloni korrigjimin e gabimeve.

Klikoni butonin me ikonën Luaj si në një magnetofon. Gjithçka është e thjeshtë këtu, pa komplikime. Do të vërej vetëm se mënyra hap pas hapi është thjesht një nisje me ndërprerje me një vonesë të lehtë kohore. Për të korrigjuar, duhet të përdorni korrigjimin e kodit.

Tani skema juaj funksionon. Ju mund të vëzhgoni proceset që ndodhin në të. Nëse zgjidhni voltmetrin në shiritin e veglave, do të shihni tensionin ose mund të matni rrymën nëse përdorni ampermetrin. Sheshet me ngjyra që ndizen në këmbët e procesorit janë nivele logjike. Blu është zero, aka toka. E kuqja është logjike, dhe gri është një rezistencë e lartë, aka Hi-Z.

Në parim, kjo tashmë është e mjaftueshme për të korrigjuar funksionimin e pajisjes. Çfarë, ne korrigjojmë programin Keil uVision(nëse po flasim për C51) ose në Studio AVR, përpiloni dhe shikoni se çfarë ndodh. Kjo funksionon shkëlqyeshëm në pajisje të thjeshta me një kontrollues dhe parzmore.

Por kur keni disa mikrokontrollues ose një kontrollues dhe një pajisje shumë të zgjuar që punon në sistemin tuaj, për shembull një çelës Dallas, atëherë fillojnë hemorroidet serioze, pasi është e vështirë të thuhet se në cilën moment të kohës cili nga kontrollorët po bën çfarë. Në një situatë të tillë, korrigjuesi i brendshëm do të na vijë në ndihmë. Proteus, i cili ju lejon të korrigjoni një program duke përdorur kodin burimor pa u larguar nga simulimi.

Shtimi i burimit.
Shkoni te menyja dhe kërkoni artikullin atje Burimi dhe me guxim e goditi me një dorë të palëkundur. Zgjidhni Shto/Hiq burimin dhe shtoni burimin. Ju këshilloj menjëherë, në mënyrë që përpiluesi të mos bëhet budalla, kodet burimore duhet të ndiqen përgjatë shtigjeve të thjeshta, pa hapësira dhe shkronja ruse. Për shembull, si imja: " d:\coding\C51\hack_2.asm"Kur shtoni burimin, mos harroni të tregoni përpiluesin me të cilin do të duhet të përpilohet. Për këtë rast në "Mjetet e gjenerimit të kodit" duhet të tregojë " ASEM51”, pra kompajleri i arkitekturës MCS-51.

Klikoni Ne rregull dhe në meny Burimi Do të shfaqet një artikull tjetër - skedari burimor i shtuar, duke zgjedhur të cilin redaktori do të hapet automatikisht dhe mund të korrigjoni shpejt tekstin e programit.

Cilësimet e përpiluesit.
Shkoni përsëri në menu Burimi dhe kërkoni artikullin " Përcaktoni mjetet e gjenerimit të kodit” janë opsionet e përpiluesit. Fillimisht ato janë konfiguruar në mënyrë të shtrembër - në " Bëni rregulla"hyni në linjë" Linja e komandës” dhe nxirrni të gjitha mbeturinat që janë atje. Thjesht lëreni “%1 ” pa thonjëza. ASEM51 infektimi inteligjent, do të shtojë skedarët e nevojshëm me përshkrimet e regjistrave dhe variablave, veçanërisht pasi e gjithë familja MCS-51 të gjitha adresat janë të njëjta.

Përpilimi
Klikoni në të njëjtën menu Burimi paragraf Ndërtoni të gjitha dhe merrni atë në dalje skedar hex, por të prodhuara në vend. Aty do të pulsojë dritarja e përpiluesit, e cila do të përmbajë informacione për gabimet dhe një numër të dhënash shërbimi.

Nisja
Nisni qarkun me një buton Luaj në panelin e poshtëm dhe menjëherë shtypni modalitetin pauzë ose hap pas hapi. Një dritare me kodin e programit duhet të hapet menjëherë, ashtu si në korrigjuesin me të cilin jeni njohur tashmë. Nëse nuk hapet, mund ta gjeni në meny Debug -> 8051CPU -> Kodi burim - U1

Do të ketë gjithashtu shumë gjëra të tjera të dobishme, të tilla si përmbajtja e regjistrave të procesorit ose memoria e programit/të dhënave.

Vrapim i kuq tip– nisja e kodit për ekzekutim.
Këmbë duke kërcyer mbi një budallallëk– ekzekutimi me procedura skipping
Këmba me shigjetë poshtë– ndiqni një udhëzim, bëni një hap.
Këmba me shigjetë lart– dilni nga nënprogrami.
Shigjeta e këmbës dhe përpara– ekzekutoni në kursor.
Rrethe me shigjeta– vendosja/heqja/çaktivizimi i pikave të ndërprerjes. Një pikë ndërprerjeje është një vend në një program ku programi juaj do të ndalet në gjurmët e tij dhe do të vazhdojë vetëm me pëlqimin tuaj - një gjë e domosdoshme në korrigjimin e gabimeve.


Kur shtoni një procesor të dytë në projekt, kodi i tij, regjistrat dhe memoria do të jenë aty, por ai do të thirret Kodi burimor – U2 e kështu me radhë.
Përveç kësaj, në drejtori Proteus ka një dosje MOSTRAT këtu ka një mori shembujsh të ndryshëm, shumë kompleks, që tregojnë aftësitë e sistemit ISIS Proteus.

Z Y.
E shkrova këtë artikull për revistën Hacker. Në një formë pak më ndryshe (pak më të detajuar) u botua në revistën për dhjetor 2007.

Proteus është një program universal me të cilin mund të krijoni pajisje të ndryshme elektronike virtuale dhe t'i simuloni ato. Ai përmban një bibliotekë të madhe të mikroqarqeve analoge dhe dixhitale, sensorë, elementë diskrete: rezistorë, kondensatorë, diodë, transistorë, etj. Ekziston gjithashtu një gamë e gjerë e komponentëve optoelektronikë: ekrane, LED, optoçiftues, etj.

Avantazhi dhe ndryshimi kryesor midis Proteus dhe programeve të tjera të ngjashme për simulimin e funksionimit të qarqeve elektrike është aftësia për të simuluar funksionimin e mikroprocesorëve dhe mikrokontrolluesve (MCU). Biblioteka Proteus përmban këto lloje kryesore të mikrokontrolluesve: AVR, ARM, PIC, Cortex.

Ashtu si çdo softuer tjetër i ngjashëm i krijuar për të simuluar funksionimin e qarqeve elektrike, ky softuer ka një numër instrumentesh matëse virtuale: ampermetra, voltmetra, vatmetër, oshiloskop, analizues logjik, numërues, etj.

Proteus gjithashtu ka mjete të integruara për zhvillimin e automatizuar të bordeve të qarkut të printuar dhe për krijimin e modeleve të tyre 3D.

Për të simuluar programin tonë të parë, na duhet vetëm një mikrokontrollues ATmega8, një rezistencë dhe një LED nga biblioteka.

Cilësimet Proteus 8.4

Çdo konfigurim fillon me fillimin. Në dritaren që shfaqet, klikoni në ikonën e një diode me një kondensator Kapja skematike(Dizajni i qarkut).

Pas kësaj, do të hapet një dritare me një fushë të zbrazët.

Tani le të shtojmë mikrokontrolluesin ATmega8, rezistencën dhe LED.

Modaliteti i paracaktuar është vendosur në modalitetin e duhur Modaliteti i komponentit prandaj, për të shkuar në menunë për zgjedhjen e elementeve elektronike dhe të tjera, thjesht klikoni në butonin P që ndodhet në panel PAJISJE(pajisje). Pas kësaj, do të hapet një dritare në të cilën duhet të zgjidhni nga menyja Kategoria(Kategoritë) IC-të e mikroprocesorit(mikroprocesorët), në Nën-Kategoria(Nënkategori) - Familja AVR. Më pas në dritare Rezultatet gjeni dhe zgjidhni MK ATMEGA8. Klikoni në butonin Ne rregull.

Pas kësaj do të shfaqet në menunë e dritares PAJISJE dhe tashmë mund ta tërhiqni me miun në zonën e punës.

Në mënyrë të ngjashme, shtoni një rezistencë dhe LED.

LED janë në kategori Optoelektronika(Optoelektronikë) dhe më tej në nënkategorinë LED. Në këtë shembull është zgjedhur jeshile. LED-GJELBËR.

Tani ne montojmë qarkun, siç tregohet në figurën më poshtë. Ne e lidhim rezistencën R1 me pinin e MK PC0, i cili është i lidhur me anodën e LED D1. Ne e lidhim katodën e LED me tokën. Elementi "tokë" është në menynë e skedave Modaliteti i terminaleve.

Për të ndryshuar vlerën e rezistencës së rezistencës R1, duhet të klikoni dy herë mbi të. Në dritaren që hapet, vendosni 300 Ohm në rresht Rezistenca(rezistencë).

Ju lutemi vini re se kunjat e mikrokontrolluesit në Proteuse janë grupuar në grupe të veçanta sipas portit për lehtësi. Sidoqoftë, kjo nuk korrespondon me vendndodhjen e tyre në një MK të vërtetë. Për më tepër, nuk ka terminale në të cilat furnizohet tension për të fuqizuar MK. Ky funksion është i instaluar si parazgjedhje.

Shkrimi i një programi në memorien e mikrokontrolluesit

Tani gjithçka që mbetet është të shkruajmë kodin tonë në MK virtual. Klikoni dy herë mbi të me miun dhe në atë të re që shfaqet, tregoni rrugën drejt skedarit me kodin. Gjeni vendndodhjen e skedarit duke klikuar në ikonën e dosjes së hapur në rresht Skedari i programit.

Në dosjen e projektit gjejmë dosjen Korrigjimi dhe në të zgjidhni një skedar me shtesën HEX. Pas kësaj, shtypni butonin Hapur.




Top