S
Sphinx
Guest
Hi All,Ik ben begonnen met het leren proteus.
Ik schreef een eenvoudig programma om een vertraging van circa.100uS
met behulp van onderbreken.
'Xtal = 12Mhz
Org 0000
sjmp start
Org 0bh
sjmp inter
start:
mov P1, # 0
mov IE, # 10000010b "Enable interrupt op Timer 0 overflow
mov TMOD, # 00000010b 'Kies Timer0 Herlaad modus
mov TH0, # 155 "Maak de timer begint bij 155 (255-155 = 100us)
mov TL0, # 155
SETB TR0 'Uitvoeren de timer
SETB p1.0
lus: sjmp lus
onder: 'Onderbreek dienst
cpl p1.0 'Toggle p1.0
RETI
EINDE
Ik gesimuleerd met behulp van dit programma Proteus, het werkte goed
Ik attatched een LogicAnalyzer aan het circuit in de proteus
zij geven correcte resultaten.
Maar toen ik geëxecuteerd de debuger in proteus en beginnen op te sporen in
de code (F11) Ik heb gemerkt dat het niet uitvoeren van het onderbreken na
de timer0 overflow en de p1.0 niet veranderen, hoewel zij hebben gewerkt
gedaan in de simulatie!
Wat is het probleem?
Bedankt
Ik schreef een eenvoudig programma om een vertraging van circa.100uS
met behulp van onderbreken.
'Xtal = 12Mhz
Org 0000
sjmp start
Org 0bh
sjmp inter
start:
mov P1, # 0
mov IE, # 10000010b "Enable interrupt op Timer 0 overflow
mov TMOD, # 00000010b 'Kies Timer0 Herlaad modus
mov TH0, # 155 "Maak de timer begint bij 155 (255-155 = 100us)
mov TL0, # 155
SETB TR0 'Uitvoeren de timer
SETB p1.0
lus: sjmp lus
onder: 'Onderbreek dienst
cpl p1.0 'Toggle p1.0
RETI
EINDE
Ik gesimuleerd met behulp van dit programma Proteus, het werkte goed
Ik attatched een LogicAnalyzer aan het circuit in de proteus
zij geven correcte resultaten.
Maar toen ik geëxecuteerd de debuger in proteus en beginnen op te sporen in
de code (F11) Ik heb gemerkt dat het niet uitvoeren van het onderbreken na
de timer0 overflow en de p1.0 niet veranderen, hoewel zij hebben gewerkt
gedaan in de simulatie!
Wat is het probleem?
Bedankt