??? 03/07/09 15:09 Read: times |
#163196 - Interrupts not working |
Hi experts, can suggest why interrupts are nor working when used to catch inputs from tact switches? My main program is a led matrix display, I used external interrupt 1 as enabler of interrupt 2 and interrupt 2 is used to catch the input from keyboard, evrytime time I activate interrupt 1 and 2, i dsbale them to prevent exeuting the more than one, then i used timer 1 to enable both interrupts again. I already used the push and pops to protect the registers. but still, it keeps on hanging and timer 1 does notseem be be working either.
isr0: debouncer: jnb p3.2,debouncer jb p3.7,ended MOV TMOD,#00100001B mov tl0,#0b0h mov th0,#03ch setb ET0 setb TR0 mov 50h,#00h mov 51h,#00h mov 52h,#00h setb it1 setb ex1 clr it0 clr ex0 sjmp tended ended: clr p3.7 mov 60h, 50h mov 61h, 51h mov 62h, 52h clr it0 clr ex0 tended:reti isr1: debouncer1: jnb p3.3,debouncer1 mov a, #00fh lcall n_delay mov r4, 50h cjne r4,#00h, get2nd mov 50h, p1 sjmp Endpoll get2nd: mov r4, 51h cjne r4,#00h, get3rd mov 51h, p1 sjmp Endpoll get3rd: mov r4, 52h cjne r4,#00h, Endpoll mov 52h, p1 setb p3.7 setb it0 setb ex0 Endpoll: reti tmr0: mov tl0,#0B0h mov th0,#03Ch xdec: djnz counter20,EndInterrupt mov counter20,#40 mov 50h,#00h mov 51h,#00h mov 52h,#00h clr p3.7 clr it1 clr ex1 setb it0 setb ex0 EndInterrupt: reti |
Topic | Author | Date |
Interrupts not working | 01/01/70 00:00 | |
EA ? | 01/01/70 00:00 | |
YEah, i also activated ea. | 01/01/70 00:00 | |
do not retype ... | 01/01/70 00:00 | |
Debounce and interrupts![]() | 01/01/70 00:00 |