Proteus ja keskeyttää debuging?

S

Sphinx

Guest
Hi All,Olen alkanut oppia Proteus.
Kirjoitin yksinkertainen ohjelma tehdä viivytyksettä approx.100uS
käyttäen keskeyttää.

"Xtal = 12Mhz
Orgiin 0000
sjmp aloittaa
Org 0bh
sjmp inter

alkaa:
mov p1, # 0
mov IE, # 10000010b Ota keskeyttää on Timer 0 overflow
mov TMOD, # 00000010b "Valitse Timer0 Päivitä tila
mov TH0, # 155 "Tee ajastin aloittaa 155 (255-155 = 100us)
mov TL0, # 155
SETB TR0 'Run ajastin
SETB p1.0
loop: sjmp loop

inter: "Keskeytä palvelun

cpl p1.0 "Toggle p1.0
reti
END

I simuloitava tämän ohjelman avulla Proteus, se toimi hyvä
I attatched yksi LogicAnalyzer, että virtapiiri on Proteus
se antaa vääriä tuloksia.

Mutta kun i täytäntöönpanokirjaan debuger vuonna Proteus ja alkaa jäljittää osaksi
koodi (F11) Olen huomannut, että se ei suorita keskeyttää jälkeen
että timer0 overflow ja p1.0 ei muutu, vaikka se on toiminut
Tehty simulointi!

Mikä on vika?

Kiitos

 
Cross-komennus ei ole sallittua.
Yksi virka / aihe.
Toinen on poistettu!erickki

 
Farao Egyptin

N: o vian.Ongelmana on ....katkaisevat hyvin vaikea jäljittää käyttäen vaiheittaiset monien emulators.Ja älä unohda Proteus on ohjelmisto simulaattori.

Sallikaa sanoa (vaikka et ole määritelty noin joissa mikro käytät) olet työskennellyt 8051-ytimeen.

Ohjelma on yksinkertainen:
edustajakokouksenne koodi asetetaan timer0 keskeyttää lippu ja reload rekisterit, sitten kirkastuu sataman p1.0 ja lopulta menee silmukan ikuisesti.
Jokainen 100us ajastin ylikuormitukselta ja Timer0 keskeyttää syntyy.
Keskeytyspyyntölinjan rutiini tehdä täydentää edeltävään tilaan p1.0.Tuloksena pitäisi olla neliöitä aalto on ajan 200us (5KHz).

Jos haluat nähdä keskeyttää täytäntöönpanovaltiossa, käytä breakpoints.

Joten, käytä CTRL F12; suoritintehon lähdekoodin valintaikkuna on avoinna.

Nyt, valitse yli rivi "cpl p1.0".Tämä on ensimmäinen rivi palveluksessasi keskeyttää rutiinia.Napsauta F9; punainen Check Point olisi ilmestyi vasemmalle yli koodi rivillä.

Lopuksi paina F12.Sinun keskeyttää rutiini olisi jäljittää nyt ja voit mitata aikaa keskeyttää annetun valtion bar.

En koe koodistasi, mutta jos ne toimivat, edellä mainittu menettely olisi avulla voit jäljittää keskeyttää.

Toivomme, että tämä auttaa jotenkin

james

 
Kiitoksia

Käytän 89C2051 UC

Tämä auttaa minua.

Aika 102 meille

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Hymyillä" border="0" />
Kiitos jälleen,
Hei
AMR

 

Welcome to EDABoard.com

Sponsor

Back
Top