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
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