Professional Documents
Culture Documents
Bashkesia e Instruksioneve e Mikroprocesoreve Tete Bitesh
Bashkesia e Instruksioneve e Mikroprocesoreve Tete Bitesh
Bashkesia e instruksioneve
Bashkesia e instruksioneve te mikroprocesorit 8085 eshte e perbere nga 246 instruksione, por per fillim
do te njihemi me vetem 40 instruksionet me te rendesishme. Per secilin instruksion te theksuar jane
dhene informata ne vijim: efektin qe e shkakton ai instruksion, kodi operues, madhesia e instruksionit e
shprehur ne numra te bajteve dhe menyra
e zbatueshme e adresimit. Gjithashtu, pas sqarimit te instruksionit eshte dhene nje shembull i vogel i
nxjerre nga ndonje program te asamblese. Ne keto shembuj jane dhene informacionet ne vijim:
Adresa e lokacionit te memories e krijuar ne sistemin heksadecimal (nje shifer ne sistemin
heksadecimal eshte ekuivalente me kater shifra te sistemit binar te numrave).
Permbajtja e lokacionit te memories e cila eshte paraprakisht e adresuar.
Instruksioni i krijuar ne asamble
Komentimi
Shkronja D eshte shkronja e pare e fj ales angleze destination qe ne perkthim do te thote qellim,
destinacion. Te ky instruksion destinacion per te dhenen paraqet ndonje regjister i pergjithshem, kodi
tre bitesh DDD i te cilit percaktohet me ane te tabeles 7.1.
7.5.2. Instruksionet aritmetike
Ne menyre harduerike mund te kryhen dy operacione aritmetike: mbledhja dhe zbritje. Gjate
ekzekutimit te ketyre operacioneve njeri nga operatoret ndodhet ne akumu lator, tjetri ne nje tjeter
regjister te mikroprocesorit. Gjithashtu, pas ekzekutimit te instruksionit, rezultati i fituar shkruhet ne
akumulator me cka humbet njeri nga operatoret.
7.5.3. Operacionet logjike
Ne fakt, me kete sekuence te instruksioneve kryejme operacionin logjik „NAND” mbi permbajtjen e
lokacioneve me adrese 8250Н dhe 8251Н dhe rezultati i fituar e shkruajme ne lokacionin me adrese
8252Н.
RRC (Rotate Right Carry) Rotacioni ne te djathte me ane te fl amurit (carry) do te thote zhvendosja e
biteve ne te djathte per nje vend, ashtu qe me i djathti, biti pa peshe hyne ne fl amurin C ndersa vlera e
fl amurit C dergohet ne vendin e bitit pa peshe, biti me ne te majte. Kjo eshte paraqitur ne fotografin
7.11.
Ne kete sekuence programore kryhet krahasimi ndermjet permbajtjes se regjistrave dhe nese keto dy
permbajtje jane te barabarta do te kemi kercim.
Kjo sekuence programore, ne fakt paraqet numerues, vlera e te cilit ne cdo hap zvogelohet per nji.
Pas cdo instruksioni, njeri nga regjistrat e pergjithshem do ta ndryshoj permbajtjen e tij. Te numri i
madh i instruksioneve ai ne fakt eshte akumulatori (LDA, STA, ADD, SUB, ANA, ORA, CMA, ROL, RRC), por
mund te jete edhe ndonje regjister tjeter (INC r, DCR r, MOV r1,r2 MVI r,data). Ne shembujt ne vijim pas
ekzekutimit te cdo instruksioni vertetohet permbajtja e regjistrave te pergjithshem te perdorur.
Shembulli 7.20: Jane dhene permbajtjet e regjistrave А=76Н dhe B=D4H .Llogarit permbajtjen e tyre pas
ekzekutimit te instruksioneve ne vijim:
AND B
CMA
DCR B
Zgjidhje:
Mbi permbajtjen e regjistrave А= 01110110В, В=11010100Н zbatohet operacioni logjik DHE.
Zgjidhje:
Ne kete shembull eshte me rendesi te dihen formatet e instruksioneve te instruksioneve te zbatuara.
Nese instruksioni aktual eshte i formatit te pare, atehere ne permbajtjen e numeruesit te programeve
shtohet nje per te fituar adresen e instruksionit te ardhshem.
Nese instruksioni aktual eshte i formatit te dyte, atehere shtohet dy, nese eshte i formatit te trete
shtohet tre.
Pas mbarimit te ekzekutimit te sekuences programore te dhene, vlera e numeruesit te programeve
eshte 8008Н.
Pjesa e dyte e programit i permban instruksionet qe duhet t’i bartin te dhenat nga pjesa e pare tek
pinat dales. Ne fillim, me te dy instruksionet MVI futet adresa e bajtit te pare nga pjesa e te dhenave te
regjistrit cift HL. Me instruksionin MOV А,М adresa nga cifti HL dergohet ne memorie, gjendet bajti i
deshiruar dhe vendoset ne akumulator. Me instruksionin CALL DOCNI 1 min. Mbahet permbajtja e
akumulatorit per nje minute aq sa duhet te ndricoje drita e kuqe dhe e gjelber. Nese nuk thirret ky nen
program, permbajtja e akumulatorit shume shpejt do te ndryshoj (per kohen prej disa ns) qe nuk eshte
kohe e mjaftueshme per tu ndezur dritat e semaforit. Ne hapin e radhes (INX H) permbajtja e cift
regjistrit rritet per nje, me c’rast e fitojme adresen e bajtit te dyte 01010011 nga pjesa e te dhenave.
Procedura e bartjes se bajtit nga memoria ne akumulator, e me tej deri te porta dalese perseritet
gjashte here (per cdo bajt ne vecanti te pjeses se te dhenave). Ne fund, me instruksionin JUMP VRTI e
gjithe kjo perseritet, perkatesisht ne semaforin S1 do te ndrit drita e gjelber dhe ne S2 drita e kuqe.
7.6.2 Krahasimi i kodeve
Ne porten dalese te kompjuterit jane lidhur 8 led dioda. Diodat jane jeshile dhe te kuqe, te radhitura
drejt njera afer tjetres.
RGRGRGRG G-green
R-red
Diodat ndricojne nese ne pinat e tyre dergohet njishe logjik. Ne porten hyrese te llogaritesit paralelisht
jane lidhur 8 nderpreres. Nese nderpreresi eshte i mbyllur, atehere pini lidhet me masen dhe kemi
gjendje te zeros logjike, kur ai eshte i hapur pini eshte i lidhur ne furnizim dhe kemi gjendje te njeshit
logjik. Kombinacioni 8-bitesh i portes hyrese krahasohet me permbajtjen e lokacionit te memories me
adrese 8250. Nese te dy bajtet jane te njejte, atehere rezultati eshte zero dhe aktivizohet fl amuri ZERO.
7.7. Komponentet integrues per sistemet e mikrokompjutereve 8085
Me paraqitjen e mikroprocesorit 8085, „Intel” paraqiti dizajne te reja te komponenteve integruese, qe
ishin komplet ne pajtueshmeri me mikroprocesorin 8085. Keto komponente integruese ndermjetesojne
ne komunikimin e mikroprocesorit me pajisjet periferike. Ato jane te njohur me emrin kontroler, sepse e
kontrolloj bartjen e te dhenave nga pajisjet periferike deri te mikroprocesori ose te kunderten. Shume jo
praktike do te ishte lidhja direkt e mikroprocesorit me pajisjet periferike. Nderfaqe-komponentet mund
te jene te programuara dhe te pa programuara. Komponentet e programuara permbajne disa bajt
memorie ( nje ose me shume), permbajtjen e te cilave e cakton vet programuesi. P.sh, ekziston bit qe
percakton se tete pinat e portes A te nderfaqe – komponentesh te jene hyrese apo dalese (njeshi per
hyrje ose zero per dalje). Gjate lidhjes se pajisjeve hyrese me mikroprocesorin duhet te sigurohet bufer i
te dhenave. Buferi ben lidhjen e pajisjeve periferike me magjistralen e te dhenave te mikroprocesorit
vetem
gjate kohes se instruksionit IN. Buferet mund te jene pjese e nderfaqe-komponenteve te programuara
ose te jene qarqe te vecanta integruese. Gjate lidhjes se pajisjeve dalese me mikroprocesorin perderen
latch te cilet duhet te zgjasin kohezgjatjen e te dhenave me shume se kohezgjatja e instruksionit OUT.
Kjo procedure eshte e domosdoshme nese dihet se instruksioni zgjat me pak se 100ml. Shpesh latch
ndodhet ne brendesin e nderfaqe-kontrolereve.
7.7.1. Nderfaqja-komponente 8212
8212 eshte i thjeshte, perdorim shumekahesh, komponent e pa programuar dhe perdoret ne cdo sistem
mikroprocesoresh 8085. Ky qark integrues mund te perdoret edhe per perdorim lokal ne sisteme tjera.
Ajo eshte e thjeshte sepse ben vetem bartjen e te dhenave nga e majta ne te djathte.
Kur 8212 punon si port hyres (pranon te dhena nga ndonje pajisje periferike hyrese dhe i dergon deri te
mikroprocesori), atehere radhitja e dergimit te sinjaleve eshte si vijon.
Pajisja hyrese e aktivizon pinin per lajmerim (strobe). Pas marrjes se lajmerimit, 8212 e hap porten
hyrese te dhenave DATA IN dhe te dhenat hyne ne 8212. Ne 8212 te dhenat mbesin deri sa 8212 te
kerkoj nderprerje nga mikroprocesori me aktivizimin e pinit INT. Nese mikroprocesori lejon nderprerje,
atehere aftesohet porta dalese e te dhenave (DATA OUT) dhe perfundimisht te dhenat arrijne ne
mikroprocesor. Ne fotografin 7.14. eshte treguar lidhja e kontrolerit 8212 kur ai punon si port hyrese.
Me rrathe eshte shenuar radhitja e dergimit te sinjaleve.
Porta A mund te jete hyrese, dalese ose porte dydrejtimeshe dhe te punoj ne regjimin e thjesht ose
strobe. Porta B mund te jete hyrese ose dalese (por jo edhe dydrejtimeshe) dhe mund te punoj ne
regjimin e thjesht ose strobe.
Porta C mund te jete porte shfrytezuese ose kontrolluese. Porta C mund te jete port shfrytezuese vetem
kur portat A dhe B punojne ne regjimin e thjesht. Atehere mund te zgjedhim se si te jene pinat e PC,
hyrese apo dalese. Nese cilado porte, A ose B, nuk punon ne regjimin e thjeshte, atehere porta C do te
jete kontrolluese dhe pinat e saj do te perdoren per bartje te sinjalit per lajmerim dhe vertetim. Ne
fotografin 7.16. eshte treguar permbajtja e regjistrit te komandave dhe rendesine e secilit bit te saj.
Nese porta C eshte kontrolluese, atehere nuk ka rendesi qe biti i trete dhe zero te regjistrit per komanda
jane 0 ose 1. Atehere ato i shenojme me X, gjendje e pa definuar. Gjithashtu edhe biti i katert do te jete
me X nese PA eshte dy drejtim.
Shembulli 7.23: Cakto permbajtjen e regjistrit te komandave te komponentit 8255 nese porta A eshte
dy drejtim, porta B eshte hyrese dhe punon ne regjimin e thjeshte.
Zgjidhje:
Figura 7.17. Permbajtja e regjistrit te komandave kur porta A eshte dy drejtim dhe porta B eshte hyrese
dhe strobe
Porta C eshte kontrolluese, sepse porta A nuk eshte ne regjimin e thjeshte. Kur porta C shfrytezohet si
port e kontrollit, atehere ne vend te informacionit te nevojshem, pinat e saj do te bartin sinjale te
kontrollit. Ato jane sinjale me ane te se cileve lajmerohet bartja e te dhenave te nevojshme ne portat A
dhe B dhe ne magjistralen e te dhenave. Pervec lajmerimit per bartje, ekzistojne sinjale te kontrollit me
ane te cilave vertetohet pranimi i dergeses se te dhenave. Ne tabelen 7.2. jane dhene shenjat e te gjitha
sinjaleve te kontrollit nga porta C per te gjitha regjimet e bartjes te portave A dhe B.
Ne fotografin 7.18. eshte paraqitur diagrami kohore e sinjalit kur njera nga te dyja portat A ose B punon
si porte hyrese.