This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

int0 & int1

I use int0 & int1 to measure the width of a pulse. My program works fine in the simulator with inputs from an include file. When I run the program on a breadboard using an ATMEL AT89C1051 I do not get a response to the external interrupt inputs. I can see these strobes with a 'scope. I have put p1.x toggles in the two isr's involved and do not see any toggling. In my init part of the program I do select edge triggering, int0 & int1 enabled, master interrupt enabled. Does anyone know what more must be done for this mode of operation? - ATMEL chip, A51 assembler, external interrupts.

Parents
  • The mystery of the non-functioning INT0 & INT1 interrupts has been solved!
    The 89ATC1051 only has one timer, timer 0, whereas I was under the impression that it had two. I was using timer 1 and therefore its special function registers. As the documentation says if you use non-defined SFRs you will get unpredictable results. I fixed it by programming an 89ATC2051. This was before I analysed the symptoms. It would probable have worked on an AT89C1051U, which is the part superceding the obsoleted 89ATC1051.

Reply
  • The mystery of the non-functioning INT0 & INT1 interrupts has been solved!
    The 89ATC1051 only has one timer, timer 0, whereas I was under the impression that it had two. I was using timer 1 and therefore its special function registers. As the documentation says if you use non-defined SFRs you will get unpredictable results. I fixed it by programming an 89ATC2051. This was before I analysed the symptoms. It would probable have worked on an AT89C1051U, which is the part superceding the obsoleted 89ATC1051.

Children
No data